Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

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

Название: Оператори алгоритмічної мови Паскаль Стандартні функції і оператори роботи з рядками
Раздел: Рефераты по информатике
Тип: реферат Добавлен 21:25:23 04 декабря 2010 Похожие работы
Просмотров: 38 Комментариев: 21 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно     Скачать

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

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

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

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

Житомир 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) Для символьних масивів допускають операцію "+" – конкатенації (зчеплення, поєднання). Смисл операції полягає у формуванні нового символьного масиву, кількість елементів якого дорівнює сумі розмірів масивів – операндів, а значення елементів – елементи масивів, які розміщюються послідовно один за одним.

Приклад:

var S1 : array [1..8] of char;

S2 : array [1..5] of char;

begin

S1 := ’рядковий’;

S2 := ’масив’;

writeln (S1 +’ ’+S2 ); {результат на екрані: Рядковий масив}

end.

!Особливість:!

1. в операторах присвоювання рядків символьним масивам необхідна точна відповідність довжини рядків і розмірів масивів;

2. операція конкатенації для символьних масивів не допускається у правій частині присвоювання. Наприклад:

S := S1 +’ ’+S2 ; {помилка}

У таких випадках необхідно використовувати рядки , тобто рядкові типи даних.

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

Рядкові типи даних є одним з розширень мови Паскаль, які найбільш використовуються. Рядковий тип узагальнює поняття символьних масивів, дозволяє динамічно змінювати довжину рядка.

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

Для визначення рядкових даних використовується ідентифікатор STRING, за яким у квадратних дужках вказується максимальна довжина рядка. Якщо значення не вказане, то по замовченню довжина рядка встановлюється 255 байт.

Приклад:

Line : string [80];

Line1 : string ;

Line2 : string [255].

В приведеному прикладі змінна Line може мати будь-яку послідовність символів (кожен з яких має стандартний тип char) довільної довжини в межах від 0 до 80 символів; Line1 і Line2 – від 0 до 255 символів.

Таким чином, важливіша різниця між рядками і символьними масивами, що рядки можуть динамічно змінювати свою довжину.

Змінну рядкового типу визначають у розділі опису типів, або безпосередньо у розділі опису змінних.

Рядкові дані також можна використовувати у програмі як константу.

Формат:

1. type

< ім’я типа > = string [max довжина рядка];

var

< ідентифікатор > : < ім’я типа >;

Або

2. var

< ідентифікатор > : string [maxдовжина рядка];

Приклад:

const address = ‘пл. Соборна, 1’;

type line = string [125];

var

S1 : Line;

S2 : string;

S3 : string [50];

Механізм динамічних рядків реалізований в мові Турбо-Паскаль достатньо просто.

Для рядкових змінних пам’ять виділяється відповідно максимального значення, а використовується лише частина, яка реально зайнята символами рядка у даний час, тобто для N символів виділяється N+1 байт пам’яті, із яких N байт призначено для зберігання символів рядка, а 1 байт – для значення поточної довжини цього рядка:

Елементи рядка нумеруються цілими числами, починаючи з 1. Це іноді використовують для визначення поточної довжини рядка, наприклад:

1) line := ‘ ’; {пустий рядок}

writeln (ORD (line [0] )); {на екрані число 0}

2) line : =‘ABCD’;

writeln (ORD (line [0] )); {на екрані число 4}

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

У разі присвоювання рядковій змінній виразу з довжиною більше ніж максимально допустимо для даної змінної, то символи за межами максимальної довжини не використовуються (вилучаються). Ця ситуація не є помилковою, тому переривання виконання програми у даному випадку не відбувається. Наприклад:

var line : string [4];

begin

line := ‘дуже довгий рядок’; {на екрані: дуже}

writeln (line);

end.

Таким чином рядки можуть динамічно змінювати свою довжину.

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

Над рядковими даними виконують такі операції:

1. присвоювання (:=);

2. введення (Read);

3. виведення (Write);

4. поєднання (зчеплення, конкатенації – „+");

5. порівняння (відношення).

Перші три операції виконуються стандартно, без особливостей. Тому розглянемо дві останні операції.

Операція конкатенації .

Використовується для зчеплення декількох рядків в один, причому довжина результуючого рядка не повинна перевищувати 255 символів (або вказану довжину N ). Інакше останні символи будуть відкинуті.

Приклади:

1) st := ‘a’+’b’;

st := st + ‘c’;

writeln (‘st = ‘, st) { результат st =abc}

2) var st : string [2];

begin

st :=’1’ + ‘2’ + ‘3’;

writeln (st) {на екрані 12}

end.


Операція порівняння (відношення ).

Проводить порівняння двох рядкових операндів за допомогою стандартних операторів: = , <>, >, <, >=, <=.

Правила порівняння:

1. Порівняння проводиться зліва-направо з урахуванням внутрішнього кодування символів таблиці ASCII. Рядок буде більшим, якщо перший не співпадаючий символ має більший номер.

2. У менший по довжині рядок додаються символи значення CHR(0) . Тому при однакових, символах короткий рядок завжди менше довгого рядка.

Результат виконання операції завжди має логічний тип і приймає значення TRUE або FALSE .

Приклади:

1) ‘ " ‘ < ‘.’ TRUE

2) ‘A’ > ‘1’ TRUE

3) ‘AB’ = ‘A’ FALSE

4) ‘ABC’ > ‘AB’ TRUE

5) ‘12’ <’2’ TRUE

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

Функції:

1. CONCAT(S1,S2,…,SN ) – функція типу STRING . Виконує послідовне поєднання рядків S1,S2,…,SN , кожен з яких є вираз рядкового типу (STRING). Результатом є рядок не більше 255 символів. Дана функція еквівалентна операції конкатенації: S1’ + ‘S2’ + ‘S3’…

2. COPY(st : STRING; index : INTEGER; count : INTEGER): STRING або COPY (st, index, count).

Функція копіює (повертає) частину рядка, виділеного з рядка st , довжиною count символів, починаючи з символу під номером index.

3. LENGTH(st : STRING) функція типу INTEGER повертає довжину рядка.

4. POS(subst, st : STRING): BYTE. Функція шукає у рядку st рядок subst. Результатом є номер позиції, де рядок subst зустрічається перший раз. Якщо рядок subst не знайдено, то результатом буде 0 (нуль).

5. UPCASE(ch) – функція типу CHAR. Повертає для символьного виразу ch, яке повинно представляти собою рядкову (маленьку) латинську букву, відповідно їй велику букву. Якщо значенням функціїch є будь-який інший символ (в тому числі рядкова буква російського алфавіту), функція повертає його без змін.

Процедури :

1. DELETE(st : STRING; index, count : INTEGER) або DELETE(st, index, count) процедура вилучає (знищує) count символів у рядку st починаючи з символу під номером index .

2. INSERT(subst: STRING; st: STRING; index: INTEGER) або INSERT(subst, st, index). – процедура вставляє рядок subst у рядок st , починаючи з символу під номером index.

3. STR(X [:width[:decimals]]; st: STRING) – процедура перетворює число Х (real або integer ) в рядок символів st так, як це робить це робить процедура WRITELN перед виводом. Параметри width і decimals (якщо вони присутні, тобто дужки [ ] показують на необов’язковість цих параметрів) задають формат перетворення: загальну ширину поля для представлення числаХ (width) та кількість символів дрібної частини (decimals), якщо X : REAL .

4. VAL(st, x, code) – процедура перетворює рядок символів st в значення числової змінної X (визначеного типу). Параметр code = 0 , якщо перетворення пройшло успішно, тоді X дорівнює результату перетворення. Якщо виявляється помилковий символ у рядку st , то значення Х не змінюється, а code дорівнює номеру позиції з помилковим символом.

!Особливість!: Недопустимими є пропуски (пробіли) праворуч числа у рядку st !

val (‘123_ _’, x, k) {помилка, x – не змінюється, k=4 };

val (‘_ _123’, x, k) {вірно, x=123, k=0 };

Приклади:

var x : real;

y : integer;

st, st1 : string;

begin

st := concat (‘12’, ‘345’); { рядок st містить 12345}

st1 := copy (st, 3, Length(st)-2); {st1 містить 345}

insert(‘-’ , st1, 2); { рядок st1 містить 3-45}

delete(st, pos(‘2’, st), 3); { рядок st містить 15}

str(pi : 6 : 2, st ); { рядок st містить 3,14}

val (‘3.1415’, x, y); {y містить 2, х беззмін}

end.

Висновок: таким чином над рядками можна виконувати операції присвоювання, порівняння, з’єднання (конкатенації), введення та виведення. Для цього використовують широкий набір процедур та функцій.

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита03:33:45 04 ноября 2021
.
.03:33:43 04 ноября 2021
.
.03:33:42 04 ноября 2021
.
.03:33:40 04 ноября 2021
.
.03:33:39 04 ноября 2021

Смотреть все комментарии (21)
Работы, похожие на Реферат: Оператори алгоритмічної мови Паскаль Стандартні функції і оператори роботи з рядками

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(294402)
Комментарии (4230)
Copyright © 2005 - 2024 BestReferat.ru / реклама на сайте