Автор: Пользователь скрыл имя, 03 Ноября 2012 в 14:30, контрольная работа
Цель работы – описать
- характеристику системы;
- стандарты;
- её преимущества и недостатки.
Имя типа. |
Диапозон значений. |
Размер памяти. |
Shortint |
- 128 .. 127 |
1 байт |
integer |
- 32768 .. 32767 |
2 байтa |
Long |
- 2147483648 .. 2147483647 |
4 байтa |
byte |
0 .. 255 |
1 байт |
Word |
0 .. 65535 |
2 байтa |
Вещественные типы
Имя типа. |
Диапазон значений. |
Число цифр мантиссы. |
Размер памяти. |
Real |
2.9e-39 .. 1.7e+38 |
11 - 12 |
6 байт |
Single |
1.5e-45 .. 3.4e+38 |
7 - 8 |
4 байт |
Double |
5.0e-324 .. 1.7e+308 |
15 - 16 |
8 байт |
Extende |
3.4e-4932 .. 1.1e+4932 |
19 - 20 |
10 байт |
Comp |
-9.2e+18 .. 9.2e + 18 |
19 - 20 |
8 байт |
Тип - это множество значений, которые могут принимать объекты программы, и совокупность операций, допустимых над этими значениями.
|
Значения целых типов могут изображаться в программе двумя способами: в десятичном виде (традиционно, в виде последовательности цифр) и в шестнадцатеричном виде (в этом случае число предваряется знаком «$», а цифры старше 9 обозначаются латинскими буквами от А до F).
Пример:
Var
x1, x2:integer;
y1:byte;
y2:word;
Над данными целого типа определены следующие арифметические операции: сложение «+», вычитание «-», умножение «*», деление «/», целочисленное деление div, остаток от деления mod. Результат выполнения этих операций над целыми операндами также имеет целый тип.Также с целыми числами можно производить операции, результаты которых не целые числа. Это обычное деление и операции отношения. Кроме того, имеется большое количество встроенных функций для работы с целыми числами: abs, sqr, sqrt, sin, cos, exp, ln и др.
Над данными целого типа определены следующие операции отношения: равно «=», не равно «<>», больше «>», меньше «<», больше или равно «>=», меньше или равно «<=», вырабатывающие результат логического типа (Boolean).
Вещественные типы
Данные вещественного (действительного) типа используются значительно чаще целого типа. Они необходимы в тех случаях, когда числовые значения могут содержать дробные части.
Число цифр определяет точность, с
которой будет храниться
Над действительными числами выполнимы операции сложения (+), вычитания (-), умножения (*) и деления (/). Результатом этих операций является также действительное число. Даже если хотя бы один из операндов вещественный, то результат этих операций также будет вещественным. Операция деления (/) дает вещественный результат и в случае двух целых операндов. Например, 6 / 2 = 3.0.Для действительных чисел допустимы такие же операции отношения (сравнения), что и для целых чисел.
Функция int возвращает в виде действительного значения целую часть аргумента, frac возвращает дробную часть аргумента.
Функции trunc и round возвраща
Функция random без аргументов возвращает равномерно распределенное случайное число от 0 до 1.
Не имеющая аргументов функция pi возвращает число Пифагора.
Нельзя использовать переменные и константы вещественного типа:
- в функциях pred, succ, ord;
- в качестве индексов массивов;
- в операторах передачи управления в качестве меток.
Рассмотрим методику составления алгоритмов с помощью блок-схем и описаны основные операторы языка: условный оператор if, оператор выбора case, операторы цикла while..do, repeat..until, for..do.
Как правило, созданию программы предшествует разработка алгоритма
Алгоритм — это четкое описание последовательности действий, которые необходимо выполнить для того, чтобы при соответствующих исходных данных получить требуемый результат. Одним из способов представления алгоритма является блок-схема. При ее составлении все этапы решения задачи изображаются с помощью различных геометрических фигур. Эти фигуры называют блоками и, как правило, сопровождают надписями. Последовательность выполнения этапов указывают при помощи стрелок, соединяющих эти блоки.
Типичные этапы решения задачи изображаются следующими геометрическими фигурами:
• блок начала (конца) Надпись внутри блока: «начало»
• блок ввода (вывода) данных. Надпись внутри блока: ввод (вывод) и список вводимых (выводимых) переменных;
• блок решения, или арифметический. Внутри блока записывается действие, вычислительная операция или группа операций;
• условный блок. Логическое условие записывается внутри блока. В результате проверки условия осуществляется выбор одного из возможных путей (ветвей) вычислительного процесса.
Рассмотренные блоки позволяют описать три основные конструкции алгоритма: линейный, разветвляющийся и циклический процесс.
Линейный процесс — это конструкция, представляющая собой последовательное выполнение двух или более блоков.
Разветвляющийся процесс задает выполнение одного или другого
оператора в зависимости от выполнения условия.
Циклический процесс задает многократное выполнение оператора
или группы операторов.
Нетрудно заметить, что каждая из основных конструкций алгоритма имеет один вход и один выход. Это позволяет вкладывать конструкции друг в друга произвольным образом и составлять алгоритмы для решения задач любой сложности.
Рассмотрим операторы языка программирования Free Pascal, реализующие основные конструкции алгоритма.
Линейный процесс Разветвляющийся процесс
Циклический процесс
Оператор присваивания
Оператор присваивания в языке Free Pascal состоит из двух символов: двоеточия и знака равенства. Символы := всегда пишут слитно.
Пробелы допускаются перед символом двоеточия и после символа равенства.
В общем случае оператор присваивания имеет вид: имя переменной := значение;
где значение – это выражение, переменная, константа или функция.
Выполняется оператор так. Сначала вычисляется значение выражения, указанного в правой части оператора, а затем его результат записывается в область памяти (переменную), имя которой указано слева.
Например, запись a:=b означает, что переменной а присваивается
значение b.
Типы переменных a и b должны совпадать или быть совместимыми для присваивания, то есть тип, к которому принадлежит переменная b, должен находиться в границах типа переменной а.
Составной оператор
Составной оператор – группа операторов языка Free Pascal, отделенных друг от друга точкой с запятой, начинающихся со служебного слова begin и заканчивающихся служебным словом end:
begin
оператор_1;
...
оператор_n
end;
Транслятор воспринимает составной оператор как один оператор.
Условные операторы
В языке Free Pascal одна из основных конструкций алгоритма,
разветвляющийся процесс, реализована двумя условными операторами: if и case.
. Для организации вычислений в зависимости от какого-либо условия в языке Free Pascal используется условный оператор if…then…else, который в общем виде записывается так:
if условие then оператор_1 else оператор_2;
где if…then…else – зарезервированные
слова, условие – выражение
Условные операторы могут быть вложены друг в друга. При вложениях условных операторов всегда действует правило: альтернатива else считается принадлежащей ближайшему if, имеющему ветвь else.
Оператор варианта case.
Оператор варианта case необходим в тех случаях, когда в зависимости от значений какой-либо переменной надо выполнить те или иные операторы.
case переменная of
набор_значений_1: оператор_1;
набор_значений_2: оператор_2;
…
набор_значений_N: оператор_N
else
альтернативный_оператор
end;
Оператор работает следующим образом. Если переменная принимает значение из набора_значений_1, то выполняется оператор_1. Если переменная принимает значение из набора_значений_2, то выполняется оператор_2 и так далее. Если переменная не принимает значений из имеющихся наборов, то выполняется альтернативный оператор, расположенный после ключевого слова else. Тип переменной должен быть только перечислимым (включая
char и boolean), диапазоном или целочисленным.
Набор_значений – это
До появления модулей
в их современном виде некоторые
реализации Паскаля поддерживали модульность
за счёт механизма включения
Современные реализации языка Паскаль (начиная с UCSD Pascal) поддерживают модули. Программные модули могут быть двух видов: модуль главной программы, который, как обычно, начинается с ключевого слова program и тело которого содержит код, запускаемый после загрузки программы в память, и вспомогательных модулей, содержащих типы, константы, переменные, процедуры и функции, предназначенные для использования в других модулях, в том числе в главном модуле.
Чтобы использовать модуль, главная программа или другой модуль должны импортировать данный модуль, то есть содержать объявление о его использовании. Это объявление делается с помощью инструкции подключения модулей, представляющей собой ключевое слово USES, за которым через запятую следуют имена модулей, которые требуется подключить. Инструкция подключения должна следовать непосредственно за заголовком программы, либо после ключевого слова INTERFACE, если подключение производится в модуле. Модули спроектированы в расчёте на обеспечение раздельной компиляции — компилятор не должен компилировать импортированные модули для того, чтобы откомпилировать модуль, который их использует. Однако, чтобы правильно компилировать модуль, компилятор должен иметь доступ к секции интерфейса всех используемых им модулей. Существует два разных, иногда совмещаемых подхода к организации такого доступа.
Введение
1. Первоначальные сведения о системе Паскаль.
2.Современные версии системы.
3. Особенность языка.
4.Стандарты.
5.Функциональные элементы
Заключение.
Список используемой литературы.