1. Напишите программу на языке Паскаль, которая будет определять сумму трехзначных чисел, кратных 4, в заданной

  • 18
1. Напишите программу на языке Паскаль, которая будет определять сумму трехзначных чисел, кратных 4, в заданной последовательности натуральных чисел. Программа должна считывать числа с клавиатуры, количество введенных чисел неизвестно, и последовательность чисел заканчивается при вводе числа 0 (0 не входит в последовательность). Общее количество чисел не превышает 1000, а значения чисел не превышают 30000. Программа должна вывести только одно число - сумму трехзначных чисел, которые делятся на 4.

2. Напишите программу на языке Паскаль, которая будет определять количество чисел в заданной последовательности натуральных чисел.
Lyagushka
36
последовательности, которые являются палиндромами. Палиндромом называется число, которое читается одинаково слева направо и справа налево. Программа должна считывать числа с клавиатуры, количество введенных чисел неизвестно, и последовательность чисел заканчивается при вводе числа 0 (0 не входит в последовательность). Общее количество чисел не превышает 1000, а значения чисел не превышают 100000. Программа должна вывести только одно число - количество палиндромов в заданной последовательности.

Решение задачи 1 на языке Паскаль:

pascal
program SumOfMultiples;
var
num, sum: integer;
begin
sum := 0; // Инициализируем переменную суммы

repeat
readln(num); // Считываем число с клавиатуры

if (num >= 100) and (num <= 999) and (num mod 4 = 0) then // Проверяем условия трехзначности и кратности 4
sum := sum + num; // Если число удовлетворяет условию, добавляем его к сумме
until num = 0; // Продолжаем цикл, пока не будет введено число 0

writeln("Сумма трехзначных чисел, кратных 4: ", sum); // Выводим сумму на экран
end.


Решение задачи 2 на языке Паскаль:

pascal
program CountPalindromes;
var
num, count: integer;

function IsPalindrome(n: integer): boolean;
var
temp, remainder, reverse: integer;
begin
temp := n;
reverse := 0;

while temp <> 0 do
begin
remainder := temp mod 10;
reverse := reverse * 10 + remainder;
temp := temp div 10;
end;

IsPalindrome := (reverse = n);
end;

begin
count := 0; // Инициализируем переменную для подсчета палиндромов

repeat
readln(num); // Считываем число с клавиатуры

if IsPalindrome(num) then // Проверяем, является ли число палиндромом
count := count + 1; // Если число - палиндром, увеличиваем счетчик
until num = 0; // Продолжаем цикл, пока не будет введено число 0

writeln("Количество палиндромов в последовательности: ", count); // Выводим количество палиндромов на экран
end.


Обе программы выполняются последовательно: программа из задачи 1 сначала считывает последовательность чисел и находит их сумму, а затем программа из задачи 2 считывает эту же последовательность чисел и находит их количество палиндромов.