Урок 10.2 Задача 3
Primary tabs
В примере №2 есть код, перепишите его таким образом, чтобы сообщение "Игра окончена" выводилась, только если пользователь не угадал загаданное число.
Подсказка: используйте значение логического типа.
var a, b, i:integer;
begin
a := 5;
writeln('Угадайте число от 1 до 10 с трех попыток');
for i:=1 to 3 do
begin
writeln('Попытка №', i, ' выше число:' );
readln(b);
if (b = a) then
begin
writeln('Победа!');
break
end else
writeln('Не угадали!');
end;
writeln('Игра окончена!');
readln();
end.
Решение:
var a, b, i, step:integer;
begin
writeln('vvedite chislo ot 1 do 10');
readln(a);
writeln('Ugadajte chislo ot 1 do 10 s treh popytok');
step := 0;
for i:=1 to 3 do
begin
writeln('Popytka #', i, ' vashe chislo:' );
readln(b);
step:=step + 1;
if (b = a) then
begin
writeln('Pobeda!, vy ugadali s ', step, ' popytok');
break;
end
else
begin
if (step=3) then
begin
writeln('Ne ugadali!');
writeln('Igra okonchena!');
end
else
writeln('Ne ugadali!');
end;
end;
readln();
end.
- Log in to post comments
- 2712 reads
vedro-compota
Wed, 04/20/2022 - 20:22
Permalink
step дублирует i
if (step=3) then begin writeln('Ne ugadali!'); writeln('Igra okonchena!'); end else writeln('Ne ugadali!');-- убрать дублирование кода
writeln('Igra okonchena!');-- лучше вообще выводить после цикла
_____________
матфак вгу и остальная классика =)
avast36
Wed, 04/27/2022 - 20:08
Permalink
Исправил
var a,b,i:integer; begin writeln('Загадайте число от 1 до 10'); readln(a); writeln('Угадайте число от 1 до 10 с трёх попыток'); for i:=1 to 3 do begin writeln('Попытка №', i, ' ваше число:' ); readln(b); if (b = a) then begin writeln('Победа!, вы угадали с ', i, ' попыток'); break; end else writeln('Не угадали'); end; writeln('Игра окончена!'); readln(); end.vedro-compota
Wed, 04/27/2022 - 20:19
Permalink
writeln('Игра окончена!');
-- не по условию, сейчас эта строка работает всегда
_____________
матфак вгу и остальная классика =)
avast36
Thu, 04/28/2022 - 08:43
Permalink
Исправил
var a,b,i:integer; begin writeln('zagadajte chislo ot 1 do 10'); readln(a); writeln('Ugadajte chislo ot 1 do 10 s treh popytok'); for i:=1 to 3 do begin writeln('Popytka #', i, ' vashe chislo:' ); readln(b); if (b = a) then begin writeln('Pobeda!, vy ugadali s ', i, ' popytok'); break; end else writeln('Ne ugadali'); end; if a<>b then writeln('Igra okonchena!'); readln(); end.vedro-compota
Wed, 05/04/2022 - 20:21
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)