Оператор цикла с постусловием. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Оператор цикла с постусловием.



                                              REPEAT

 - тело цикла

                                                      UNTIL <условие>;

где P1, P2, …PN - любые операторы.

По этому оператору выполняется "тело цикла", а затем проверяется <условие>, если оно не выполнилось, цикл повторяется. И так до тех пор, пока <условие> не будет выполнено.

Необходимо помнить: если <условие> сразу выполнилось, цикл будет пройден один раз.

Вычислить: y = a sin (x), x = , =0.2

program fun;

var

   y, a, x: real;

begin

       x: =0; read (a)

 

       repeat

                y: = a *sin (x); writeln (y, x); x: = x + 0.2;

        until x>1;

end.

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

Оператор цикла с предусловием.

WHILE <условие> DO P;

Где P - простой или составной оператор.

По этому оператору проверяется <условие> и, если оно выполняется, то выполняется - P, после чего опять проверяется <условие> и т. д.

Итак, P - выполняется до тех пор, пока выполняется <условие>.

Если условие ни разу не выполнилось, P - игнорируется, управление передается следующему оператору.

Вычислить: y = sin x, x , x ,  - ввести с клавиатуры.

Подсчитать среднее положительное и среднее отрицательное значение функции.

Program cikl;

var

    y, x, x k, d x: real;

    n, k: integer;                          SP, n - среднее и количество положительных значений.

    SP, S0: real;                           S0, k - среднее и количество отрицательных значений.             

begin

   writeln (' введите x - начальное, x - конечное, d x - шаг');

   read (x, x k, d x);

          SP: =0; S0: = 0; n: =0; k: =0;

  While x< = k x do.

P  Составной оператор.

 

if n=0 then  writeln ('Отрицательные отсутствуют')

          else  writeln (' Средние отрицательные = ', SP/n);

if k=0 then  writeln (' Положительные отсутствуют ')

          else  writeln (' Средние положительные = ', S0/k);

end.

Массивы

           

Задача 1:

Составить программу подсчета суммы и произведения элементов одномерного массива.

Program sum-prois;

uses crt;

const

       n = 100;

var

       a: array [1…n] of real;

       n, k, i: integer;

       p, s: real;

begin

       clrscr; s: = 0; p: =1;

       writeln ('введите размер массива'); readln (nk);

       writeln ('введите элемент массива');

       for i:=1 to nk do

                             readln (a[i]);

       for i:=1 to nk do

                              begin

                           s:= s + a[ i ];

                           p:= p * a[ i ];

                              end;

     writeln ('Сум. = ', s, 'Произ. =', p);

end.

       Необходимо подготовить ячейки:

- при накапливании суммы - s=0

- при подсчете произведения - p=1.

Задача рассчитана на обработку массива с максимальным размером 100 элементов (n=100).

       Конкретный размер массива вводится с клавиатуры (nk).

       При каждом прохождении через цикл с клавиатуры вводится только один элемент массива. Два цикла for можно было объединить в один.

Двумерные массивы.

Двумерный массив можно представить в виде матрицы. .

Описание двумерных массивов:

a - имя массива;

n, m - количество строк и столбцов в массиве.

Размер массива - n m.

a[i, j] - элемент стоящий на пересечении i-ой строки и j-го столбца.

Каждый элемент определяется двумя индексами.

a[i, i] - элементы главной диагонали.

a[i, 2] - элементы второго стлбца.

Задача 1.

Составить программу подсчета суммы элементов над главной диагональю в двумерном массиве.

Program matrix;

const

   n=10;

   m=10;

var

   a: array [1…n, 1…m] of real;

   i, j: integer; n, m: integer;

   s: real;

begin s:=0;                            

writeln (' введите размер массива m, n);

readln (n, m);

{Ввод массива:}

for i:=1 to n do

      for j:=1 to m do

                            readln (a[i, j]);

 

for i:=1 to n do

       for j:= i to m do

                      s: s+a[i, j];

writeln('s=', s);

end.  

Для ввода элементов массива используются вложенные циклы.

i - параметр внешнего цикла;

j - параметр внутреннего цикла;                                        

i - меняется медленнее j.

 

Элементы массива необходимо вводить по строкам.

 



Поделиться:


Последнее изменение этой страницы: 2019-10-31; просмотров: 114; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.151.231 (0.008 с.)