Мы ищем максимальное число, кратное 3. Но в данной программе нет проверки на максимальное число.
Если мы введём кратные числа трём в таком порядке: 24,9,3,
то мы получим ответ 3. Но оно не будет максимальным кратным, т.к 24 должно быть максимальным.
Внёс изменения в программу, добавив переменную max, которая не использовалась.
var n,k,max:integer;
begin
k := 0;
repeat
write('Введите числа: ');
readln(n);
if (n mod 3=0) and (n>max) then
k := n;
max:=n
until n=0;
writeln('Максимальное число кратное 3: ', k);
end.
n - вводимые числа, которые проверяются на кратность 3.
k - переменная, в которую записывается число n, которое кратное 3.
max - записывает в себя максимальное число, кратное трём. В дальнейшем, чтоб цикл не допускал кратные числа n, которые меньше max.
var i:integer;
begin
writeln('Введите оценку'); readln(i);
case i of
1: writeln('Единица');
2: writeln('Двойка');
3: writeln('Тройка');
4: writeln('Четверка');
5: writeln('Пятерка');
else writeln('Нет такой оценки');
end;
readln;
end.
Альтернативная задача
var i:integer;
begin
writeln('Введите оценку'); readln(i);
if i = 1 then writeln('Единица')
else if i = 2 then writeln('Двойка')
else if i = 3 then writeln('Тройка')
else if i = 4 then writeln('Четверка')
else if i = 5 then writeln('Пятерка')
else writeln('Нет такой оценки');
readln;
end.
Объяснение:
Поделитесь своими знаниями, ответьте на вопрос:
:заполнить массив нулями и единицами, при этом данные значения чередуются, начиная с нуля.
var a: array [1..20] of integer;
i:integer;
begin
for i:=1 to 20 do
if i mod 2 = 0 then a[i] := 1 else a[i] := 0;
writeln (a)
end.