Циклические алгоритмы.

  1. Сумма чисел на промежутке по условию.
  2. Количество чисел на промежутке по условию.
  3. Ввод N чисел. Сумма чисел по условию.
  4. Ввод N чисел. Количество чисел по условию.
  5. Ввод N чисел. Среднее арифметическое.
  6. Ввод N чисел. Минимум, максимум.
  7. Ввод чисел до 0. Сумма чисел по условию.
  8. Ввод чисел до 0. Количество чисел по условию.
  9. Ввод чисел до 0. Среднее арифметическое.
  10. Возведение целого числа в целую степень.
  11. Нахождение 3 максимумов (минимумов) среди вводимых чисел.
  12. Количество делителей.
  13. Количество делителей. Простые числа.
  14. Нахождение НОД. Алгоритм Евклида.
  15. Нахождение НОД. Модифицированный алгоритм Евклида.
  16. Нахождение суммы, количества цифр в числе.
  17. Разворот числа.

Сумма чисел на промежутке по условию.

read(a, b);
sum := 0;
For i := a to b do
   sum := sum + i;
write(sum);

Количество чисел на промежутке по условию.

read(a, b);
count := 0;
For i := a to b do
  count := count + 1;
write(count);

Ввод N чисел. Сумма чисел по условию.

read(N);
sum := 0;
For i := 1 to N do
   begin
     read(a);
     if a mod 2 = 0 then sum := sum + a;
   end;
write(sum);

Ввод N чисел. Количество чисел по условию.

read(N);
count := 0;
For i := 1 to N do
   begin
     read(a)
     if a mod 2 = 0 then count := count + 1;
   end;
write(count);

Ввод N чисел. Среднее арифметическое.

read(N);
sum :=
0;
count :=
0;

For i := 1 to N do
  begin
    read(a);
    if a mod
2 = 0 then begin
      sum := sum + a;
      count := count +
1
    end
;
  end;

if count = 0 then write('Таких чисел нет')
else
  begin
    sr_ar := sum / count;
    write(sr_ar);
  end;

Ввод N чисел. Минимум, максимум.

// a [X .. Y]
read(N);
min := Y +
1;
max := X -
1;

For i := 1 to N do
  begin
    read(a);
    if a > max then max := a;
    if a < min then min := a;
  end;

write(min,' ',max);

Ввод чисел до 0. Сумма чисел по условию.

sum := 0;
read(a);

while a <> o do
  begin
    if
a mod 2 = 0 then
      sum := sum + a;
    read(a);
  end;

write(sum);

Ввод чисел до 0. Количество чисел по условию.

count := 0;
read(a);

while a <> o do
  begin
    if
a mod 2 = 0 then
      count := count +
1;
    read(a);
  end;

write(count);

Ввод чисел до 0. Среднее арифметическое.

count := 0;
sum :=
0;
read(a);

while a <> 0 do
  begin
    if
a mod 2 = 0 then
      begin
        count := count +
1;
        sum := sum + a;
      end;
     read(a);
  end;

if count = 0 then write('Таких чисел нет')
else
  begin
    sr_ar := sum / count;
    write
(sr_ar);
  end;

Возведение целого числа в целую степень.

read(a, b);
degree :=
1;
for
i := 1 to b do
  degree := degree * a;
write(degree);

Нахождение 3 максимумов (минимумов) среди вводимых чисел.

// a [X..Y]
max1 := x -
1;
max2 := x -
1;
max3 := x -
1;
read(N);

for i := 1 to N do
begin
  read(a);
  if
a > max1 then begin
                                 max3 := max2;
                                 max2 := max1;
                                 max1 := a;
                               end
  else
    if
a > max2 then begin
                                   max3 := max2;
                                   max2 := a;
                                 end
     else
       if
a > max3 then max3 := a;
end;

write(max1, ' ', max2, ' ', max3);

Количество делителей.

read(N);
k
:= 2;

for i := 2 to N div 2 do
  if
N mod i = 0 then k := k + 1;

write(k);

Количество делителей. Простые числа.

var
flag:
boolean;
N, i:
integer;

begin
read(N);
flag :=
true;

for i := 2 to round(sqrt(N)) do
  if
N mod i = 0 then flag := false;

if flag then write('Число простое')
  else
    write(
'Число не простое');

end.

Нахождение НОД. Алгоритм Евклида.

var
a, b:
integer;

begin
read(a, b);

while a <> b do
    if
a > b then a := a - b
      else b := b - a;

write(a);
end
.

Нахождение НОД. Модифицированный алгоритм Евклида.

var
a, b:
integer;

begin
read(a, b);

while a * b > 0 do
    if
a > b then a := a mod b
      else b := b mod a;

write(a + b);
end
.

Нахождение суммы, количества цифр в числе.

var
N, sum, ed:
longint;

begin
read(N);
sum :=
0;
count :=
0;

while N > 0 do
  begin
    ed := N mod
10;
    sum := sum + ed;
    count := count +
1;
    N := N div
10;
  end;

write(sum, ‘ ‘, count);
end
.

Разворот числа.

var
N, new_N:
longint;

begin
read(N);
new_N :=
0;

while N > 0 do
  begin
    new_N := new_N *
10 + N mod 10;
    N := N div
10
  end
;

write(new_N);
end
.

Последнее изменение: Среда, 24 Январь 2018, 13:04