1) посчитать сумму всех нечетных чисел от 230 до 430 // PascalABC.NET 3.0, сборка 1088 var i,s:integer; begin i:=231; s:=0; repeat s:=s+i; i:=i+2 until i>400; Writeln('Сумма нечетных чисел на интервале [230;400]: ',s) end.
Результат выполнения программы: Сумма нечетных чисел на интервале [230;400]: 26775
2) вычислить квадратные корни из чисел : 900, 893, 886,... до тех пор пока это можно делать // PascalABC.NET 3.0, сборка 1088 var i:integer; begin i:=900; repeat Write('(',i:3,',',sqrt(i):9:5,') '); i:=i-7 until i<0; Writeln; end.
3) найти сумму чисел шестизначного числа // PascalABC.NET 3.0, сборка 1088 var n:longint; s:integer; begin Write('n='); Read(n); repeat s:=s + (n mod 10); n:=n div 10 until n=0; Writeln('Сумма цифр числа равна ',s) end.
Тестовое решение: n=472305 Сумма цифр числа равна 21
const
MAX_SIZE = 100;
var
size, n: integer;
stack: array[1..MAX_SIZE] of integer;
procedure push(a: integer);
begin
inc(size);
stack[size] := a;
end;
procedure view;
var
i: integer;
begin
for i := 1 to size do
write(stack[i], ' ');
writeln;
end;
Для очереди:
const
MAX_SIZE = 100;
var
head, tail: integer;
queue: array[1..MAX_SIZE] of integer;
procedure push(a: integer);
begin
queue[tail] := a;
inc(tail);
end;
procedure view;
var
i: integer;
begin
for i := head to tail - 1 do
write(queue[i], ' ');
writeln;
end;
И стек и очередь реализованы с массива. Нужно следить, чтобы размер структуры не был больше размера массива