- •Уводзіны Ключавыя палажэнні
- •Развіццё моў камп’ютарнага праграміравання
- •Эвалюцыя мовы Pascal
- •Структурная метадалогія распрацоўкі праграм Алгарытм
- •Асноўныя этапы рашэння задач на эвм
- •Блок-схемы
- •Структураграмы
- •Тэсціраванне праграм
- •Адладка праграм
- •Структурнае праграміраванне і дакладнасць праграм
- •Асноўныя канструкцыі структур кіравання
- •Метады распрацоўкі праграм
- •Праграміраванне зверху ўніз (ад агульнага да асобнага)
- •Модульнае праграміраванне
- •Праграміраванне знізу ўверх
- •Структурнае кадзіраванне
- •Арыфметыка эвм Сістэмы злічэння
- •Пераклады лікаў з адной сістэмы злічэння ў другую
- •Пераклад цэлых дадатных лікаў з сістэмы злічэння з асновай «p» у сістэму злічэння з асновай «q»
- •Пераклад правільных дробаў з сістэмы злічэння з асновай «p» у сістэму злічэння з асновай «q»
- •Пераклад змешаных дробаў
- •Формы прадстаўлення даных
- •Формы прадстаўлення лікаў у персанальным камп’ютары
- •Захаванне лікаў з фіксаванай кропкай
- •Захаванне цэлых лікаў
- •Алгарытм прадстаўлення адмоўнага ліку ў адваротным кодзе
- •Прынцыпы захавання лікаў з плаваючай кропкай
- •Фарматы лікаў з плаваючай кропкай арыфметычнага супрацэсара ibm pc/aт 8087
- •Сродкі алгарытмічнай мовы Pascal Агульная характарыстыка алгарытмічных моў
- •Базавыя элементы мовы Pascal
- •Алфавіт
- •Лексічная структура мовы
- •Агульная структура Pascal-праграмы
- •Простыя даныя мовы Pascal і работа з імі Тыпы звестак
- •Канстанты і пераменныя
- •Абсалютныя пераменныя
- •Цэлалікавыя даныя
- •Бітавая арыфметыка
- •Дзеянні бітавай арыфметыкі
- •Сапраўдныя даныя
- •Аперацыі над сапраўднымі данымі
- •Выразы мовы
- •Літарныя даныя
- •Функцыі
- •Булеўскія даныя
- •Даныя адраснага тыпу
- •Даныя карыстальніцкага тыпу
- •Даныя пералічальнага тыпу
- •Даныя інтэрвальнага тыпу
- •Элементарныя сродкі па рабоце з данымі Наданне значэння даным
- •Найпрасцейшае вызначэнне працэдур і функцый
- •Параметры
- •Знаёмства з файлавай сістэмай
- •Файлавы тып
- •Тэкставыя стандартныя файлы
- •Увод даных розных тыпаў
- •Вывад даных розных тыпаў
- •Вывад сімвалаў
- •Вывад радковых даных
- •Вывад лагічных значэнняў
- •Вывад цэлалікавых значэнняў
- •Вывад даных сапраўднага тыпу
- •Базавыя аператары мовы і метады праграміравання Аператары
- •Простыя аператары
- •Аператар безумоўнага пераходу goto
- •Аператар выкліку працэдуры
- •Пусты аператар
- •Састаўны аператар
- •Аператары выбару
- •Умоўны аператар
- •Метады і прыёмы праграміравання
- •Аператар варыянта
- •Прыклады праграм
- •Аператары паўтарэння
- •Аператар паўтарэння for
- •Аператар паўтарэння repeat
- •Аператар паўтарэння while
- •Хуткая ступень
- •Ітэрацыйныя алгарытмы вышэйшай матэматыкі
- •Структуры даных і праца з імі сродкамі мовы Pascal Парадкавыя тыпы
- •Мноствы
- •Тыпізаваныя канстанты тыпу «мноства»
- •Дзеянні над масівамі
- •Дзеянні над элементамі масіву
- •Пераменныя тыпу «масіў» са стартавым значэннем, ці тыпізаваныя канстанты-масівы
- •Канстанты з тыпам «масіў»
- •Камбінаваны тып «запісы»
- •Змяненне (прывядзенне) тыпаў і значэнняў
- •Радкі сімвалаў
- •Наданне значэння радкам
- •Радковыя выразы
- •Рэдагаванне радкоў
- •Пераўтварэнне радкоў
- •Механізмы структуравання праграм Працэдуры і функцыі
- •Функцыі карыстальніка
- •Параметры
- •Параметры-значэнні
- •Параметры-пераменныя
- •Прынцып лакалізацыі
- •Пабочны эфект
- •Рэкурсія і ітэрацыі
- •Параметры без тыпу
- •Працэдуры і функцыі як параметры. Працэдурныя тыпы
- •Пераменныя – працэдуры і функцыі
- •Падпраграмы ў модулях
- •Выкарыстанне модуля
- •Стандартныя бібліятэчныя модулі
- •Працэдуры кіравання праграмай
- •Эфектыўнасць праграм
- •Аптымізацыя ў час кампілявання
- •Індэксацыя
- •Выкарыстанне цыклаў
- •Арганізацыя цыклаў
- •Аптымізацыя цыклаў
- •Літаратура
Радкі сімвалаў
Аб’яўленне радковых пераменных:
VAR ідэнтыфікатар : STRING [max_даўж];
або
VAR ідэнтыфікатар : STRING;
Абмежаванні: 0 max_даўж 255. Калі пры вызначэнні апушчана даўжыня радка, тады па змаўчанні яна складае 255. Паколькі даўжыня можа быць рознай, значыць, STRING – гэта дынамічныя радкі.
Прывядзём розныя прыклады радкоў.
1. Першая форма запісу:
'Нумар п/п ФІО Пасада '
дзе – сімвал вертыкальнай рыскі мае код #179 у альтэрнатыўнай кодавай табліцы.
2. Другая форма запісу:
'Нумар п/п '#179' ФІО '#179' Пасада '#179
3. Радок #7#32#179#32#32#179 эквівалентны радку ^G' | |'
Тып STRING без даўжыні з’яўляецца базавым радковым тыпам, і ён сумяшчальны з усімі вытворнымі радковымі тыпамі.
Пры спробе запісаць у пераменную радок даўжэй, чым аб’яўлена ў азначэнні, лішняя справа частка адсякаецца. Калі ў пераменную пішацца радок, карацейшы за аб’яўлены, запамінаецца яго бягучая даўжыня.
Радкі розных даўжынь сумяшчальныя паміж сабой у аператары надання значэння і аперацыях параўнання.
Наданне значэння радкам
Прыклады надання значэння радковым пераменным.
VAR A : STRING[6];
{... значэнне A:}
A :='група 1'; { А:='група ' і даўжыня радка 6;
гэта не памылковая сітуацыя}
VAR A : STRING[10];
...
A :='група 1'; { А:='група 1' (і даўжыня 8)}
VAR A : STRING[2];
...
A :='група 1'; { А:='гр' (і даўжыня 2)}
Любы сімвал у радку можна атрымаць па яго нумары, напрыклад A[5].
Кожны радок заўсёды «ведае», колькі сімвалаў у ім атрымліваецца ў дадзены момант, таму што сімвал S[0] утрымлівае код, які роўны ліку сімвалаў у значэнні радка S. Гэта значыць, што даўжыня радка S заўсёды роўна Ord(S[0]). Ёсць убудаваная функцыя length(S), якая вяртае бягучую даўжыню радка.
Вывад. Для вызначанай радковай пераменнай S даўжынёй N сімвалаў адводзіцца N + 1 байтаў памяці, з якіх нулявы байт утрымлівае даўжыню радка, а астатнія N байтаў адведзены для сімвалаў радка.
Прыклад.
VAR Myline : STRING[80];
BEGIN
Myline:='';
Writeln(Ord(Myline[0])); { 0}
Myline:='abcd';
Writeln(Ord(Myline[0])); { 4}
Myline[0]:=#2; {можна (Chr(2))}
Writeln(Myline); { аб}
END.
Заўвага. Першапачаткова радок утрымлівае «смецце», і заўсёды трэба перад выкарыстаннем кожнага радка ініцыялізаваць радкі пустымі значэннямі ці чым-небудзь яшчэ.
Радковыя выразы
Разгледзім аперацыі, працэдуры і функцыі, якія выкарыстоўваюцца для работы з радкамі.
1. Аперацыя сашчэплівання радкоў: + .
Ёсць убудаваная функцыя Concat(str1, str2, …, strn), якая выконвае сашчэпліванне радкоў str1, ..., strn.
Напрыклад, сашчапіць 4 радкі можна адным з двух наступных спосабаў:
'А..'+'Я'+' - '+'літары' 'А..Я - літары',
або
Concat('А..','Я',' - ','літары') 'А..Я - літары'.
2. Аперацыі адносін: >, =, <>, <, <=, >=.
Параўнанне радкоў адбываецца пасімвальна, пачынаючы ад першага сімвала ў радку. Радкі лічацца роўнымі, калі: 1) маюць аднолькавую даўжыню; 2) пасімвальна эквівалентныя (параўноўваюцца коды). Калі пры пасімвальным параўнанні выявіцца, што адзін сімвал большы за другі (яго код большы), тады радок, які яго ўтрымлівае, таксама лічыцца большым.
Прыклады.
'abcd' = 'abcd' true
'abcd' <> 'abcde' true
'abcd' > 'abcD' true ('d'>'D')
'abcd' > 'abc' true.