В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
anna47983
anna47983
27.03.2023 14:24 •  Информатика

с этими заданиями 1)Автомат получает на вход три двухзначных числа. По этим числам строится новое число по следующим правилам: а) Вычисляются два числа — сумма старших разрядов заданных двухзначных чисел и сумма младших разрядов. б) Полученные числа записываются друг за другом в порядке возрастания (без разделителей). Выполните этот алгоритм для чисел: а) 31, 29, 87; б) 13, 82, 56; в) 56, 72, 91; г) 23, 98, 79.
2)Запишите алгоритм в пошаговой форме и в виде блок-схемы: “Дано натуральное число a > 2. Присвоить b значение 2 и проверить, делится ли a на b. Если делится, то сделать вывод, что число a — составное. Иначе проверить делимость a на b, где b последовательно принимает все целые значения от 3 до a – 1, каждый раз увеличиваясь на 1. Если a не делится ни на одно из этих чисел, сделать вывод, что число a — простое”.
3) Дан алгоритм, записанный в пошаговой форме:

Ввод: натуральное число a.

Шаг 1. Присвоить b значение 1.

Шаг 2. Присвоить b значение a ∙ b.

Шаг 3. Присвоить a значение a –1.

Шаг 4. Если a > 0, то перейти к Шагу 2.

Шаг 5. Стоп.

Результат: значение b.

Что вычисляет этот алгоритм? Нарисуйте его блок-схему. Что получится, если выполнить его для числа 4? Числа 5?

Показать ответ
Ответ:
David228666333
David228666333
07.06.2021 12:10

var

  a : array of integer;

  n, i, last : integer;

begin

  read (n);

  setlength (a, n);

  for i := 0 to n - 1 do

    read (a[i]);

  last := 0;

  for i := 0 to n - 1 do

    if a[i] <> 0 then

    begin

      a[last] := a[i];

      inc (last);

    end;

  setlength (a, last);

  for i := 0 to last - 1 do

    write (a[i], ' ');

end.

 

Суть такова. Имеем динамический массив. Считали массив, так как динамический, то от нуля все. Установили последнюю свободную ячейку 0. Идем по массиву и ищем ненулевое значение. Как только нашли, пишем его в свободную ячейку и увеличиваем занчение свободной ячейки на 1. При этом наши данные не затираются. После окончания всех операций в last лежит длина массива.

Статитечкий массив. 

var

  a : array [1..100] of integer;

  n, i, last : integer;

begin

  read (n);

  for i := 1 to n do

    read (a[i]);

  last := 1;

  for i := 1 to n do

    if a[i] <> 0 then

    begin

      a[last] := a[i];

      inc (last);

    end;

  dec (last);

  for i := 1 to last do

    write (a[i], ' ');

end.

 

0,0(0 оценок)
Ответ:
макс3095
макс3095
17.02.2023 02:10

var

  a : array [1..100] of integer;

  n, i : integer;

  flag : boolean;

begin

  write ('Введите количество чисел: ');

  readln (n);

  for i := 1 to n do

  begin

    write (i, '-ое число = ');

    readln (a[i]);

  end;

  for i := 1 to n do

  begin

     write (i, '-оечисло  ');

    if a[i] < 0 then

    begin

      write ('отрицательно');

      flag := true;

    end;  

   if a[i] mod 2 = 0 then

    begin

      write ('четно');

      flag := true;

    end;

    if not flag write ('никакое');

    flag := false;

    writeln;

end;

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота