Очень прошу помогите с Паскалем!)
1. Напишите программу, вычисляющую площадь прямоугольника. С клавиатуры вводятся два действительных числа – стороны прямоугольника. Необходимо вычислить его площадь и вывести на экран. Вывод должен быть отформатирован следующим образом: под число отводится 10 знаков, а под вещественную часть – 3.
2. С клавиатуры вводятся 3 целых числа. Определить количество положительных чисел в этом наборе.
3. С клавиатуры вводится четырехзначное число. Получить число, равное произведению его цифр.
4. С клавиатуры вводится натуральное число n. Узнайте в нем количество цифр.
5. С клавиатуры вводится натуральное число n. Посчитайте сумму S=1+2+…+n.
6. Даны целые положительные числа N и K. Используя только операции сложения и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления.
7. С клавиатуры вводится натуральное число N. За ним последовательно вводятся данные о росте N учащихся класса. Определите средний рост учащихся всего класса. Попробуйте решить эту задачу без использования массивов.
8. Заполнить элементы массива последовательностью чисел: 2, 5, 10, 17, 26, …
9. Вводится число N, а за ним N целых чисел – элементов массива. Найдите количество отрицательных элементов в этом массиве.
10. С клавиатуры вводится число N. Выведите следующую фигуру (N-строк, на последней строке N звездочек). Подсказка: для решения этой задачи примените конструкцию «цикл в цикле».
*
* *
* * *
* * * *
…
* * * * * * *
11. Массив заполняется целыми числами до «нуля». Замените все положительные числа массив на противоположные им, а отрицательные возведите в квадрат. Выведите изменившийся массив.
12. На вход программе поступает целое число N. Выведите количество делителей N, включая 1 и само число N. Внимание: для решения этой задачи заведите счетчик и не забудьте сначала занести в него значение 0.
1)
var
a, b, s : real;
begin
read (a, b);
s := a * b;
write (s:10:4);
end.
2)
var
a, b, c, k : integer;
begin
read (a, b, c);
k := 0;
if a > 0 then inc (k);
if b > 0 then inc (k);
if c > 0 then inc (k);
writeln (k);
end.
3)
var
a : integer;
begin
read (a);
writeln ((a mod 10) * (a mod 100 div 10) * (a div 100 mod 10) * (a div 1000));
end.
4)
var
c, n : integer;
begin
read (n);
c := 0;
repeat
inc (c);
n := n div 10;
until n = 0;
writeln (c);
end.
5)
var
n, sum, i : integer;
begin
read (n);
sum := 0;
for i := 1 to n do
sum := sum + i;
writeln (sum);
end.
6)
var
d, n, k : integer;
begin
read (n, k);
d := 0;
while n >= k do
begin
d := d + 1;
n := n - k;
end;
writeln (n div k = , d);
writeln (n mod k = , n);
end.
7)
var
n, sum, i, tmp : integer;
begin
read (n);
sum := 0;
for i := 1 to n do
begin
read (tmp);
sum := sum + tmp;
end;
writeln (sum / n);
end.
8)
var
i, n, s : integer;
a : array [1..1000] of integer;
begin
s := 2;
read (n);
for i := 1 to n do
begin
a[i] := s;
s := s + 2 * i + 1;
end;
for i := 1 to n do write (a[i], );
end.
9)
var
n, i, count, tmp : integer;
begin
read (n);
count := 0;
for i := 1 to n do
begin
read (tmp);
if tmp < 0 then inc (count);
end;
writeln (count);
end.
10)
var
n, i, j : integer;
begin
read (n);
for i := 1 to n do
begin
for j := 1 to i do
write (*);
writeln;
end;
end.
11) //Не понял, как заполняется массив? Тут рандом
var
a : array [1..1000] of integer;
i, n : integer;
begin
read (n);
for i := 1 to n do
a[i] := trunc (random (1000)) - 500;
for i := 1 to n do
if a[i] > 0 then a[i] := a[i] * (-1)
else if a[i] < 0 then a[i] := sqr (a[i]);
for i := 1 to n do
write (a[i], );
end.
12)
var
n, i, count : integer;
begin
read (n);
count := 0;
for i := 1 to n do
if n mod i = 0 then inc (count);
writeln (count);
end.