Дана последовательность целых чисел, оканчивающаяся числом 100. Определить, есть ли в последовательности число 77. Если такое число есть, то вывести «Yes». В противном случае вывести «No». Решить данную задачу двумя способами, ...
Дана последовательность целых чисел, оканчивающаяся числом 100. Определить, есть ли в последовательности число 77. Если такое число есть, то вывести «Yes». В противном случае вывести «No». Решить данную задачу двумя способами, используя циклы с пред и пост условиями.
Ответ(ы) на вопрос:
program spos;
uses crt;
var
numb:array [1..100] of byte; // для последовательности чисел
i,f:integer; //счетчик и переменная в качестве флага
begin
randomize;
f:=0;
for i:=1 to 100 do numb[i]:=random(101);// задает последовательность
for i:=1 to 100 do
begin
write(',',numb[i]); // вывод на экран последовательность(можно удалить)
if (numb[i]=77)then f:=1; // в случае удачной проверки f:=1, в противном останется 0
end;
if f=0 then writeln('Yes') else writeln('No');
end.
program spos;
uses crt;
var
numb:array [1..100] of byte; // для последовательности чисел
i,f:integer; //счетчик и переменная в качестве флага
begin
randomize;
f:=0;
for i:=1 to 100 do begin
numb[i]:=random(101);// задает последовательность
write(' ',numb[i]);//вывод на экран, можно удалить
end;
writeln;
i:=0;
repeat
i:=i+1;
if (numb[i]=77)then f:=1; // в случае удачной проверки f:=1, в противном останется 0
until i<100;
if f=0 then writeln('Yes') else writeln('No');
end.
1)Первый способ:
program one;
var a,b:integer;
begin
b:=0;
readln(a);
while a<>100 do
begin
if a=77 then
begin
b:=b+1;
readln(a);
end
else readln(a);
end;
if b>0 then writeln('Yes')
else writeln('No');
end.
2)Второй способ:
program one;
var a,b:integer;
begin
b:=0;
repeat
readln(a);
if a=77 then b:=b+1;
until a=100;
if b>0 then writeln('Yes')
else writeln('No');
end.
Не нашли ответ?
Похожие вопросы