Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика алгоритмизации и программирования.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
517.53 Кб
Скачать

Алгоритмы, реализуемые с помощью циклов типа для

Циклы типа для применяются, когда число повторений цикла известно к началу его выполнения.   

Язык

Пример

Величина шага

Школьный АЯ

  нц  для  i  от  1  до  N        тело цикла     кц

Всегда 1

Pascal

  For  i := 1  to  N  do        тело цикла ;

  1

  For  i := N  downto  1  do        тело цикла ;

-1

Basic

  FOR  I  = 1  TO   STEP  H        тело цикла     NEXT 

Шаг Н произвольный 

(по умолчанию равен 1)

 

Пример 2.1. Вычислить сумму элементов числового массива   A = (a1 , a2 , ... , aN ).

 

 

Тест

Данные

Результат

N=5

A=(3, 5, -2, 6, 3)

S=15.0

 

Демонстрация

Начало формы

Конец формы

Школьный АЯ 

алг Сумма (арг цел N, арг вещ

таб A[1:N], рез вещ S)

  дано N>0

нач цел i

  S:=0

  нц для i от 1 до N

  S := S + A[i]

  кц

кон

Исполнение алгоритма

i

S

 

0 

1

0 + a1 = 0+3 = 5 

2

a1 + a2 = 3+5 = 8 

3

a1+a2+a3 = 8-2 = 6 

4

a1+a2+a3+a4 = 6+6 = 12 

5

a1+a2+a3+a4+a5 = 12+3=15

 

 

Turbo Pascal 

Program Summa;

  Uses Crt;

  Type Mas = Array [1..20] of Real;

  Var A   : Mas;

  i, N : Integer;

  S   : Real;

BEGIN

  ClrScr;   {очистка экрана }

  Write('Введите N = ');

  ReadLn(N); {ввод значения N}

  For i := 1 to N dо {цикл по элементам массива}

  begin

  Write('A [ ', i , ' ] = ');

  ReadLn(A[i]) {ввод элементов массива}

  end;

  S := 0; {присваивание начального значения}

  For i := 1 to N do S := S+A[i]; {суммирование}

  WriteLn;

  WriteLn('Сумма равна ', S : 5 : 1);

  ReadLn

END.

Блок-схема 

 

Результаты работы Pascal-программы    

  Введите N = 5 <Enter>      A[1] =  3   <Enter>      A[2] =  5   <Enter>      A[3] = -2   <Enter>      A[4] =  6   <Enter>      A[5] =  3   <Enter>  

  Сумма равна  15.0

 

QBasic

CLS

INPUT "N = " ; N :  DIM A(N)

FOR i = 1 TO N

  PRINT "A(" ; i ; ")=" ;

  INPUT A(i)

NEXT i

S = 0

FOR i = 1 TO N

  S = S + A(i)

NEXT i

PRINT "Сумма = " ; S

END

 

Пример 2.2. Найти наибольший элемент числового массива A = (a1, a2 , ..., aN ) и его номер.

 

Тест

 

Данные

Результаты

N=4

A=(3, -1, 10, 1)

Amax=10

K=3