Var N, S: integer
BEGIN
write ('Vvedite N'); readln (N);
S := 0;
while N > 0 do
begin
N := N mod 10;
S := S + 1;
end
writeln (S);
if S mod 9 = 0 then writeln (N, 'kratno 9') else writeln (N, 'ne kratno 9');
END.
===== PascalABC.NET =====
type
reals = file of real;
procedure CreateReals(fn: string; var f: reals);
begin
Rewrite(f, fn);
for var i := 1 to 101 do
Write(f, Random(-50.0, 50.0));
f.Close
end;
function GetAverage(f: reals): real;
begin
Result := f.Elements.Average;
end;
function CountElements(f: reals; m: real) :=
f.Elements.Where(p -> p < m).Count;
begin
var f: reals;
var fn := 'Reals.bin';
CreateReals(fn, f);
Reset(f, fn);
var avg := GetAverage(f);
avg.Println;
CountElements(f, avg).Println
end.
Действие с повторением называются Циклы.
Примером цикла из жизни может послужить анекдот:
Программист решил помыть голову шампунем
Читает инструкцию
1. Нанести шампунь
2. Намылить
3. Смыть
4. Процедуру повторить
Ну и он зациклился.
1 килобайт-1024 байт
1 байт-8 бит
1 килобайт-8192 бита
1500 килобайт-12288000 бит
12288000/512000=24 секунды
Если одномерный массив, то:
program min;
var a:array[1..10] of integer;
i,min,k:integer;
begin
writeln('Введите элементы массива');
for i:=1 to 10 do
readln(a[i]);
min:=a{1];
for i:=1 to 10 do
if a{i]<min
then min:=a{i};
for i:=1 to 10 do
if a{i]=min
then k:=k+1;
writeln('Всего элементов с минимальным значением =',k);
end.