m:=0. "количество отрицателных" p:=0 "количество положительных" i:=1. пока i<>0 повторять i:=прочитать число, введенное с клавиатуры. если i>0 то p:=p+1. если i<0 то m:=m+1. конец цикла пока. вывести на экран('процент положительных = ', p/(p+m)). вывести на экран('процент отрицательных = ', m/(p+m)).
Алгоритм будет верно работать, если введено хотя бы одно число, отличное от нуля. В противном случае возникнет ошибка деления на ноль. В нормальных программах подобные случаи отлавливаются и корректно обрабатываются.
program reverse;
var
n, m: integer;
begin
write('Введите число N: ');
read(n);
while (n > 0) do
begin
m := m * 10 + n mod 10;
n := n div 10;
end;
write('Перевернутое число: ', m);
end.
Объяснение:
program reverse; // Название программы
var
n, m: integer; // Создание целочисленных переменных по условию
begin // Начало программы
write('Введите число N: '); // Вывод сообщения в консоль
read(n); // Считываем число с клавиатуры
while (n > 0) do // Пока значение переменной n > 0 выполняем
begin // Начало цикла
m := m * 10 + n mod 10; // Вписываем в нужный разряд (m * 10) последнюю цифру введенного числа (n mod 10 - остаток от деления на 10)
n := n div 10; // Отделяем последнюю цифру от введенного числа путем целочисленного деления на 10
end; // Конец цикла
write('Перевернутое число: ', m); // Вывод ответа
end. // Конец программы
m:=0. "количество отрицателных"
p:=0 "количество положительных"
i:=1.
пока i<>0 повторять
i:=прочитать число, введенное с клавиатуры.
если i>0 то p:=p+1.
если i<0 то m:=m+1.
конец цикла пока.
вывести на экран('процент положительных = ', p/(p+m)).
вывести на экран('процент отрицательных = ', m/(p+m)).
Алгоритм будет верно работать, если введено хотя бы одно число, отличное от нуля. В противном случае возникнет ошибка деления на ноль. В нормальных программах подобные случаи отлавливаются и корректно обрабатываются.