Смекни!
smekni.com

Оператори алгоритмічної мови Паскаль Стандартні функції і оператори роботи з рядками (стр. 1 из 2)

Житомирський Військовий Інститут

Національного Авіаційного Уніврситету

Реферат на тему:

Оператори алгоритмічної мови Паскаль. Стандартні функції і оператори роботи з рядками

Житомир 2010


План

1. Прості оператори

2. Структурні оператори

3. Символьні масиви

4. Визначення рядкового типу даних

5. Основні операції над рядковими даними

6. Стандартні засоби обробки рядків: процедури і функції

1. Прості оператори

Оператори мови Паскаль – це синтаксичні конструкції, які призначені для запису алгоритму (перетворення даних, порядок виконання операцій) в стилі структурного програмування.

Всі оператори повинні розділятись символом – ";".

Оператори мови Паскаль умовно поділяють на дві групи:

1) прості оператори;

2) структурні оператори, які містять один або декілька операторів, або структурних операторів.

1. Оператор присвоювання;

2. Оператори звертання до процедури (функції);

3. Оператор безумовного переходу.

Оператор присвоювання призначений для обчислення нового значення змінної, а також для визначення значення функції, що повертається.

Формат оператора:


Оператор виконується так: обчислюється вираз (права частина) і отримане значення надається (присвоюється) ідентифікатору (змінній).

При цьому тип виразу (тип даних та операції над ними) повинен бути сумісним з типом ідентифікатора (змінної), якому присвоюється результат обчислення.

Наприклад: якщо var a, b, x: integer, то оператор присвоювання

виконувати не можна.

Треба так:

var a, b : integer;

x : real;

Тоді буде вірно:

.

Приклади:

1. var name: string;

. . .

name : = ‘Іванов‘;

2. var x, y: real;

. . .

x: = 5;

y: = x + 2;

Оператори звертання до процедури (функції) – призначені для активізації процедури (функції) та передачі їй заданих параметрів.

Формат оператора:


Розглянемо процедури введення та виведення даних, які можна викликати за допомогою операторів: read, readln, write, writeln.

write (вираз), writeln (вираз) – оператори запису або виведення;

read (список змінних), readln (список змінних) – читання або введення.

Приклади виведення:


1. x : = 1;

writeln(1+x);

writeln(x <=1);

на екрані з’явиться:

2

true

2. x: = 2;

writeln(1, x, x*x, x*x >2);

на екрані :

1 2 4 true

3. Використання рядкових констант, наприклад: ‘x =’, ‘12’ і т.п.

x : = 2;

writeln(‘x = ‘, x,’; y = ‘, x*x);

На екрані:x = 2; y = 4.

4. Можна указати розмір поля для виводу значень виразу.

Якщо кількість символів менше, то виводяться пробіли, а якщо більше – то виводяться усі символи.

x: =12;

writeln(‘x =’, x : 4,’; y = ‘, x*x : 1);


На екрані

x =_ _ 12; y = 144 .

Приклади введення.

5. Як правило, для зручності перед оператором введення ставиться оператор виведення на екран запрошення:

writeln (‘Ввести два цілих числа:’);

readln (x1, x2);

На екрані запрошення:

Ввести два цілих числа:

6. Приклад програми привітання.

Program Privit;

var name: string;

begin

write(‘Введіть ваше ім‘я’);

readln(name);

writeln(‘Привіт,’, name);

end.

Оператор безумовного переходу.

Мітка описується на початку програми (label 1, 2, lb1) і використовується в програмі наступним чином:


Але використання цього оператора в програмі не бажане, бо порушується її структурна цілісність і читабельність.

2. Структурні оператори

Структурні оператори містять один або декілька операторів. Вони поділяються на три види:

1. складений оператор;

2. умовні оператори;

3. оператори циклу.

Складений оператор представляє собою послідовність операторів, які розділяються ";" і обмежуються службовими словами begin та end. Вони відіграють роль дужок обмеження – операторні дужки початку і кінця складеного оператора).

BEGIN

оператор 1;

……………

оператор N

END.

Складений оператор сприймається як єдине ціле.

Умовні оператори – організовують вибір між альтернативними варіантами обчислень (операцій)

Структура оператора:

if <умова (вираз)>

then<оператор1>

else<оператор2>

Семантика оператора:

1. обчислюється умова, тобто вираз після службового слова if (результат повинен мати логічний тип, булевий);

2. якщо результат умови – TRUE (істина) то виконується then <оператор1>; якщо результат умови FALSE – то виконується else <оператор2>.

Оператори 1, 2 можуть бути будь-якого типу: умовні, складені, прості.

Умова може бути операцією відношення або логічною.

Операції відношення:= , <>, >, <, >=, <=.

Логічні оператори:

Not – заперечення;

And – логічне "і";

Or – логічне "або";

Xor – "або", що виключає.

Приклад:

Вибір максимального із двох чисел:

if x>y

then max := x
else max := y

!Особливість:! При використанні вкладених умовних операторів може виникнути синтаксична неоднозначність. Тому необхідно пам’ятати: службове слово else зв’язане з найближчим до нього словом if.

Приклад:

var a, b, c: integer;

a:=1; b:=2; c:=3; d:=4;

if a>b then

if c<d then

if c<0 then c:=0

else a:=b;

На екрані виведеться {a = 1}.

if a>b then

if c<d then

if c<0 then c:=0

else

else

else a:=b;

На екрані виведеться {a = 2}.

Оператор вибору: CASE.

Він дозволяє вибрати одну з N можливих операцій.

Синтаксична діаграма:


Список альтернатив:

Приклад:

Program month(input, output);

var mon: integer;

begin

writeln (‘Введіть N місяця’);

readln (mon);

if mon < 1 or mon > 12 then

writeln (‘Нема такого місяця’)

else

case mon of

1: writeln (‘січень‘);

2: writeln (‘лютий‘);

. . .

12: writeln (‘грудень‘);

end

end.

!Особливість:! значення селектора не може мати тип: real; string; частину else можна опускати.

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

Існують три різних оператора:


1. Оператор циклу з параметром

For , To , Do (для , до , виконати )

Семантика:

1. Обчислюється вираз < пз >

2. Присвоювання < пц > : = < пз >

3. Перевірка умови < пц > <= (=>) < кз > , якщо не виконується , то for закінчує роботу ;

4. Виконання < оператора >;

5. Змінна < пц > на + 1 (to) або – 1 (down to)

Приклад: програма введення вільного цілого числа N та обчислення суми цілих чисел від 1 до N.

Program summaInteger;

var i, n, s: integer;

begin

write ( ‘ n = ‘ );

readln ( n ); { ввести n }

S: = 0; { початкове значення суми }

for i: = 1 to n do s : = s + i;

writeln (‘Сума дорівнює ’, S)

end.

. . . . . .

S:=0

if n >=1 then

for:=1 to n do s:= s+i

else

for i:= -1 down to n do s:= s+i

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


{поки (виконується), робити }

< умова>- вираз логічного типу; якщо результат умови – TRUE, то виконується оператор, після чого знову перевірка умови. Якщо – FALSE , оператор WHILE закінчує свою роботу.

Приклад: обчислити суму перших 25 цілих чисел.

Program summa;

var sum, n: integer;

begin

sum:=0;

n:=1;

while n<26 do

begin

sum:= sum+ n;

n:=n+1;

end;

writeln (‘Сума перших 25 цілих чисел’, sum)

end.

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


Семантика:

1.Виконується оператор циклу;

2.Перевірка умови:

- якщо false => наступне виконання оператора;

- якщо true => оператор циклу не виконується.

Приклад (для попереднього прикладу):

repeat

sum:=sum+n;

n:=n+1 until n>=26

3. Символьні масиви

Символьний тип даних дозволяє працювати з окремими символами тексту. Для обробки більшої кількості текстових одиниць використовують символьні масиви або рядкові типи даних.

Розглянемо одномірні масиви, які складаються з елементів символьного типу (char). Наприклад:

var

S : array [ 1..12] of char;


Паскаль містить деякі додаткові засоби роботи з такими масивами:

1) Конкретні значення символьних масивів записують за допомогою зображення рядка та використання їх в присвоюванні та передачі параметрів:

S := ‘Приклад рядка’;

Зображення рядка будується з символів масиву і обмежується апострофами.

Якщо необхідно задати апостроф, то його подвоюють {‘ " ’}.

Допускають формування рядків з використанням десяткових кодів символів і спеціальних позначень: ( #7#17C^A^B…)

2) Для символьних масивів допускають операцію "+" – конкатенації (зчеплення, поєднання). Смисл операції полягає у формуванні нового символьного масиву, кількість елементів якого дорівнює сумі розмірів масивів – операндів, а значення елементів – елементи масивів, які розміщюються послідовно один за одним.

Приклад: