
- •Уводзіны Ключавыя палажэнні
- •Развіццё моў камп’ютарнага праграміравання
- •Эвалюцыя мовы Pascal
- •Структурная метадалогія распрацоўкі праграм Алгарытм
- •Асноўныя этапы рашэння задач на эвм
- •Блок-схемы
- •Структураграмы
- •Тэсціраванне праграм
- •Адладка праграм
- •Структурнае праграміраванне і дакладнасць праграм
- •Асноўныя канструкцыі структур кіравання
- •Метады распрацоўкі праграм
- •Праграміраванне зверху ўніз (ад агульнага да асобнага)
- •Модульнае праграміраванне
- •Праграміраванне знізу ўверх
- •Структурнае кадзіраванне
- •Арыфметыка эвм Сістэмы злічэння
- •Пераклады лікаў з адной сістэмы злічэння ў другую
- •Пераклад цэлых дадатных лікаў з сістэмы злічэння з асновай «p» у сістэму злічэння з асновай «q»
- •Пераклад правільных дробаў з сістэмы злічэння з асновай «p» у сістэму злічэння з асновай «q»
- •Пераклад змешаных дробаў
- •Формы прадстаўлення даных
- •Формы прадстаўлення лікаў у персанальным камп’ютары
- •Захаванне лікаў з фіксаванай кропкай
- •Захаванне цэлых лікаў
- •Алгарытм прадстаўлення адмоўнага ліку ў адваротным кодзе
- •Прынцыпы захавання лікаў з плаваючай кропкай
- •Фарматы лікаў з плаваючай кропкай арыфметычнага супрацэсара ibm pc/aт 8087
- •Сродкі алгарытмічнай мовы Pascal Агульная характарыстыка алгарытмічных моў
- •Базавыя элементы мовы Pascal
- •Алфавіт
- •Лексічная структура мовы
- •Агульная структура Pascal-праграмы
- •Простыя даныя мовы Pascal і работа з імі Тыпы звестак
- •Канстанты і пераменныя
- •Абсалютныя пераменныя
- •Цэлалікавыя даныя
- •Бітавая арыфметыка
- •Дзеянні бітавай арыфметыкі
- •Сапраўдныя даныя
- •Аперацыі над сапраўднымі данымі
- •Выразы мовы
- •Літарныя даныя
- •Функцыі
- •Булеўскія даныя
- •Даныя адраснага тыпу
- •Даныя карыстальніцкага тыпу
- •Даныя пералічальнага тыпу
- •Даныя інтэрвальнага тыпу
- •Элементарныя сродкі па рабоце з данымі Наданне значэння даным
- •Найпрасцейшае вызначэнне працэдур і функцый
- •Параметры
- •Знаёмства з файлавай сістэмай
- •Файлавы тып
- •Тэкставыя стандартныя файлы
- •Увод даных розных тыпаў
- •Вывад даных розных тыпаў
- •Вывад сімвалаў
- •Вывад радковых даных
- •Вывад лагічных значэнняў
- •Вывад цэлалікавых значэнняў
- •Вывад даных сапраўднага тыпу
- •Базавыя аператары мовы і метады праграміравання Аператары
- •Простыя аператары
- •Аператар безумоўнага пераходу goto
- •Аператар выкліку працэдуры
- •Пусты аператар
- •Састаўны аператар
- •Аператары выбару
- •Умоўны аператар
- •Метады і прыёмы праграміравання
- •Аператар варыянта
- •Прыклады праграм
- •Аператары паўтарэння
- •Аператар паўтарэння for
- •Аператар паўтарэння repeat
- •Аператар паўтарэння while
- •Хуткая ступень
- •Ітэрацыйныя алгарытмы вышэйшай матэматыкі
- •Структуры даных і праца з імі сродкамі мовы Pascal Парадкавыя тыпы
- •Мноствы
- •Тыпізаваныя канстанты тыпу «мноства»
- •Дзеянні над масівамі
- •Дзеянні над элементамі масіву
- •Пераменныя тыпу «масіў» са стартавым значэннем, ці тыпізаваныя канстанты-масівы
- •Канстанты з тыпам «масіў»
- •Камбінаваны тып «запісы»
- •Змяненне (прывядзенне) тыпаў і значэнняў
- •Радкі сімвалаў
- •Наданне значэння радкам
- •Радковыя выразы
- •Рэдагаванне радкоў
- •Пераўтварэнне радкоў
- •Механізмы структуравання праграм Працэдуры і функцыі
- •Функцыі карыстальніка
- •Параметры
- •Параметры-значэнні
- •Параметры-пераменныя
- •Прынцып лакалізацыі
- •Пабочны эфект
- •Рэкурсія і ітэрацыі
- •Параметры без тыпу
- •Працэдуры і функцыі як параметры. Працэдурныя тыпы
- •Пераменныя – працэдуры і функцыі
- •Падпраграмы ў модулях
- •Выкарыстанне модуля
- •Стандартныя бібліятэчныя модулі
- •Працэдуры кіравання праграмай
- •Эфектыўнасць праграм
- •Аптымізацыя ў час кампілявання
- •Індэксацыя
- •Выкарыстанне цыклаў
- •Арганізацыя цыклаў
- •Аптымізацыя цыклаў
- •Літаратура
Захаванне цэлых лікаў
Для прадстаўлення цэлых лікаў у форме з фіксаванай кропкай са знакам у ЭВМ прымяняюць прамы, адваротны і дадатковы коды.
Агульная ідэя пабудовы кодаў такая. Код трактуецца як лік без знака, а дыяпазон лікаў без знака разбіваецца на два паддыяпазоны. Адзін з іх дае дадатныя лікі, а другі – адмоўныя. Разбіванне выконваецца такім чынам, каб прыналежнасць да дыяпазону вызначалася максімальна проста. Вельмі зручна фарміраваць коды так, каб значэнне старэйшага разраду паказвала на знак ліку.
Прамы
код двайковага ліку
,
які ўяўляецца ў n-разраднай
сетцы
вызначаецца як
дзе A – велічыня, роўная вазе старэйшага разраду сеткі (для цэлых лікаў A = 2n–1).
Фактычна
ў прамым
кодзе захоўваецца
модуль ліку,
а ў старэйшым
разрадзе
стаіць знакавы
біт: 0 – для
дадатных, 1 – для
адмоўных лікаў.
Дыяпазон лікаў у прамым
кодзе:
– для дадатных, старэйшы разрад роўны
0;
– для адмоўных, старэйшы разрад роўны
1.
Адваротны
код двайковага ліку
які ўяўляецца ў n-разраднай
сетцы
вызначаецца як
дзе
– велічыня найбольшага ліку без знака,
які размяшчаецца ў n-разраднай
сетцы
– для цэлых лікаў.
Дыяпазон
лікаў у адваротным кодзе:
Па гэтым вызначэнні адваротны код адмоўнага ліку ўяўляе сабой дапаўненне модуля зыходнага ліку да найбольшага ліку без знака, які змяшчаецца ў разрадную сетку. Такім чынам, атрыманне адваротнага кода адмоўнага ліку зводзіцца да атрымання інверсіі (замены 0 на 1, а 1 на 0) n-разраднага кода модуля гэтага ліку. Значыць, знакавы біт мае 0 для дадатнага ліку і 1 – для адмоўнага. Недахопам такога спосабу з’яўляецца тое, што лікі 0 і (– 0) маюць рознае ўяўленне.
Дадатковы код двайковага ліку які ўяўляецца ў n-разраднай сетцы вызначаецца як
дзе
– велічыня, роўная вазе разраду, які
размяшчаецца за старэйшым разрадам
выкарыстоўваемай разраднай сеткі. Для
цэлых лікаў
.
Дыяпазон лікаў у
дадатковым кодзе:
– для дадатных, старэйшы разрад
роўны 0;
– для адмоўных, старэйшы разрад роўны
1. Для цэлых адмоўных лікаў
У дадатковым кодзе добра выконваюцца аперацыі складання і аднімання цэлых лікаў.
Заўвага. Калі адбываецца перапаўненне, то на гэта рэагуе знакавы разрад.
Алгарытм прадстаўлення адмоўнага ліку ў адваротным кодзе
Лік перакладаецца ў
2-ю с/зл; дапаўняецца нулямі
да
разрадаў; выконваецца інверсія
двайковых лічбаў; да кода дадаецца лік
1.
Заўвага. У камп’ютары цэлыя дадатныя лікі захоўваюцца ў прамым, а цэлыя адмоўныя – у дадатковым кодзе.
Тып даных |
Памер у байтах |
Дыяпазон лікаў |
Спосаб захавання лікаў |
Byte |
1 |
0..255 |
Захоўваюцца толькі неадмоўныя лікі ў прамым кодзе |
Word |
2 |
0..65535 |
|
Shortint |
1 |
–128..127 |
Неадмоўныя лікі захоўваюцца ў прамым кодзе, адмоўныя – у дадатковым |
Integer |
2 |
–32768..32767 |
|
Longint |
4 |
–2147483648..2147483647 |