[ домой ] [ следующий ] [ начало главы ] [ предыдущий ] [ содержание ]

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

[ домой ] [ следующий ] [ начало главы ] [ предыдущий ] [ содержание ]