
- •Уводзіны Ключавыя палажэнні
- •Развіццё моў камп’ютарнага праграміравання
- •Эвалюцыя мовы Pascal
- •Структурная метадалогія распрацоўкі праграм Алгарытм
- •Асноўныя этапы рашэння задач на эвм
- •Блок-схемы
- •Структураграмы
- •Тэсціраванне праграм
- •Адладка праграм
- •Структурнае праграміраванне і дакладнасць праграм
- •Асноўныя канструкцыі структур кіравання
- •Метады распрацоўкі праграм
- •Праграміраванне зверху ўніз (ад агульнага да асобнага)
- •Модульнае праграміраванне
- •Праграміраванне знізу ўверх
- •Структурнае кадзіраванне
- •Арыфметыка эвм Сістэмы злічэння
- •Пераклады лікаў з адной сістэмы злічэння ў другую
- •Пераклад цэлых дадатных лікаў з сістэмы злічэння з асновай «p» у сістэму злічэння з асновай «q»
- •Пераклад правільных дробаў з сістэмы злічэння з асновай «p» у сістэму злічэння з асновай «q»
- •Пераклад змешаных дробаў
- •Формы прадстаўлення даных
- •Формы прадстаўлення лікаў у персанальным камп’ютары
- •Захаванне лікаў з фіксаванай кропкай
- •Захаванне цэлых лікаў
- •Алгарытм прадстаўлення адмоўнага ліку ў адваротным кодзе
- •Прынцыпы захавання лікаў з плаваючай кропкай
- •Фарматы лікаў з плаваючай кропкай арыфметычнага супрацэсара ibm pc/aт 8087
- •Сродкі алгарытмічнай мовы Pascal Агульная характарыстыка алгарытмічных моў
- •Базавыя элементы мовы Pascal
- •Алфавіт
- •Лексічная структура мовы
- •Агульная структура Pascal-праграмы
- •Простыя даныя мовы Pascal і работа з імі Тыпы звестак
- •Канстанты і пераменныя
- •Абсалютныя пераменныя
- •Цэлалікавыя даныя
- •Бітавая арыфметыка
- •Дзеянні бітавай арыфметыкі
- •Сапраўдныя даныя
- •Аперацыі над сапраўднымі данымі
- •Выразы мовы
- •Літарныя даныя
- •Функцыі
- •Булеўскія даныя
- •Даныя адраснага тыпу
- •Даныя карыстальніцкага тыпу
- •Даныя пералічальнага тыпу
- •Даныя інтэрвальнага тыпу
- •Элементарныя сродкі па рабоце з данымі Наданне значэння даным
- •Найпрасцейшае вызначэнне працэдур і функцый
- •Параметры
- •Знаёмства з файлавай сістэмай
- •Файлавы тып
- •Тэкставыя стандартныя файлы
- •Увод даных розных тыпаў
- •Вывад даных розных тыпаў
- •Вывад сімвалаў
- •Вывад радковых даных
- •Вывад лагічных значэнняў
- •Вывад цэлалікавых значэнняў
- •Вывад даных сапраўднага тыпу
- •Базавыя аператары мовы і метады праграміравання Аператары
- •Простыя аператары
- •Аператар безумоўнага пераходу goto
- •Аператар выкліку працэдуры
- •Пусты аператар
- •Састаўны аператар
- •Аператары выбару
- •Умоўны аператар
- •Метады і прыёмы праграміравання
- •Аператар варыянта
- •Прыклады праграм
- •Аператары паўтарэння
- •Аператар паўтарэння for
- •Аператар паўтарэння repeat
- •Аператар паўтарэння while
- •Хуткая ступень
- •Ітэрацыйныя алгарытмы вышэйшай матэматыкі
- •Структуры даных і праца з імі сродкамі мовы Pascal Парадкавыя тыпы
- •Мноствы
- •Тыпізаваныя канстанты тыпу «мноства»
- •Дзеянні над масівамі
- •Дзеянні над элементамі масіву
- •Пераменныя тыпу «масіў» са стартавым значэннем, ці тыпізаваныя канстанты-масівы
- •Канстанты з тыпам «масіў»
- •Камбінаваны тып «запісы»
- •Змяненне (прывядзенне) тыпаў і значэнняў
- •Радкі сімвалаў
- •Наданне значэння радкам
- •Радковыя выразы
- •Рэдагаванне радкоў
- •Пераўтварэнне радкоў
- •Механізмы структуравання праграм Працэдуры і функцыі
- •Функцыі карыстальніка
- •Параметры
- •Параметры-значэнні
- •Параметры-пераменныя
- •Прынцып лакалізацыі
- •Пабочны эфект
- •Рэкурсія і ітэрацыі
- •Параметры без тыпу
- •Працэдуры і функцыі як параметры. Працэдурныя тыпы
- •Пераменныя – працэдуры і функцыі
- •Падпраграмы ў модулях
- •Выкарыстанне модуля
- •Стандартныя бібліятэчныя модулі
- •Працэдуры кіравання праграмай
- •Эфектыўнасць праграм
- •Аптымізацыя ў час кампілявання
- •Індэксацыя
- •Выкарыстанне цыклаў
- •Арганізацыя цыклаў
- •Аптымізацыя цыклаў
- •Літаратура
Прынцыпы захавання лікаў з плаваючай кропкай
Паколькі
арыфметычныя дзеянні над лікамі з
плаваючай кропкай акрамя выканання
аперацыі над мантысай патрабуюць пэўных
аперацый над парадкамі (параўнанне,
складанне, адніманне), то для спрашчэння
аперацый над парадкамі іх зводзяць
да дзеянняў над цэлымі дадатнымі лікамі
(без знака). Да парадку
дадаюць цэлы лік – зрушэнне. Звычайна
зрушэнне
дзе
– лік двайковых разрадаў, якія
выкарыстоўваюцца для
запісу модуля парадку. Тады
і
называюць характарыстыкай.
Пры фіксаваным ліку разрадаў мантысы любая велічыня ўяўляецца ў ЭВМ з найбольшай магчымай дакладнасцю нармалізаваным лікам.
Лік
называецца нармалізаваным, калі
мантыса – правільны дроб:
У ПК
выкарыстоўваецца другая ўмова
нармалізацыі ліку:
.
Пры гэтай умове старэйшую лічбу можна
не захоўваць. Значыць,
ёсць дзве формы нармалізацыі мантысы
ў 2-й с/зл:
а)
б)
З гэтых
прыкладаў відаць, што ў
памяці трэба захоўваць два лікі: мантысу
і парадак, а аснова сістэмы
злічэння
вядома. Пад лік адводзіцца ячэйка
– цотная колькасць байтаў. Ячэйку ўмоўна
разбіваюць на дзве часткі. У адной
размяшчаюць зрушаны парадак ліку, у
другой – мантысу (звычайна лічбы
пасля кропкі як умоўна цэлае). Пад знак
мантысы таксама
адводзіцца 1 біт.
Выкарыстанне «мяркуемага» (схаванага) старэйшага разраду мантысы прыводзіць да неабходнасці ўяўлення лікаў з нулявой мантысай асобым кодам, бо нулявая мантыса не адрозніваецца ад мантысы, роўнай 1/2. Такім кодам узялі код, роўны ў камп’ютары ўсім нулям разраднай сеткі.
Ад канкрэтнай ЭВМ залежыць колькасць байтаў, якая адводзіцца пад лік; прапорцыя, у якой разбіваецца ячэйка для захавання мантысы і парадку; паслядоўнасць размяшчэння мантысы і парадку і інш.
Чым большая колькасць бітаў адводзіцца пад парадак, тым большы атрымліваецца дыяпазон лікаў, якія магчыма ўявіць у камп’ютары; чым большая колькасць бітаў адводзіцца пад мантысу, тым з большай дакладнасцю будуць прадстаўлены лікі ў камп’ютары.
Заўвага 1. Даныя, якія захоўваюцца ў ЭВМ у форме з плаваючай кропкай, амаль заўсёды прадстаўлены з хібнасцю і толькі прыблізна роўны зыходнаму ліку. Хібнасць абумоўлена абмежаванасцю на даўжыню мантысы (на колькасць разрадаў).
Заўвага 2. Пад
парадак таксама адводзіцца абмежаваная
колькасць разрадаў, значыць,
дыяпазон лікаў з плаваючай кропкай
абмежаваны:
Фарматы лікаў з плаваючай кропкай арыфметычнага супрацэсара ibm pc/aт 8087
Памеры памяці, якая вылучаецца пад лікі з плаваючай кропкай, істотна залежаць ад апаратнай рэалізацыі ЭВМ. Для IBM PC/AТ лікі з плаваючай кропкай займаюць поле (ячэйку) у 4 байты (Single), 6 байтаў (Real), 8 байтаў (Double), 10 байтаў (Extended).
Характарыстыка – гэта зрушаны код парадку з адмоўным нулём.
Па
стандарце зрушэнне парадку роўна
дзе
– колькасць разрадаў, адведзеных
для захавання кода парадку. Значэнне
парадку ляжыць у інтэрвале
Для тыпу Real
зрушэнне роўна
Код
не выкарыстоўваецца, бо зарэзерваваны
для ўказання перапаўнення
парадку ці на страту вартасці мантысы.
Пры гэтым атрымліваюцца
наступныя дыяпазоны лікаў:
пры
4-байтавым слове k = 8,
што адпавядае дыяпазону
лікаў
які ўяўляецца з хібнасцю
пры
6-байтавым слове k = 8,
што адпавядае дыяпазону
лікаў
які ўяўляецца з хібнасцю
пры 8-байтавым слове k = 11,
што адпавядае дыяпазону
лікаў
які ўяўляецца з хібнасцю
пры
10-байтавым слове k = 15,
што адпавядае дыяпазону
лікаў
які ўяўляецца з хібнасцю
Схема захавання лікаў у памяці наступная.
|
|||
Real |
± |
Нармалізаваная мантыса (f) |
Характарыстыка (l) |
Біты |
47 |
46 8 |
7 0 |
лік расшыфроўваецца так:
калі
Знак мантысы |
|
|||
Single |
± |
Характарыстыка (l) |
Нармалізаваная мантыса (f) |
|
Біты |
31 |
30 23 |
22 0 |
лік расшыфроўваецца так:
калі
Знак мантысы |
|
|||
Double |
± |
Характарыстыка (l) |
Нармалізаваная мантыса (f) |
|
Біты |
63 |
62 52 |
51 0 |
лік расшыфроўваецца так:
калі
Знак мантысы |
|
|||
Extended |
± |
Характарыстыка (l) |
Нармалізаваная мантыса (1.f) |
|
Біты |
79 |
78 64 |
63 0 |
лік расшыфроўваецца так:
калі
Ва ўсіх
формах уяўлення лікаў
калі