В заданном массиве, состоящем из 2014 неотрицательных целых чисел, которые не превышают 10 000, как написать алгоритм на языке программирования Паскаль для нахождения и вывода суммы всех трёхзначных чисел, десятичная запись которых оканчивается на 9, но не на 99? Если таких чисел в массиве нет, какая должна быть выводимая программа величина –1?
Информатика 11 класс Алгоритмы и структуры данных алгоритм Паскаль сумма трехзначных чисел массив неотрицательных целых чисел числа оканчиваются на 9 программа выводит -1
Чтобы решить задачу, нам нужно написать алгоритм на языке программирования Паскаль, который будет находить сумму всех трехзначных чисел из заданного массива, заканчивающихся на 9, но не на 99. Давайте разберем шаги, необходимые для реализации этого алгоритма.
Теперь давайте посмотрим на реализацию алгоритма на Паскале:
program SumThreeDigitNumbersEndingWith9; var arr: array[1..2014] of integer; // массив из 2014 чисел sum, count, i: integer; begin sum := 0; // инициализация суммы count := 0; // инициализация счетчика // Ввод данных for i := 1 to 2014 do begin read(arr[i]); // считываем элементы массива end; // Обработка массива for i := 1 to 2014 do begin if (arr[i] >= 100) and (arr[i] <= 999) and (arr[i] mod 10 = 9) and (arr[i] mod 100 <> 99) then begin sum := sum + arr[i]; // добавляем к сумме count := count + 1; // увеличиваем счетчик end; end; // Вывод результата if count > 0 then writeln(sum) // выводим сумму else writeln(-1); // выводим -1, если таких чисел нет end.
Таким образом, программа будет выполнять все необходимые шаги, чтобы найти сумму трехзначных чисел, заканчивающихся на 9, но не на 99, и выводить соответствующий результат.
Привет! Давай разберемся, как написать алгоритм на Паскале для твоей задачи. Нам нужно пройтись по массиву, найти все нужные числа и посчитать их сумму. Если таких чисел не будет, то выводим -1. Вот пример кода:
program SumThreeDigitNumbers;
var
arr: array[1..2014] of integer; // наш массив
sum, i: integer;
begin
// Здесь можно заполнить массив, например, с помощью ввода
// или инициализировать его заранее.
sum := 0; // начинаем с нуля
for i := 1 to 2014 do
begin
// Проверяем, что число трехзначное и оканчивается на 9, но не на 99
if (arr[i] >= 100) and (arr[i] < 1000) and (arr[i] mod 10 = 9) and (arr[i] mod 100 <> 99) then
sum := sum + arr[i]; // добавляем к сумме
end;
// Если сумма осталась равной нулю, значит, таких чисел не было
if sum = 0 then
writeln(-1) // выводим -1
else
writeln(sum); // иначе выводим сумму
end.
Теперь давай разберем, что здесь происходит:
1. Мы создаем массив arr из 2014 элементов.
2. Переменная sum для хранения суммы и i для цикла.
3. В цикле по всем элементам массива мы проверяем:
4. Если число подходит под условия, добавляем его к сумме.
5. В конце проверяем, если сумма равна нулю, выводим -1, иначе выводим сумму.
Надеюсь, это поможет тебе! Если есть вопросы, не стесняйся спрашивать!