Написать программу, запрашивающую с клавиатуры целые числа и определяю-щую максимальное и минимальное из них. окончание ввода – число 0. протестиро-вать программу для последовательности: -3 5 6 -11 24 -1 0. паскаль
uses crt; var x,min,max: integer; beginclrscr; min: =0; max: =0; writeln('write x = '); readln(x); min: =x; max: =x; while x< > 0 dobeginreadln(x); if ((min > x) and (x< > 0)) then min: =x; if ((max < x) and (x< > 0)) then max: =x; end; writeln('max = ',max); writeln('min = ',min); readlnend.
Boss5519
15.11.2020
// pascalabc.net 3.3, сборка 1579 от 18.11.2017 // внимание! если программа не работает, обновите версию! type mountain=(string,integer); procedure print3highs(t: array of mountain); begin t.orderbydescending(x-> x[1]).take(3).println(newline) end; begin var a: array of mountain: =arr( rec('эльбрус',5642), rec('винсон',4892), rec('килиманджаро',5895), rec('эверест',8848), rec('аконкагуа',6959), rec('мак-кинли',6194)); print3highs(a) end. результат (эверест,8848) (аконкагуа,6959) (мак-кинли,6194)
borisova-Sergeevna
15.11.2020
1)способ, которому учат всех в школе. мало кто понимает, в чём его суть, но делают так: в твоём случае: 35/2=17 (1) 17/2=8(1) 8/2=4(0) 4/2=2(0) 2/2=1(0) 1/2=0(1) собираем в обратном порядке: 100011. 2)как всегда делал я: раскладывал число на сумму степеней двойки. это ряд чисел: 1,2,4,8,16,32,64,128,256,512,1024 - такого тебе пока точно хватит. 35=32+2+1 суть такова: давай проверим, правильно ли мы разложили его в двоичную систему: 100011. оно представляется так: 1*(32)+0*(16)+0*(8)+0*(4)+1*(2)+1*(1) получим тот же ответ. (32+2+1) если много тренироваться, это дойдёт до автоматизма.
uses crt; var x,min,max: integer; beginclrscr; min: =0; max: =0; writeln('write x = '); readln(x); min: =x; max: =x; while x< > 0 dobeginreadln(x); if ((min > x) and (x< > 0)) then min: =x; if ((max < x) and (x< > 0)) then max: =x; end; writeln('max = ',max); writeln('min = ',min); readlnend.