Лекция 01. Тема Общая характеристика языков программирования высокого уровня


Download 4.1 Mb.
Pdf ko'rish
bet19/57
Sana12.11.2023
Hajmi4.1 Mb.
#1767546
TuriЛекция
1   ...   15   16   17   18   19   20   21   22   ...   57
Bog'liq
Lektsii po YaP Lukinova 2 sem

 
Контрольные вопросы:
1. 
Что представляет собой абстракция ячейки памяти?
2. 
Дать определение переменной и константы.
3. 
Какими характеристиками обладает переменная как базовый объект ЯП?
4. 
Дать определение типа данных.
5. 
Что такое контроль типов?
6. 
Какие механизмы контроля типов могут быть реализованы в ЯП?
7. 
Чем отличается сильнотипизированный язык от языка со слабой 
типизацией?
8. 
Что такое время жизни переменной?
9. 
Какие существуют категории переменных с точки зрения времени жизни?
10. 
В чем смысл статического и динамического обзоров данных?
11. 
Какие механизмы реализованы в СОД и ДОД?


ЛЕКЦИЯ Д2. СИСТЕМА ТИПОВ ДАННЫХ ЯЗЫКА 
Данные, которые обрабатываются ЭВМ, могут быть числового
символьного или логического типов. При этом сложность задач, 
моделируемых на ЯПВУ, требует различных способов представления 
разнообразных данных предметной области задачи.
Отсюда следует, что система типов данных ЯПВУ должна:
1.
Поддерживать базовые (элементарные, простые, предопределенные) 
типы, а именно:

целый (integer),

плавающий (real),

логический (boolean),

символьный (character).
2. Поддерживать высокую ортогональность, т.е. дать возможность 
создавать разнообразное множество типов для описания предметной области 
задачи.
Далее будут рассмотрены вопросы, связанные с реализацией в языке 
программирования, как базовых типов данных, так и сложных, структурных 
типов, определяемых пользователем на основе базовых.
3.1. Целочисленный тип данных. 
Целые числа, моделируемые целочисленным типом данных, 
представляются в компьютере в виде строки битов, причем крайний слева 
бит 
кодирует 
знак 
числа. 
Целочисленные 
типы 
реализуются 
непосредственно на аппаратном уровне. Сейчас, как правило, в компьютерах 
поддерживаются целые числа нескольких размеров (различных диапазонов), 
что нашло отражение в ЯП: имеются короткий, целый, длинный, 
беззнаковый форматы представлений целых чисел.
В ЯПВУ могут быть реализованы следующие операции над целыми 
числами: сложение (+), вычитание (-), умножение (*), деление (/), взятие 
остатка от деления (mod), возведение в степень (**), сравнение на равенство 


(=), сравнение на неравенство (/=), сравнение на меньше (<), сравнение на 
меньше или равно (<=), сравнение на больше (>), сравнение на больше или 
равно (>=), унарный плюс (+), унарный минус (-), абсолютное значение (abs). 
Поясним семантику операции «/» и «mod». Результат операции деления 
всегда округляется (т.е. целый). Важно, в какую сторону производится 
округление. В математике округление возможно по недостатку (в сторону 0) 
или по избытку (в сторону положительной бесконечности). Однако для
отрицательных чисел эти математические понятия отличаются: округление по 
недостатку – в сторону отрицательной бесконечности, а по избытку – в сторону 
0.
В ЭВМ также должно быть определено какое-либо правило округления: 
при делении положительных чисел общепринятой практикой при машинной 
реализации является округление в сторону нуля. Однако в большинстве 
ЭВМ, когда один из операндов отрицательный, результат также округляется 
в сторону нуля, что уже отличается от математических понятий целой части. 
Поэтому при разработке ЯПВУ могут быть реализованы, по крайней мере
следующие четыре решения:

включить проверку знака и сделать корректировку для 
отрицательных операндов;

запретить отрицательные операнды;

ввести две различные операции, одна из которых округляет к нулю, 
а другая к отрицательной бесконечности;

оставить так, как есть.

Download 4.1 Mb.

Do'stlaringiz bilan baham:
1   ...   15   16   17   18   19   20   21   22   ...   57




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling