М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Анна230801
Анна230801
17.10.2022 00:20 •  Информатика

Скласти програму, яка б визначала площу кожної із зон відпочинку , які є в ПАРКУ РОЗВАГ. Створити геометричну модель задачі: Для будівництва сучасного ПАРКУ РОЗВАГ було виділено прямокутну земельну ділянку з сторонами 6км і 7,4 км. Для облаштування ЗООПАРКУ дизайнери виділили половину всієї ділянки. Для побудови МІСТЕЧКА АТРАКЦІОНІВ виділили квадратну частину того, що залишилося від земельної ділянки після створення ЗООПАРКУ. Вимірюючи утворену теріторію, проектувальники визначили, що периметр цього квадрата дор. 4,8км. На облаштування БОТАНІЧНОГО САДУ було отримано теріторію, площа якої становить 15 квадратних кілометрів і 4000 квадрвтних метрів. Визначити площу кожної зони відпочинку. Чи залишилося вільне місце для створення частини містечка, де можна розташувати ДИТЯЧЕ КАФЕ?

👇
Ответ:
uvar13131
uvar13131
17.10.2022

chk = True

a = float(input('Введите длину всего участка (км): '))

b = float(input('Введите ширину всего участка (км): '))

c = float(input('Введите периметр квадрата с аттракционами (км): '))

d = float(input('Введите площадь дендропарка (кв.км): '))

print()

if c/4 > a/2 and c/4 > b/2:

   print('Участок с аттракционами не помещается на выделенной площади!')

   chk = False

if d > a*b/2 + (c/4)**2:

   print('Участок с дендропарком не помещается на выделенной площади!')

   chk = False

if chk == True:

   print('Площадь зоопарка =', round(a*b/2,2), ' кв.км')

   print('Площадь дендропарка =', d, ' кв.км')

   print('Площадь участка с вттракционами =', round((c/4)**2,2), ' кв.км')

   print('Оставшаяся площадь =', round(a*b/2 - (c/4)**2 - d,2), ' кв.км')


Скласти програму, яка б визначала площу кожної із зон відпочинку , які є в ПАРКУ РОЗВАГ. Створити ге
4,6(1 оценок)
Открыть все ответы
Ответ:
vavilina000
vavilina000
17.10.2022

Задачка мне очень понравилась, прилагаю решение на C#, консольное приложение

Объяснение:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Археологи_строители

{ class Program

   {

       static void Main(string[] args)

       {

           //Объявляем и задаем переменные "M" и "N", а так же переменную для результата

           int M,N=new int();

           int MyResult = 0;

           Console.WriteLine("Ведите Текущее количество ступенек и Сколько их должно быть:");

           M = int.Parse(Console.ReadLine());

           N = int.Parse(Console.ReadLine());

           // Создаем массив для хранения данных о ступенях. M-Количество ступенек, Цифра - для колонок длины и высоты

           int[,] mass = new int[M,2];

           // Запись значений в массив

           for (int x = 0; x < M; x++){

               for (int y = 0; y < 2; y++){

                   if (y==0){  //Чисто для юзерфрендли отображения

                       Console.Write($"Введите значение Длины для ступеньки №{x + 1}= ");} else{

                       Console.Write($"Введите значение Высоты для ступеньки №{x + 1}= ");}

                   mass[x, y] = Convert.ToInt32(Console.ReadLine());}

                   Console.WriteLine();}

           /* Как оказалось, самый простой определить какую же ступеньку надо "поднимать"-

            * это вычислить площадь гипотетически "заполняемого" пространства над ступенькой и взять

            * наименьшее значение.

            *  

            * Итак, допустим если у нас 5 ступенек, то нам нам необходимо записать 4 значения

            * (в рамках лестницы) площади заполняемых ступенек.

            *  

            * Перемножаем Длину ступеньки N на высоту ступеньки N+1, M-1 раз и сохраняем в массив

            */

           int M2 = M; //Дублируем изначальное число ступенек для контроля цикла

           for (int z = 0; z <M2-N; z++)

           {

               int[] acreage = new int[M - 1];

               for (int x = 0; x < M - 1; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       acreage[x] = mass[x, 0] * mass[x + 1, 1];

                   }

               }

               /*

                * И так у нас есть все значения гипотетически заполняемой ступеньки.

                * Ищем минимальное значение площади  

                */

               int minAcreage = acreage[0];

               for (int i = 0; i < M - 1; i++)

               {

                   if (minAcreage > acreage[i])

                   {

                       minAcreage = acreage[i];

                   }

               }

               MyResult = MyResult+minAcreage; //Плюсуем данное значение в переменную результата

               // У нас есть минимальная площадь. Найдем номер данной ступеньки

               int IndexAcreage = Array.IndexOf(acreage, minAcreage);

               //"Достроим нужную нам ступеньку и запишем обновленные данные во временный массив"

               int[,] tempMass = new int[M - 1, 2]; //Он на размер меньше, т.к. и "полных" ступенек у нас стало меньше

               for (int x = 0; x < M - 1; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       //Ступеньки до IndexAcreage мы просто переписываем во временный массив

                       if (x < IndexAcreage)

                       {

                           tempMass[x, y] = mass[x, y];

                       }

                       //2 ступеньки от IndexAcreage мы превращаем в одну (застраивая их блоками)

                       else if (x == IndexAcreage)

                       {

                           tempMass[x, y] = mass[x, y] + mass[x + 1, y];

                       }

                       /* и после IndexAcreage мы та же копируем, но со сдвигом вправо, т.к. полноценных  

                        * ступенек стало меньше

                        */

                       else if (x > IndexAcreage)

                       {

                           tempMass[x, y] = mass[x + 1, y];

                       }

                   }

               }

               M = M - 1; //Поскольку ступенек теперь меньше, то и их фактическое число необходимо уменьшить

               for (int x = 0; x < M + 1; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       mass[x, y] = 0;

                   }

               }

               //переписываем данные в основной массив и запускаем следющую интерацию цикла

               for (int x = 0; x < M; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       mass[x, y] = tempMass[x, y];

                   }

               }

           }

           Console.WriteLine($"Минимально необходимое число блоков: {MyResult}");

           Console.ReadKey(true);

       }

   }

}

4,4(75 оценок)
Ответ:
annakot3
annakot3
17.10.2022

#include <iostream>

#include <vector>

#include <cstdlib>

#include <ctime>

using namespace std;

int main() {

srand(time(0));

setlocale(LC_ALL, "Russian");

vector< vector<int> > arr;

vector<float> average;

float result = 0;

arr.resize(10);

for (int i = 0; i < arr.size(); ++i) {

 arr[i].resize(10);

}

for (int i = 0; i < arr.size(); ++i) {

 for (int j = 0; j < arr[i].size(); ++j) {

  arr[i][j] = rand()%10;

  cout << arr[i][j] << " ";

  if (j == arr[i].size() - 1) {

   cout << endl;

  }

 }

}

for (int i = 0; i < arr.size(); ++i) {

 if (arr[i][arr[i].size() - 1] == 1) {

  for (int j = 0; j < arr[i].size(); ++j) {

   average.push_back(arr[i][j]);

  }

 }

}

for (int i = 0; i < average.size(); ++i) {

 result += average[i];

}

if (average.size() == 0) {

 cout << endl << "Единицы отсутствуют.";

 return 0;

}

result /= average.size();

cout << result;

}

4,4(35 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ