Язык программирования Pascal

Автор: Пользователь скрыл имя, 03 Ноября 2012 в 14:30, контрольная работа

Описание работы

Цель работы – описать
- характеристику системы;
- стандарты;
- её преимущества и недостатки.

Работа содержит 1 файл

реферат по информатики 2012г.doc

— 172.00 Кб (Скачать)

Имя типа.

Диапозон значений.

Размер памяти.

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).

 

     Вещественные типы

 Данные вещественного (действительного) типа используются значительно чаще целого типа. Они необходимы в тех случаях, когда числовые значения могут содержать дробные части.     

Число цифр определяет точность, с  которой будет храниться вещественное число. Например, для Real разрядность мантиссы может составлять не более восьми десятичных знаков. Тип Comp содержит только целые значения, которые представляются в вычислениях как вещественные.

Над действительными  числами выполнимы операции сложения (+), вычитания (-), умножения (*) и деления (/). Результатом этих операций является также действительное число. Даже если хотя бы один из операндов вещественный, то результат этих операций также будет вещественным. Операция деления (/) дает вещественный результат и в случае двух целых операндов. Например, 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 – зарезервированные  слова, условие – выражение логического  типа, оператор_1 и оператор_2 – любые  операторы языка Free Pascal.

    Условные операторы могут быть вложены друг в друга. При вложениях условных операторов всегда действует правило: альтернатива else считается принадлежащей ближайшему if, имеющему ветвь else.

   Оператор варианта case.

Оператор варианта case необходим  в тех случаях, когда в зависимости от значений какой-либо переменной надо выполнить те или иные операторы.

case переменная of

набор_значений_1: оператор_1;

набор_значений_2: оператор_2;

 

набор_значений_N: оператор_N

else

альтернативный_оператор

end;

Оператор работает следующим образом. Если переменная принимает значение из набора_значений_1, то выполняется оператор_1. Если переменная принимает значение из набора_значений_2, то выполняется оператор_2 и так далее. Если переменная не принимает значений из имеющихся наборов, то выполняется альтернативный оператор, расположенный после ключевого слова else. Тип переменной должен быть только перечислимым (включая

char и boolean), диапазоном или целочисленным.  Набор_значений – это конкретное  значение управляющей переменной или выражение, при котором необходимо выполнить соответствующий оператор, игнорируя остальные варианты. Значения в каждом наборе должны быть уникальны, то есть они могут появляться только в одном варианте. Пересечение наборов значений для разных вариантов является ошибкой.

 

Модули

До появления модулей  в их современном виде некоторые  реализации Паскаля поддерживали модульность  за счёт механизма включения заголовочных файлов, похожего на механизм #include в языке Си: с помощью специальной директивы, оформляемой в виде псевдокомментария, например, {$INCLUDE "файл"}, содержимое указанного файла прямо включалось в текст программы в исходном, текстовом виде. Таким образом можно было разделить программный код на множество фрагментов, для удобства редактирования, но перед компиляцией они автоматически объединялись в один файл программы, который в итоге и обрабатывался компилятором. Такая реализация модульности примитивна и имеет множество очевидных недостатков, поэтому она была быстро заменена.

Современные реализации языка Паскаль (начиная с UCSD Pascal) поддерживают модули. Программные модули могут быть двух видов: модуль главной  программы, который, как обычно, начинается с ключевого слова program и тело которого содержит код, запускаемый после загрузки программы в память, и вспомогательных модулей, содержащих типы, константы, переменные, процедуры и функции, предназначенные для использования в других модулях, в том числе в главном модуле.

Чтобы использовать модуль, главная программа или другой модуль должны импортировать данный модуль, то есть содержать объявление о его использовании. Это объявление делается с помощью инструкции подключения  модулей, представляющей собой ключевое слово USES, за которым через запятую следуют имена модулей, которые требуется подключить. Инструкция подключения должна следовать непосредственно за заголовком программы, либо после ключевого слова INTERFACE, если подключение производится в модуле. Модули спроектированы в расчёте на обеспечение раздельной компиляции — компилятор не должен компилировать импортированные модули для того, чтобы откомпилировать модуль, который их использует. Однако, чтобы правильно компилировать модуль, компилятор должен иметь доступ к секции интерфейса всех используемых им модулей. Существует два разных, иногда совмещаемых подхода к организации такого доступа.

  • Модули компилируются в бинарные файлы специального формата (у каждого компилятора своего), в которых сохранена подробная информация об объектах, объявленных в интерфейсной секции, также может содержаться созданный при компиляции модуля объектный код.
  • Модули компилируются в обычные бинарные файлы и подключаются компоновщиком только на этапе сборки конечного исполняемого файла программы. Для обработки обращений к подключаемым модулям компилятор обрабатывает непосредственно текст этих модулей на исходном языке, но использует при этом только интерфейсную секцию модуля.

 

 

 

 

 

 

               

 

 

                                 СОДЕРЖАНИЕ

 

     Введение

1. Первоначальные сведения о  системе Паскаль.

2.Современные версии системы.

3. Особенность языка.

4.Стандарты.

5.Функциональные элементы системы.

Заключение.

Список используемой литературы.

 


Информация о работе Язык программирования Pascal