Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шауцукова практикум гл 2 полностью.doc
Скачиваний:
16
Добавлен:
28.03.2015
Размер:
226.3 Кб
Скачать

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

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

Язык

Пример

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

Школьный АЯ

  нц  для  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.   Вычисление суммы элементов заданного одномерного числового массива.

  • Пример 2.2.   Нахождение наибольшего элемента заданного одномерного числового массива и определение его номера.

  • Пример 2.3.   Формирование списка кандидатов в школьную баскетбольную команду.

  • Пример 2.4.   Вычисление значения многочлена для заданных значений переменных.

  • Пример 2.5.   Формирование нового одномерного массива из элементов заданного массива.

  • Задачи для самостоятельного решения

  • Вся глава целиком.

  • Предыдущая глава.

  • Следующая глава.

 

Пример 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