Домашние задания: Информатика

Помогите с информатикой, пожалуйста

Нужно написать программы в Pascal:
  1. С помощью цикла for-to написать программу, которая
А) Находит сумму всех целых чисел в диапазоне [a;b] (a и b ввести с клавиатуры)
Б) Находит сумму квадратов первых n натуральных чисел (n ввести с клавиатуры)
  1. С помощью цикла for-downto написать программу, которая
А) Находит сумму всех четных чисел в диапазоне от 1 до n
Б) Находит сумму всех двузначных чисел
  1. С помощью вложенного цикла написать программу для нахождения сторон всех таких прямоугольников, площадь которых равна введенному с клавиатуры числу q (стороны выражены натуральными числами)
 А) 
var
a, b, sum, i: integer;
begin
write('Введите a: ');
readln(a);
write('Введите b: ');
readln(b);
sum := 0;
for i := a to b do
sum := sum + i;
writeln('Сумма всех целых чисел в диапазоне [', a, ';', b, '] равна ', sum);
end.


Б)
var
n, sum, i: integer;
begin
write('Введите n: ');
readln(n);
sum := 0;
for i := 1 to n do
sum := sum + sqr(i);
writeln('Сумма квадратов первых ', n, ' натуральных чисел равна ', sum);
end.


С)
А)
var
n, sum, i: integer;
begin
write('Введите n: ');
readln(n);
sum := 0;
for i := 1 to n do
if i mod 2 = 0 then
sum := sum + i;
writeln('Сумма всех четных чисел в диапазоне от 1 до ', n, ' равна ', sum);
end.


Б)
var
sum, i, j: integer;
begin
sum := 0;
for i := 1 to 9 do
for j := 0 to 9 do
sum := sum + (i * 10 + j);
writeln('Сумма всех двузначных чисел равна ', sum);
end.


В)
var
q, a, b, i, j: integer;
begin
write('Введите площадь прямоугольника: ');
readln(q);
for i := 1 to q do
begin
if q mod i = 0 then
begin
a := i;
b := q div i;
writeln('Стороны прямоугольника: ', a, ' и ', b);
end;
end;
end.
Семен Данилов
Семен Данилов
4 118
Лучший ответ
Дмитрий Кот Ого, спасибо большое:) респект❤️❤️❤️
В программе А), написанной выше, недочет.
Если я случайно введу неверно границы диапазона, то получу "баранку", то есть ноль :(((

Защитим программу от глупого хода (PascalABC):

var a, b, Sum : integer;
begin
repeat
Write (' Введите a: '); ReadLn (a);
Write (' Введите b: '); Readln (b); WriteLn;
until (a < b);
Sum := 0;
for var i := a to b do
Sum := Sum + i;
Writeln(' Сумма всех целых чисел в диапазоне [', a, '; ', b, '] равна ', Sum);
end.

ЛВ
Лана Волкова
73 229