Алгоритмический язык Паскаль 


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



ЗНАЕТЕ ЛИ ВЫ?

Алгоритмический язык Паскаль



Алгоритмический язык Паскаль

Программа на Р записывается в виде последовательности символов:

· заглавные и прописные латинские буквы;

· арабские цифры;

· знаки препинания (:;,.);

· знаки операций.

Арифметические операции правила их записи.

Знаки операций: *, /, -, +, div, mod

(a div b) частное от деления а на b                                                                                          (a mod b) о статок, после деления а на b.

(а,b-целые).

a div b=  a mod b =a-((a div b)*b)

17 div 3 = 5 17 mod 3 = 2 8 div 2 = 4 8 mod 2 = 0 1 div 5 = 0                                                                                         1 mod 5 = 1

При выполнении арифметических операций соблюдаются следующие правила:

1. Все знаки проставляются        a b           a*b;

2. Два знака не могут следовать один за другим n/-2     n/(-2);            

3. Соблюдается иерархия выполнения арифметических операций: стандартные функции;div, mod; *, /; +, -;

4. Изменить иерархию можно только с помощью скобок.

Типы переменных.

Переменные на языке Паскаль задаются своими именами (63 символа).

Целочисленные переменные.

Shortint - короткие целые числа (1 байт). (-128 127)

Longint - удвоенные целые числа (4 байта). (-231 231-1)

Integer - обычные целые числа (2 байта). (-32768 32767)

Word - целые положительные числа (2 байта). (0 65535)

Byte - целые короткие положительные числа (1 байт). (0 255)

Верхнее граничное значение целочисленных переменных задано в Паскале как константа и имеет соответствующее имя: Maxint = 32767 (215-1) Maxlongint = 231-1

Логический тип.

Boolean - логические переменные (1 байт) могут принимать 2 значения:

· True (истина)

· False (ложь)

Логические переменные могут использоваться только в логических выражениях. Над ними можно выполнять только 2 операции:

· равно (=)

· не равно (< >)

Для идентификаторов имеет место:

False< True

Над логическими переменными возможны следующие операции:

And (и)

Or (или)

Not (не)

Ord (false) = 0                           Ord (true) = 1

Символьный тип.

Chor - служит для хранения одного символа (1 байт)

(буква, цифра, знаки препинания, специальные символы, непосредственно код). Значения символьных переменных задаются в апострофах - “ А”, “9”.

Строковый тип.

String - строковые переменные (255 байт).

Это строка символов заключенных в апострофах.

Вещественный тип.

Real - служит для хранения вещественных чисел (6 байт)

(11 знаков после запятой).

Могут быть заданы в форме с:

1. фиксированной точкой

· 0,5; +5,0; -133,15

плавающей точкой 1200 = 120,0 Е+1 = 12,0 Е+2 = 1,2 Е+3 = 12000,0 Е-1 (показатель степени 38)

Используется для изображения очень больших или очень маленьких чисел.

Стандартные функции.

sin (x)                sin x            (вещ.)

cos (x)                  cos x            (вещ.)

arctg(x)               arctg x          (вещ.)

exp (x)               ex                    (вещ.)

ln (x)                ln x               (вещ.)

pi (x)                  3.14              (вещ.) 

abs (x)                                       (вещ.)

sqr (x)                  x2                   (вещ.)

sqrt (x)                                        (вещ.)

trunc (x)          целая часть числа,дробная остается без округлен. (цел)

trunc (3.7) = 3 trunc (3.1) = 3      trunc (-3.7) = -3

frag (x)         дробная часть числа                (вещ.)

int (x)             ближайшее наименьшее целое число (цел.)

int (3.4) = 3      int (3.7) = 3 int (-3.4) = -4

round (x)           ближайшее целое число (матем округ-е) (цел.)

round (3.14) = 3 round (3.74) = 4  round (-3.14) = -3

random (x)       генератор случайных чисел (вещ.)     

                  от 0 до x; если x – отсутствует, диапазон чисел 0 1                                     

odd (x)            возвращает TRUE, если x - число нечетное (лог.)

Аргументом стандартной функции может быть переменная, константа, выражение, стоящее справа от имени в скобках. Воспринимается в радианах для тригонометрических функции.

Операторы Паскаля.

Операторы ввода-вывода.

READ (<список - ввода>)

- имя оператора ввода;

- список переменных, разделенных запятыми.

WRITE (<список - вывода>)

- имя оператора вывода;

- список переменных вывода, разделенных запятыми.

READLN (a, b, c) - после вода значений a, b и c курсор перемещается на следующую строку.

WRITELN - без списка вывода можно использовать для пропуска строк при оформлении вывода результатов.

В операторе WRITE можно использовать формат вывода значений переменных.

Writeln (’_ a = ’, a:8:3, ’_ b = ’, b:4);

при a = 341.154, b = 2

_ a = _ 341.154 _ b = _ 144

при a = 1.3, b = 144

_ a = _ _ _ 1.300 _ b = _ 144

Program _ prim;

сlrscr - оператор гашения экрана;

var          a, b: integer;

               x,y: real;

begin      writeln (’ введите a, b ’);

               readln (a, b);

               x: = a + b; y: = a/b;

               writeln (’ x = ’, x:8:3, ’_ _ ’, ’y = ’, y:8:3)

end.

Ключевые слова горят ярче, чем весь текст прогаммы.

 

Операторы цикла.

При организации циклов необходимо:

- определить параметр цикла и его начальное значение;

- изменять значение параметра цикла на каждом шаге итерации;

- проверка на выход из цикла.

FOR i: = N TO K DO P

                                                    (для)         (до) (выполнять)

где i - параметр цикла;

N, K - его начальное и конечное значение;

P - простой или составной оператор;

  I, N, K - переменные или константы целого типа.

Шаг изменения i - равен 1.

Если K<N, т.е. имеем дело с циклом с отрицательным шагом:  (-1)

FOR i: =N DOWNTO K DO P

Рассмотрим пример.

Вычислить

                     S= 1+1/2+1/3+ … +1/50

Выделим переменную для накапливания суммы - Sum. Значение этой переменной необходимо предварительно обнулить. Паскаль не производит предварительной, начальной, инициализации переменных. Поэтому сумма может быть искажена без Sum = 0.

Program sum;

Var

    i: integer;

    sum: real;

begin

   sum: =0;

   for i: = 1 to 50 do

                      Sum: = sum + 1/i;

   Writeln (' сумма = ', Sum);

end.

Оператор for применяют в тех случаях, когда значения параметра цикла целые и меняются с шагом +1, -1.

Массивы

           

Задача 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; просмотров: 140; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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