Задача 10 урок 11
Primary tabs
Задача 10 урок 11
Пользователь вводит целые числа в цикле (разные: четные, нечетные, положительные, отрицательные в любом порядке и количестве). Сохраните в переменные первые три отрицательных нечетных числа, сложите их, выведите сумму на экран и завершите цикл.
var a, b, c, d, f: integer;
begin
f :=0;
while (f<3) do
begin
write('vvedite celoe chislo:');
readln(d);
if (f = 0) AND ((d < 0) AND (d mod 2 = -1)) then
begin
a := d;
f := f + 1;
end
else if (f = 1) AND ((d < 0) AND (d mod 2 = -1)) then
begin
b := d;
f := f + 1;
end
else if (f = 2) AND ((d < 0) AND (d mod 2 = -1)) then
begin
c := d;
f := f + 1;
writeln('summa =', a + b + c);
end;
writeln('f =', f);
end;
readln();
end. - Log in to post comments
- 2139 reads
vedro-compota
Wed, 08/04/2021 - 10:01
Permalink
дублирование кода
сейчас имеется сильное дублирование кода, а именно фрагмента:
_____________
матфак вгу и остальная классика =)
boris68
Wed, 08/04/2021 - 14:58
Permalink
Тогда давайте вот так:
var a, b, c, d, f: integer; begin f :=0; while (f<3) do begin write('vvedite celoe chislo:'); readln(d); if ((d < 0) AND (d mod 2 = -1)) then begin a := b; b := c; c := d; f := f + 1; writeln('f =', f); end; end; writeln('summa =', a + b + c); readln(); end.vedro-compota
Thu, 08/05/2021 - 19:05
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)