Составить программу в PASCAL. 1. В последовательности чисел подсчитать произведение чисел, кратных 3. 2. В последовательности чи
Составить программу в PASCAL. 1. В последовательности чисел подсчитать произведение чисел, кратных 3. 2. В последовательности чисел сравнить, что больше сумма положительных или произведение отрицательных. 3. В последовательности чисел определить предпоследнее отрицательное число. (При решении введите дополнительную переменную для хранения предпоследнего отрицательного числа).
Первая задача (проверил, вроде работает, константа N - количество чисел в последовательности):
const N = 10; var number, count, i : integer; begin count := 1; for i := 1 to N do begin write('Input number: '); readln(number); if (number mod 3 = 0) and (number <> 0) then count := count * number; end; if (count = 1) then count := 0; writeln('Result: ',count); readln; end.
Вторая задача (проверил, работает, но мог недопонять условие): const N = 10; var number, positive, negative, i : integer; begin negative := 1; positive := 0; for i := 1 to N do begin write('Input number: '); readln(number); if (number > 0) then positive := positive + number; if (number < 0) then negative := negative * number; end; writeln('Positive sum: ',positive); writeln('Negative mul: ',negative); if (positive > negative) then writeln('Sum of positive numbers bigger than mul of negative numbers.') else if (positive < negative) then writeln('Sum of positive numbers lesser than mul of negative numbers.') else writeln('Sum of positive numbers and mul of negative numbers are equal.'); readln; end.
Третья задача (проверил, работает): const N = 10; var number, lastneg, prevneg, i : integer; begin lastneg := 100; prevneg := 100; for i := 1 to N do begin write('Input number: '); readln(number); if (number < 0) then if (lastneg > 0) then lastneg := number else begin prevneg := lastneg; lastneg := number; end; end; if (prevneg > 0) then writeln('This sequence of numbers contains less than two negative numbers.') else writeln('Penultimate negative number: ',prevneg); readln; end.
Цифры числа всегда меньше основания системы, то есть, для двоичной это 0 и 1, для семеричной это числа от нуля до шести, для десятеричной - от нуля до девяти и т.д. 1503 - бОльшая цифра пять => минимальное основание шесть. 283 - 9 4444 - 5 257 - 8