// Форматирование вывода вещественного числа можно поставить как нравится, я выбрал 3:3
// Считал, что доля с участием нуля равна 0%
program Calc;
var a, b: integer;
begin
write('Введите a: ');
readln(a);
write('Введите b: ');
readln(b);
writeln(a, '+', b, '=', a + b);
writeln(a, '-', b, '=', a - b);
writeln(a, '*', b, '=', a * b);
if (b = 0) then begin
writeln(a, '/', b, ' не определено');
writeln(a, ' составляет 0% от числа ', b);
end
else begin
writeln(a, '/', b, '=', (a / b):3:3);
writeln(a, ' составляет ', (a / b * 100):3:3, '% от числа ', b);
end;
if (a = 0) then
writeln(b, ' составляет 0% от числа ', a)
else
writeln(b, ' составляет ', (b / a * 100):3:3, '% от числа ', a);
end.
Поделитесь своими знаниями, ответьте на вопрос:
Дан массив из n действительных чисел .Подсчитать сколько в нем отрицательных положительных и нулевых элементов
1. Глупый школьный вариант
Перебираем все числа в заданном диапазоне и если встречаем кратное 5, прибавляем его к сумме.
var
i,s:integer;
begin
s:=0;
for i:=1 to 200 do
if i mod 5=0 then s:=s+i;
Writeln(s)
end.
Результат:
4100
2. Более умный школьный вариант с циклом while
Первое число, кратное 5 - это 5. А дальше прибавляем по 5 к сумме и ничего не нужно проверять.
var
i,s:integer;
begin
i:=5; { первое подходящее число }
s:=i;
while i<200 do begin
i:=i+5;
s:=s+i
end;
Writeln(s)
end.
3. Еще более умный школьный вариант с циклом for
От предыдущего отличается получения нужных чисел.
Замечаем, что ряд 5, 10, 15, 20, ... можно получить из чисел 1, 2, 3, 4, ..., умножая их на 5. И таких чисел будет 40.
var
i,s:integer;
begin
s:=0;
for i:=1 to 40 do s:=s+5*i;
Writeln(s)
end.
4. Современный вариант на современном Паскале
Генерируем последовательность нужных чисел и находим сумму её элементов.
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
Range(5,200,5).Sum.Println
end.