Функция калькулятора равносильна функции процессора. Обработка инфо.
Человек в этом случае является устройством ввода.
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.
<em>// PascalABC.NET 3.2, сборка 1437 от 03.05.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var n:=ReadInteger('Количество строк/столбцов в матрице:');
var a:=MatrRandom(n,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var ijv:=a.ElementsWithIndexes.Select(x->(x[0],x[1],abs(x[2])))
.MaxBy(x->x[2]);
for var i:=ijv[0] to n-2 do a.SwapRows(i,i+1);
for var j:=ijv[1] to n-2 do a.SwapCols(j,j+1);
SetLength(a,n-1,n-1); a.Println(4)
end.
<u>Пример</u>
Количество строк/столбцов в матрице: 5
87 -5 -38 -9 57
31 66 57 -25 40
11 66 99 -79 91
12 95 93 27 -97
33 -94 14 19 39
--------------------
87 -5 -9 57
31 66 -25 40
12 95 27 -97
33 -94 19 39
Var st,sk:integer;
begin
readln(st);
if st>1000
then sk:=trunc(st*0.95)
else if st>500 then sk:=trunc(st*0.97)
else sk:=st;
writeln(sk);
end.
Пример:
3000
2850
Нарисовал таблицу: по вертикали фамилии, по горизонтали - специальности.
Начал вычеркивать: щапов куприянов - не пилоты, поэтому ставлю "-". Петров куприянов - не штурманы - тоже минусы. Щапов и сошин - не радисты- еще 2 минуса. Сигов и щапов - не синоптики - еще 2 минуса (ну вот тут конечно натяжка с сыном) . Петров и Щапов - не бортмеханики - еще 2 минуса. У щапова осталась одна клетка - штурман. Ставлю в нее крест, а остальным в колонке штурман - нули (ну можно тоже минусы) . Далее - куприянов и сигов - не синоптики - еще минусы (кстати - тут проверка натяжки по сыну в санатории) . У куприянова остается 2 клетки- радист и бортмеханик, но он - не радист, потому что занимается боксом, т. е. он - бортмеханик. ставим крест ему в бортмеханик и 0 - в клетку радист.
Сошину и сигову - нули в клетку бортмеханик. Сигов - боксер, поэтому - не радист. Минус в клетку и у него остается только клетка пилот. Нули в клетку пилот петрову и сошину. В столбце радист осталась свободная клетка только у Петрова. Стало быть - сошин - синоптик