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

Дан файл, заполненный целыми числами через пробел. Вывести в новый файл все: а)нечётные числа, кратные 5
б)числа, делящиеся на 7 и не делящиеся на 9. Написать программу в Pascal

👇
Открыть все ответы
Ответ:
Katya1143
Katya1143
30.08.2022

// Работает под Pascal ABC.NET
// Заводим переменные

var

// Нужно n типа целое для того, чтобы хранить ввод пользователя

 n: Integer;

// По условию задачи необходим массив. Тк N <= 20, то заводим от 1 до 20.

// В массиве будут храниться целые поэтому Integer

 a: Array [1 .. 20] of Integer;

// Также нам понадобится счетчик, указывающий на обрабатываемый элемент массива

 i: Integer;

begin

 // Считываем n с клавиатуры

 ReadLn(n);

 // Пусть первый элемент равен 1

 a[1] := 1;

 // Каждый последующий элемент массива

 for i := 2 to n do

   // Равен предыдущему элементу массива умноженному на 2

   a[i] := a[i-1] * 2;

 // Вывод каждого элемента массива через пробел

 for i := 1 to n do

   Write(a[i], ' ');

end.

 

4,6(95 оценок)
Ответ:
Элаизааа
Элаизааа
30.08.2022

// Pascal ABC.NET
var

 ans1, ans2, ans3: Integer;

procedure rec1(k: Integer);

begin

 if k < 1 then

   exit;

 if k = 1 then begin

   Inc(ans1);

   exit;

 end;

 if k mod 2 = 0 then

   rec1(k div 2);

 rec1(k-1);

end;

procedure rec2(k: Integer; visited: Boolean);

begin

 if k < 1 then

   exit;

 if (k = 1) and visited then begin

   Inc(ans2);

   exit;

 end;

 if k mod 2 = 0 then

   rec2(k div 2, visited or (k = 15));

 rec2(k-1, visited or (k = 15));

end;

procedure rec3(k: Integer);

begin

 if (k < 1) or (k = 12) then

   exit;

 if k = 1 then begin

   Inc(ans3);

   exit;

 end;

 if k mod 2 = 0 then

   rec3(k div 2);

 rec3(k-1);

end;

begin

 ans1 := 0;

 ans2 := 0;

 ans3 := 0;

 rec1(20);

 rec2(20, false);

 rec3(20);

 WriteLn('ответ на подзадачу 1: ', ans1);

 WriteLn('ответ на подзадачу 2: ', ans2);

 WriteLn('ответ на подзадачу 3: ', ans3);

end.

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