Задача 2 Урок 11
Primary tabs
http://fkn.ktu10.com/?q=node/7341
Пользователь вводит целые числа. Пока он не введёт число большее 15, в ответ на каждое введённое число выводите сумму этого числа и предыдущего введённого им числа, если же введённое число больше 15, то цикл необходимо завершить, не выводя в ответ сумму.
Первое введенное пользователем число можно сложить с единицей.
var s, i, k, Q, W: integer;
begin
i := 0;
s := 0;
k := 2;
Q := 0;
W := 0;
while(i < 15) do
begin
writeln('vvedi celoe chislo:');
readln(i);
if((k mod 2)=0) then
begin
Q := i
end
else
begin
W := i
end;
k:=k+1;
if(i < 15) then
begin
if((k mod 2)=0) then
begin
s := Q + i;
writeln('summ = ',s);
end
else
begin
s := W + i;
writeln('summ = ',s);
end;
end;
end;
writeln('bb');
readln();
end. - Log in to post comments
- 4431 reads
vedro-compota
Sun, 07/25/2021 - 13:42
Permalink
if((k mod 2)=0)
в задаче ничего про четность не сказано
_____________
матфак вгу и остальная классика =)
jl8qy9kd_pro
Mon, 07/26/2021 - 22:15
Permalink
RE
var s, i, k, Q, W: integer; begin i := 0; // переменная вводимая пользователем s := 0; // переменная для вывода суммы k := 2; // переменная триггер для перезаписи Q и W с пропуском в 1 шаг Q := 0; // переменная где хранится введеная число свежее/прошлое W := 0; // переменная где хранится введеная число прошлое/свежее while(i < 15) do begin writeln('vvedi celoe chislo:'); readln(i); if((k mod 2)=0) then // условие для поочередной перезаписи переменных Q W begin Q := i end else begin W := i end; k:=k+1; // каждую итерацию увеличиваем k для условия выше if(i < 15) then begin if((k mod 2)=0) then begin s := Q + i; writeln('summ = ',s); end else begin s := W + i; writeln('summ = ',s); end; end; end; writeln('bb'); readln(); end.vedro-compota
Tue, 07/27/2021 - 18:46
Permalink
не по условию
не по условию, проверить ещё раз
_____________
матфак вгу и остальная классика =)
jl8qy9kd_pro
Wed, 07/28/2021 - 11:18
Permalink
RE
var s, i, Q, W: integer; k: boolean; begin i := 0; // переменная вводимая пользователем s := 0; // переменная для вывода суммы k := true; // переменная триггер для перезаписи Q и W с пропуском в 1 шаг Q := 0; // переменная где хранится введеная число свежее/прошлое W := 0; // переменная где хранится введеная число прошлое/свежее while(i < 15) do begin writeln('vvedi celoe chislo:'); readln(i); if(k) then // условие для поочередной перезаписи переменных Q W begin Q := i; k:=false; // замена флага чтобы в след итерации тут не проходить end else begin W := i; k:=true; // замена флага чтобы в след итерации тут не проходить end; if(i < 15) then begin if(k) then s := Q + i else s := W + i; writeln('summ = ',s); end; end; writeln('bb'); readln(); end.vedro-compota
Sun, 08/01/2021 - 12:52
Permalink
переделать как в видео
переделать как в видео
_____________
матфак вгу и остальная классика =)
jl8qy9kd_pro
Mon, 08/02/2021 - 11:51
Permalink
RE
var W, i :integer; begin i := 0; while(i <= 15) do begin W := i; writeln('vvedi celoe chislo '); readln(i); if(i <= 15) then writeln('last(',W,') + ','new(',i,') = ',W + i); end; readln(); end.vedro-compota
Tue, 08/03/2021 - 18:57
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)