- •Уводзіны Ключавыя палажэнні
- •Развіццё моў камп’ютарнага праграміравання
- •Эвалюцыя мовы Pascal
- •Структурная метадалогія распрацоўкі праграм Алгарытм
- •Асноўныя этапы рашэння задач на эвм
- •Блок-схемы
- •Структураграмы
- •Тэсціраванне праграм
- •Адладка праграм
- •Структурнае праграміраванне і дакладнасць праграм
- •Асноўныя канструкцыі структур кіравання
- •Метады распрацоўкі праграм
- •Праграміраванне зверху ўніз (ад агульнага да асобнага)
- •Модульнае праграміраванне
- •Праграміраванне знізу ўверх
- •Структурнае кадзіраванне
- •Арыфметыка эвм Сістэмы злічэння
- •Пераклады лікаў з адной сістэмы злічэння ў другую
- •Пераклад цэлых дадатных лікаў з сістэмы злічэння з асновай «p» у сістэму злічэння з асновай «q»
- •Пераклад правільных дробаў з сістэмы злічэння з асновай «p» у сістэму злічэння з асновай «q»
- •Пераклад змешаных дробаў
- •Формы прадстаўлення даных
- •Формы прадстаўлення лікаў у персанальным камп’ютары
- •Захаванне лікаў з фіксаванай кропкай
- •Захаванне цэлых лікаў
- •Алгарытм прадстаўлення адмоўнага ліку ў адваротным кодзе
- •Прынцыпы захавання лікаў з плаваючай кропкай
- •Фарматы лікаў з плаваючай кропкай арыфметычнага супрацэсара ibm pc/aт 8087
- •Сродкі алгарытмічнай мовы Pascal Агульная характарыстыка алгарытмічных моў
- •Базавыя элементы мовы Pascal
- •Алфавіт
- •Лексічная структура мовы
- •Агульная структура Pascal-праграмы
- •Простыя даныя мовы Pascal і работа з імі Тыпы звестак
- •Канстанты і пераменныя
- •Абсалютныя пераменныя
- •Цэлалікавыя даныя
- •Бітавая арыфметыка
- •Дзеянні бітавай арыфметыкі
- •Сапраўдныя даныя
- •Аперацыі над сапраўднымі данымі
- •Выразы мовы
- •Літарныя даныя
- •Функцыі
- •Булеўскія даныя
- •Даныя адраснага тыпу
- •Даныя карыстальніцкага тыпу
- •Даныя пералічальнага тыпу
- •Даныя інтэрвальнага тыпу
- •Элементарныя сродкі па рабоце з данымі Наданне значэння даным
- •Найпрасцейшае вызначэнне працэдур і функцый
- •Параметры
- •Знаёмства з файлавай сістэмай
- •Файлавы тып
- •Тэкставыя стандартныя файлы
- •Увод даных розных тыпаў
- •Вывад даных розных тыпаў
- •Вывад сімвалаў
- •Вывад радковых даных
- •Вывад лагічных значэнняў
- •Вывад цэлалікавых значэнняў
- •Вывад даных сапраўднага тыпу
- •Базавыя аператары мовы і метады праграміравання Аператары
- •Простыя аператары
- •Аператар безумоўнага пераходу goto
- •Аператар выкліку працэдуры
- •Пусты аператар
- •Састаўны аператар
- •Аператары выбару
- •Умоўны аператар
- •Метады і прыёмы праграміравання
- •Аператар варыянта
- •Прыклады праграм
- •Аператары паўтарэння
- •Аператар паўтарэння for
- •Аператар паўтарэння repeat
- •Аператар паўтарэння while
- •Хуткая ступень
- •Ітэрацыйныя алгарытмы вышэйшай матэматыкі
- •Структуры даных і праца з імі сродкамі мовы Pascal Парадкавыя тыпы
- •Мноствы
- •Тыпізаваныя канстанты тыпу «мноства»
- •Дзеянні над масівамі
- •Дзеянні над элементамі масіву
- •Пераменныя тыпу «масіў» са стартавым значэннем, ці тыпізаваныя канстанты-масівы
- •Канстанты з тыпам «масіў»
- •Камбінаваны тып «запісы»
- •Змяненне (прывядзенне) тыпаў і значэнняў
- •Радкі сімвалаў
- •Наданне значэння радкам
- •Радковыя выразы
- •Рэдагаванне радкоў
- •Пераўтварэнне радкоў
- •Механізмы структуравання праграм Працэдуры і функцыі
- •Функцыі карыстальніка
- •Параметры
- •Параметры-значэнні
- •Параметры-пераменныя
- •Прынцып лакалізацыі
- •Пабочны эфект
- •Рэкурсія і ітэрацыі
- •Параметры без тыпу
- •Працэдуры і функцыі як параметры. Працэдурныя тыпы
- •Пераменныя – працэдуры і функцыі
- •Падпраграмы ў модулях
- •Выкарыстанне модуля
- •Стандартныя бібліятэчныя модулі
- •Працэдуры кіравання праграмай
- •Эфектыўнасць праграм
- •Аптымізацыя ў час кампілявання
- •Індэксацыя
- •Выкарыстанне цыклаў
- •Арганізацыя цыклаў
- •Аптымізацыя цыклаў
- •Літаратура
Рэдагаванне радкоў
1. Функцыя Copy(S, Start, N) капіруе з радка S падрадок даўжынёй N сімвалаў, пачынаючы з пазіцыі Start (параметры Start, N – тыпу Integer).
Калі значэнне Start большае за даўжыню радка S, тады вынікам будзе пусты радок. Калі значэнне N большае, чым колькасць сімвалаў ад Start да канца радка S, тады вернецца рэшта радка S ад пазіцыі Start да канца радка.
Выкарыстанне функцыі Copy:
Прыклады.
SCopy := Copy('ABC***123', 4, 3); {SCopy='***'}
SCopy := Copy('ABC', 4, 3); {SCopy=''}
SCopy := Copy('ABC***123', 4, 11); {SCopy='***123'}
2. Функцыя Pos(Subs, S)зварочвае нумар сімвала ў радку S, пачынаючы з якога ў радок S уключаецца падрадок Subs (тып выніку Pos – Byte). Калі S не ўтрымлівае ў сабе Subs, тады функцыя верне 0.
Выкарыстанне функцыі Pos:
Няхай: S:='abcdef'.
Pos('de', S) 4.
Pos('r', S) 0.
3. Працэдура Delete(S, Start, N) выдаляе N сімвалаў радка S, пачынаючы з пазіцыі Start.
S := 'РАДОК';
Delete(S, 2, 3); {S='РК'}
Калі Start = 0 ці перавышае даўжыню радка S, тады радок не зменіцца; калі N = 0, тады радок не зменіцца; калі N большае за рэшту радка, будзе выдалены падрадок ад Start і да канца радка S.
Выкарыстанне функцыі Delete:
Delete(S, 16, 255) – укарочваюцца радкі, даўжэйшыя за 16 сімвалаў.
4. Працэдура Insert(Subs, S, Start) устаўляе падрадок Subs у радок S, пачынаючы з пазіцыі Start.
Выкарыстанне функцыі Insert:
S:='Пачатак-канец';
Insert('сярэдзіна -', S, 9);
Атрымаем вынік: S = 'Пачатак-сярэдзіна-канец'.
Калі даўжыня радка S аказваецца пры ўстаўцы большай за аб’яўленую, тады радок аўтаматычна ўкарочваецца да аб’яўленай даўжыні S (абсякаецца правы канец).
5. Працэдура запаўнення FillChar(V, Len, C), дзе V – пераменная любога тыпу, Len (тып Word) – лік байтаў пераменнай V, якія будуць запоўнены значэннем C (C – тыпу Byte ці Char).
Выкарыстанне працэдуры FillChar:
VAR S: STRING;
...
FillChar(S[1], 80, ' ');
S[0]:=chr(80);
Заўвага. У такім выпадку абавязкова трэба сказаць, якой даўжыні стаў радок.
Пераўтварэнне радкоў
1. Працэдура Str(V, S) пераўтварае лікавае значэнне V у радок S. Пасля V можа запісвацца фармат у такім выглядзе:
V:m або V:m:n,
дзе n < m, m, n – даныя цэлага тыпу; m – шырыня поля для ліку; n – колькасць знакаў пасля дзесятковай кропкі.
Для цэлых лікаў задаюць толькі поле m. Калі ж для сапраўдных лікаў задаюць толькі m, тады лік запішацца ў экспаненцыяльнай форме.
Выкарыстанне працэдуры Str:
Str(6.66:8:2, S); {S=' 6.66'}
Str(6.66:8:0, S); {S=' 7'}
Заўвага. Калі m > 0, тады лік выраўноўваецца па правым краі, а калі m < 0, тады выраўноўванне адбываецца па левым краі, а лішкі як бы сціраюцца: Str(6.66:-8:2, S); {S='6.66'}.
VAR F, n : Integer;
S : STRING;
...
F:=-5; n:=1;
Str(-123.426:F:n,S); {S='-123.5'}
Str(6.66:8:2, S); {S=' 6.66'}
2. Працэдура Val(S,V,ErrorCode) пераўтварае значэнне радка S у велічыню цэлалікавага ці сапраўднага тыпу і запісвае ў лікавую пераменную V. Пераменная ErrorCode – тыпу Integer. Калі пераўтварэнне магчыма, тады пераменная ErrorCode роўная 0, у адваротным выпадку яна мае нумар сімвала ў радку S, на якім працэдура спынілася.
Выкарыстанне працэдуры Val:
VAR V:Longint;
S:='14.2E+2'; Val(S,V,C); {V=1420; C=0}
S:='14.2A+2'; Val(S,V,C); {V=?; C=5}