Основы языка Паскаль

Автор работы: Пользователь скрыл имя, 16 Ноября 2010 в 19:34, Не определен

Описание работы

основы языка программирования

Файлы: 1 файл

Основы языка Паскаль.doc

— 187.00 Кб (Скачать файл)

    Наряду  с возможностью отличать каждую отдельную  ветвь определенным значением <порядковой переменной> в конструкции CASE…OF имеется возможность объединять ветви. При объединении ветвь помечается списком значений. Значения в списке могут перечисляться через запятую, либо, если они идут подряд, можно указать два крайних значения, разделив их двумя точками.

    CASE <порядковая переменная> OF

             1, 2, 5:  оператор 1;

             3..17:    оператор 2;

    END;

    В конструкции CASE…OF может присутствовать ELSE-часть. Она, как и любая ветвь, содержит последовательность операторов, ограниченных парой BEGIN-END. 
 

    Циклический вычислительный процесс 

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

    В иных задачах количество повторений некоторого действия или группы действий известно. В этих случаях цикл называется арифметическим или циклом с параметром (счетчиком), или перечисляемым циклом.

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

    Перечисляемые циклы (циклы со счетчиком) 

    Конструкция, позволяющая реализовать данный цикл, имеет вид:

    FOR…TO (downto)…DO

    В этом операторе обязательно указываются следующие параметры:

    - имя переменной цикла или счетчика  цикла;

    - некоторое начальное значение  для переменной цикла, которое она получает при первом выполнении цикла;

    - некоторое конечное значение  цикла, достигнув которое повторение цикла прекращается.

    Если  записать конструкцию цикла, как  

    FOR  i : = n  TO k DO

        оператор; 

    то  счетчик изменяется на 1 при каждом следующем исполнении оператора.

    Необходимо  помнить, что для правильной записи конструкции оператора переменные i, n, k могут быть только как называемого “порядкового типа”. Это тип, в котором каждое данное имеет свой номер, свое расположение среди других данных этого типа.

    Если  требуется повторить группу действий, то оператор выглядит следующим образом: 

    FOR  i : = n TO k DO

          BEGIN

                     оператор 1;

                     оператор 2;

                     …………..

                     оператор n;

          END; 

     Пример: Вывести  на экран все натуральные делители числа n.  
 

      PROGRAM    DELITEL;

                                                  VAR

      n: integer;

        i: integer;

  t: real;

      BEGIN

      writeln (‘введите натуральное число n’);

 read (n)

 FOR i: =1 TO N DO

 BEGIN

                  T : = n/i;

                                           IF T = INT (T) THEN writeln (T);

 END;

 END. 
 

    Конструкция 

    FOR i: =n DOWNTO k DO

    оператор; 

    используются  для того случая, когда счетчик  уменьшается на 1 при каждом следующем шаге. 

    Пример: Вывести на экран все четные числа  от 100 до 1

      

      PROGRAM CHISLO;

     VAR

      i: integer; 

 BEGIN

      FOR i:= 100 DOWNTO 1 DO

     IF I/2= INT (I/2) THEN writeln (i);

      END. 
 
 
 
 
 

     Если  в данных конструкциях начальные  значения совпадают с конечны  значением, то операторы цикла выполняются  один раз. 

     Конструкция цикла с предварительной проверкой условия 

     WHILE <условие> DO

     оператор;

     {или группа операторов в операторных скобках BEGIN-END}. 

    Эта фраза обозначает следующее: « До тех пор пока условие является истиной, выполняются операторы  цикла». 

     При этом необходимо помнить, что:

    1. если условие ложно, сразу же при первом обращении к циклу, то тело цикла выполняться не будет;
    2. данная конструкция цикла может работать, как конструкция цикла со счетчиком, но при этом необходимо изменять переменную, являющуюся счетчиком, с помощью оператора присваивания. В конструкции WHILE можно выбирать любой необходимый шаг.

    Пример.

    Вычислить y= sin2x +2,5x при x [-1; 1]  с шагом ∆x= 0,25. 

      PROGRAM ZIKL;

      VAR

              x, y : real;

      BEGIN

              x: = -1;

              WHILE x<= 1 DO

            BEGIN

                   Y: = sin(x)*sin(x)+ 2,5*x;

                    writeln (‘при x =’,x, ‘y= ‘,y);

                       x: = x + 0,25;

                            END;                   

                 END. 
 
 
 
 
 
 
 
 
 
 

Алгоритм вычисления суммы 

Пример 1:

Вычислить   .

      PROGRAM SUM;

      VAR

              X, S : real;

              n : integer;

              sl : real;

      BEGIN

             Write (‘введите значение x’);

              Read (x);

              S : = 0;

        FOR  N : = 1 TO 20 DO

                   BEGIN

                       SL : = (2*x)/N;

                        S : = S + SL;

                           END;

                writeln (‘сумма ряда =’, S);

        END. 
 

    Пример 2. Найти количество чисел, сумма которых превысит 100.

    

      PROGRAM PRIM;

      VAR

              K: integer;

              S : integer;

      BEGIN

              S: =0;

         K: =0;

                  WHILE  S<=100 DO

                  BEGIN

                            K: = K+1;

                            S: = S+ K;

                    END;

                  writeln (‘кол-во слагаемых равно’, K);

               END. 
 
 
 
 

    Конструкция цикла с последующей проверкой условия 

    Формат  данного оператора следующий:  

    REPEAT

       тело цикла

    UNTIL <условие>; 

    Служебное слово REPEAT (повторять) открывает тело цикла, затем выполняются последовательно операторы тела цикла и проверяется условие выхода из него.

    Переводится конструкция так: «Повторять до тех  пор, пока условие не станет истиной».

    Необходимо  помнить, что:

  1. тело цикла выполняется хотя бы один раз в любом случае;
  2. в ходе выполнения цикла должны прийти к истинности условия.
 

    Пример: Вычислить сумму квадратов натуральных чисел до тех пор, пока квадрат очередного числа не превысит 100.

      PROGRAM ZIKL_DO;

      VAR

                                                                      s: integer;

                                                                      n: integer;

                                                              BEGIN

                                                                      s: =0;

                                                                      n: =1;

                                                               REPEAT

                                                                      s: = s + n*n;

                                                                      n: = n + 1;

                                                               UNTIL  N*N>100;

                                                                writeln (‘s =’, s);

                                                              END. 

- 
 

      + 
 
 
 

    Алгоритм вычисления произведения 

    Пример: Вычислить n!

      

      PROGRAM PROIZW;

                                                                    VAR

                                                                             n: integer;

                                                                             p, i: integer;

                                                                       BEGIN

                                                                             writeln (‘введите значение n’);

                                                                             readln (n);

Информация о работе Основы языка Паскаль