
Pascal.ABC Если что спрошу про какую то строчку программы. Задача 1: Создать массив, заполнить
рандомными числами. Найти максимум, вывести массив и максимум. Задача 2: Посчитать количество элементов массива, равных максимуму. Задачи 3: Подсчитать разницу между суммой всех элементов с четными и нечетными индексами. - ДОПОЛНЕНИЕ: Как заменить цикл for циклом while?

Ответы на вопрос

Первая
const n=10;
var a:array[1..n] of integer;
i,t:integer;
begin
randomize;
for i:=1 to n do a[i]:=random(100);
for i:=1 to n do begin
writeln('a[',i,']=',a[i]);
if(t < a[i]) then
t:=a[i];
end;
writeln('Максимимум: ',t);
end.
Вторая
const n=5;
var a:array[1..n] of integer;
i,t,c:integer;
begin
for i:=1 to n do readln(a[i]);
for i:=1 to n do begin
if(t < a[i]) then begin
t:=a[i];
c:=0;
end;
if(t = a[i]) then
c += 1;
end;
writeln(c);
end.
Третья
const n=5;
var a:array[1..n] of integer;
i,t,c:integer;
begin
for i:=1 to n do readln(a[i]);
for i:=1 to n do begin
if(i mod 2 = 0) then
t:=t + a[i];
if(i mod 2 <> 0) then
c:=c + a[i];
end;
writeln(t-c);
end.
Дополнение
i:=1;
while i <= 20 do begin
i:=i+1;
end;
---------------------------------
for i:=1 to 20 do begin
end;



Давайте посмотрим на решение каждой из задач на языке Pascal ABC и рассмотрим, как заменить цикл for
на цикл while
.
Задача 1: Создать массив, заполнить рандомными числами. Найти максимум, вывести массив и максимум.
pascalprogram Task1; const N = 10; // Размер массива (можете изменить на нужное вам значение) var arr: array[1..N] of Integer; i, maxNum: Integer; begin // Заполняем массив рандомными числами Randomize; for i := 1 to N do begin arr[i] := Random(100); // Предполагаем, что числа будут в диапазоне от 0 до 99 end; // Находим максимум maxNum := arr[1]; for i := 2 to N do begin if arr[i] > maxNum then maxNum := arr[i]; end; // Выводим массив и максимум WriteLn('Массив:'); for i := 1 to N do begin Write(arr[i], ' '); end; WriteLn; WriteLn('Максимум: ', maxNum); end.
Задача 2: Посчитать количество элементов массива, равных максимуму.
pascalprogram Task2; const N = 10; // Размер массива (можете изменить на нужное вам значение) var arr: array[1..N] of Integer; i, maxNum, countMax: Integer; begin // Заполняем массив рандомными числами (можно скопировать код из предыдущей задачи) // Находим максимум (можно также скопировать код из предыдущей задачи) // Подсчитываем количество элементов, равных максимуму countMax := 0; for i := 1 to N do begin if arr[i] = maxNum then Inc(countMax); end; WriteLn('Количество элементов, равных максимуму: ', countMax); end.
Задача 3: Подсчитать разницу между суммой всех элементов с четными и нечетными индексами.
pascalprogram Task3; const N = 10; // Размер массива (можете изменить на нужное вам значение) var arr: array[1..N] of Integer; i, sumEven, sumOdd, diff: Integer; begin // Заполняем массив рандомными числами (можно скопировать код из предыдущих задач) // Подсчитываем сумму элементов с четными и нечетными индексами sumEven := 0; sumOdd := 0; i := 1; while i <= N do begin if i mod 2 = 0 then sumEven := sumEven + arr[i] else sumOdd := sumOdd + arr[i]; Inc(i); end; // Находим разницу diff := sumEven - sumOdd; WriteLn('Сумма элементов с четными индексами: ', sumEven); WriteLn('Сумма элементов с нечетными индексами: ', sumOdd); WriteLn('Разница: ', diff); end.
Замена цикла for
на цикл while
:
В примере третьей задачи выше показано, как заменить цикл for
на цикл while
. Просто инициализируем переменную i
вне цикла и используем цикл while
, чтобы повторять итерации до тех пор, пока условие i <= N
истинно. В каждой итерации мы увеличиваем i
с помощью Inc(i)
. Таким образом, этот цикл while
эквивалентен циклу for
.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







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