PROGRAM PRG3_4;
VAR N, X, MAX, I: INTEGER; BEGIN REPEAT WRITE('ВВЕДИТЕ ДЛИНУ ПОСЛЕДОВАТЕЛЬНОСТИ N = '); READLN (N); UNTIL N>0; MAX:= 0; REPEAT WRITE('ВВЕДИТЕ X = '); READLN (X); N:= N - 1 UNTIL (X<0) OR (N<= 1); IF X<0 THEN MAX:= X; FOR I:= 1 TO N DO BEGIN WRITE('BBEДИTE X = '); READLN (X); IF (X<0) AND(X>MAX) THEN MAX:= X; END; IF MAX = 0 THEN WRITELN('OTPИЦATEЛЬHЫX ЧИСЕЛ НЕТ') ELSE WRITELN('HAБОЛЬШЕЕ ИЗ ОТРИЦАТЕЛЬНЫХ ЧИСЕЛ MAX = ', MAX); END. Для решения задачи: - формируем тело программы и описываем переменные; - вводим длину последовательности N; - устанавливаем начальное значение МАХ по первому отрицательному числу; - последовательно считываем числа, и если очередное отрицательное число X больше МАХ, то перепрнсваиваем значение МАХ: = X; - в зависимости от МАХ выводим результат. Переменные: N - количество чисел; I - переменная цикла; X - очередное число; МАХ - наибольшее число. Задача 3.5 Вводится последовательность целых чисел, 0 - конец последовательности. Найти два наименьших числа. PROGRAM PRG3_5; VAR X, MIN1, MIN2: INTEGER; BEGIN WRITE('ВВЕДИТЕ X = '); READLN (X); MIN1:=X; MIN2:= X; {MIN2 > = MIN1} REPEAT IF X<= MIN1 THEN BEGIN MIN2:=MIN1; MIN1:=X END ELSE IF (MIN1<X) AND (X<MIN2) THEN MIN2:= X; WRITE('ВВЕДИТЕ X = '); READLN (X); UNTIL (X = 0); WRITELN('ДBA НАИМЕНЬШИХ ЧИСЛА РАВНЫ ', MIN1, 'И', MIN2); END. Для решения задачи: - формируем тело программы и описываем переменные; - устанавливаем начальное значение MIN1 и MIN2 по первому числу; - последовательно считываем числа и, если очередное число X меньше или равно MIN1(MIN1 < MIN2), то переприсваиваем значение MIN1 и MIN2; - если X попадает в интервал от MIN1 до MIN2, то переприсваиваем только MIN2; - выводим результат. Переменные: X - очередное число; MIN1 - первое наименьшее число; MIN2 - второе наименьшее число (MIN2 >= MIN1).
ВВЕДИТЕ Х = 5 ВВЕДИТЕ Х = 4 ВВЕДИТЕ Х = 3 ВВЕДИТЕ X = 2 ВВЕДИТЕ X = 0
|