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

Составить блок схему алгоритма, который по введенному числу вычисляет корень квадратный, если число положительное и возводит его в квадрат в остальных случаях.

👇
Ответ:
крис897
крис897
15.04.2021

Блок-схема находится во вложении.

4,8(66 оценок)
Открыть все ответы
Ответ:
ShahKulu
ShahKulu
15.04.2021

#include <stdio.h>

#include <locale.h>

#include <time.h>

#include <stdlib.h>

int main()

{

   setlocale(0, "");

   srand(time(NULL));

   int A[20];

   int amount = 0;

   int size;

   printf("Введите размер массива: ");

   scanf("%d", &size);

   for (int i = 0; i < size; i++)

   {

       A[i] = rand() % 100 - 50;

       printf("%d\t", A[i]);

       amount += A[i];

   }

   printf("\n");

   if (amount > 50)

   {

       printf("%d", amount);

   }

   else

   {

       for (int i = 0; i < size; i++)

       {

           printf("%d\t", A[i]);

       }

   }

}

Объяснение:

#include <stdio.h> // Библиотека ввода - вывода

#include <locale.h> // Библиотека локализации

#include <time.h> // Библиотека для работы со временем

#include <stdlib.h> // Библиотека для рандома

int main()

{

   setlocale(0, ""); // Локализация

   srand(time(NULL)); // Сброс времени (каждый раз новые числа)

   int A[20]; // Создание целочисленного массива размером 20

   int amount = 0; // Создание целочисленной переменной amount, хранящей в себе сумму элементов массива

   int size; // Создание целочисленной переменной, хранящей в себе размер массива

   printf("Введите размер массива: "); // Вывод сообщения в консоль

   scanf("%d", &size); // Вводим размер массива с клавиатуры

   for (int i = 0; i < size; i++) // Идём по массиву

   {

       A[i] = rand() % 100 - 50; // Генерация случайных чисел

       printf("%d\t", A[i]); // Выводим массив

       amount += A[i]; // Суммируем элементы

   }

   printf("\n"); // Перенос на следующую строку

   if (amount > 50) // Если значение переменной amount > 50

   {

       printf("%d", amount); // Выводим сумму

   }

   else // Иначе

   {

       for (int i = 0; i < size; i++) // Идём по массиву

       {

           printf("%d\t", A[i]); // Выводим элементы массива

       }

   }

}

4,8(10 оценок)
Ответ:

Исходный код:

def pack(m, k, l, p=0):

   c = 0  # базовый случай когда еще не создавали контейнеры

   # если есть что еще фасовать по пакетам

   if m >= l:

       m -= l

       p += 1

       c, p, m = pack(m, k, l, p)  # продолжаем фасовать муку

   # если можно создать контейнер, то создаем

   if p >= k:

       p -= k  

       c += 1

   return c, p, m

m, k, l = map(int, input().split())

print(*pack(m, k, l))

Примечание:

Часть объяснений выполнено в виде комментариев в коде. Комментарии перед отправкой на проверку рекомендую стереть.

Описание переменных: m - остаток муки на текущий момент, k - кол-во пакетов в контейнере, l - кол-во муки в пакете. c - кол-во полных контейнеров, p - кол-во полных пакетов муки. При рекурсивном погружении фасуем по пакетам, при всплытии фасуем по контейнерам. Грамотная возвращение и передача параметров делают свое дело.

Cкрин из редактора кода тоже прикрепил)


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