Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 1.docx
Скачиваний:
1
Добавлен:
30.04.2019
Размер:
21.6 Mб
Скачать

Раздел 1 Инструментальная среда программирования Pascal 7.1

Тема 1.1 Общие сведения о языке программирования.

Язык программирования Pascal появился в 1968-1970 гг. И был разработан Николсом Виртом и получил широкое распространение благодаря лёгкости и понятности при изучении.

Он послужил основой для других языков программирования Pascal, может быть использован на любой машине. Язык этой версии обладает широкими возможностями имеет большую библиотеку модулей.

Среда программирования позволяет создавать тексты, программы, компилировать их, находить и исправлять ошибки в программах. Результатом работы являются тексты программ, файлы с расширением *exe.

Компиляция и запуск программы осуществляется комбинацией клавиш Ctrl+F9, если транслятор обнаружил ошибку, то он указывает её код, указав предположительное место. Откорректировав программу, сохраните её (F2) и перейдите к процессу компиляции запуска (пункт меню Run из меню Run).

Особенности языка

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

Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках, отсутствие средств раздельной компиляции и т. п. Подробный разбор недостатков языка Паскаль того времени был выполнен Брайаном Керниганом в статье «Почему Паскаль не является моим любимым языком программирования» (эта статья вышла в начале 1980-х, когда уже существовал язык Модула-2, потомок Паскаля, избавленный от большинства его пороков, а также более развитые диалекты Паскаля). Некоторые недостатки Паскаля были исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров.

Необходимо заметить, что многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с основным языком программирования в академической среде 1970-х (которым был Фортран, обладавший гораздо более существенными недостатками), Паскаль представлял собой значительный шаг вперёд. В начале 1980-х годов в СССР для обучения школьников основам информатики и вычислительной техники академик А. П. Ершов разработал алголо-паскалеподобный «учебный алгоритмический язык».

Наиболее известной реализацией Паскаля, обеспечившая широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии 5.5) и Windows и далее в Delphi, в которой были внедрены значительные расширения языка.

Диалекты Паскаля, применяемые в Turbo Pascal для DOS и Delphi для Windows, стали популярны из-за отсутствия других успешных коммерческих реализаций.

Алфавит языка Pascal – это набор символов, из которых можно строить запись алгоритма.

В программировании могут использоваться как заглавные, так и строчные буквы латинского алфавита.

А так же знаки пунктуации:

(**)

скобки комментария

()

скобки задания списка параметра

;

отделение одного предложения программы от другого

,

разделение элементов списка

:=

знак оперативного присваивания

=

отделение идентификатора от его описания

признак символа или строк констант

[]

служебные зарезервированные слова

Зарезервированные слова являются составной частью языка и имеют фиксированное начертание.

Для наименьшего различия объектов служат языки конструкций, называемые идентификаторами.

Идентификатор – это имя констант типов данных и других объектов программ.

Переменная – это ячейка оперативной памяти, которой присваивается определённое имя.

Переменная – это величина, которая может меняться при выполнении программ.

Константа – это величина, которая остаётся постоянной в ходе выполнения программ.

Выражения и операции

Выражение - это синтаксическая единица языка, задающая порядок и способ вычисления некоторых значений, в соответствии с правилами формирования.

Выражение представляет собой последовательность операндов, соединённых друг с другом знаками операций.

Операции подразделяются на несколько групп:

  1. Арифметические. Могут применяться только к операндам целых и вещественных типов (признак положительного числа, признак отрицательного числа, сложение, вычитание, умножение, деление, деление целого числа 25 div6=1 и остаток от деления целого числа 25 модуль 6=1)

  2. Отношения (=, <>,<,>,<=,>=)

  3. Логические операции. Применяются к операндам логического типа. Вычисление логических выражений происходит в соответствии с таблицей истинности логических операций.

Типы данных

В Pascal обязательно все переменные должны принадлежать к определённому типу. Тип данных определяет:

  1. Формат представления данных в ЭВМ

  2. Множество допустимых значений

  3. Множество допустимых операций

Типы данных делятся на 5 классов:

  1. Простые типы

  2. Структурированные типы

  3. Ссылочные типы

  4. Процедурные типы

  5. Объективные типы

Целочисленные типы данных

Тип

Диапазонвозможного значения

Вариант

Shorting

-128…127

1 байт

Integer

-32768…32767

2 байта

Lunging

-2147483648…2147483647

4 байта

Byte

-0…255

1 байт

Word

-0…65535

2 байта

Вещественные типы данных

Тип

Диапазонвозможного значения

Вариант

Real

2,9E-39…1,7E38

6 байт

Single

1,5E-45…3,4E38

4 байта

Double

5,0E-324…1,7E308

8 байта

Extended

3,4E-4932…1,1E4932

10 байт

Comp

-9,2E-18…9,2E18

8 байта

Для операндов типа Double определены следующие логические операции:

  1. Not (отрицание)

  2. And (логическое умножение/и)

  3. Or (логическое сложение/или)

  4. Xor (исключение/или)

Перечисляемый тип данных получил такое название, потому что он задаётся в виде перечня некоторых значений. Эти значения образуют упорядоченное множество и являются константами этого типа.

Символьный тип – это тип Char. Диапазон значений переменных может быть любой символ (буквы, цифры, знаки препинания, специальные символы). Каждому символу алфавита соответствует индивидуальный числовой код от 0 до 55.

Структура программы и операторы языка.

Структура программы Pascal:

Program - имя программы;

Uses - имя модуля;

Label – раздел меток;

Const – раздел констант;

Type - раздел типов;

Var – раздел переменных;

Procedure – раздел процедур

Function – раздел функций

Begin - {инструкции основной программы} операторы

End.

Раздел Uses

Этот раздел позволяет подключить стандартные и пользовательские библиотечные модули. Он начинается с зарезервированного слова Uses

Раздел описания меток

Перед любым оператором Pascal в тексте программы можно поставить метку, что позволяет выполнить прямой переход на этот оператор с помощью оператора Goto из любого места программы. Метка состоит из имени и следующего за ней двоеточия. После которого располагается помеченный данной меткой оператор. Все метки, используемые в программе должны быть описаны. Раздел описания меток начинается с зарезервированного слова Label.

Раздел описания констант

Хранение констант не требует памяти. И компилятор помещает их значение прямо в текст исполняемой программы. Тип констант автоматически опознаётся по форме их записи. Бывают именованные, типизированные зарезервированные константы.

Именованные константы

Раздел описания констант начинается с зарезервированного слова const и имеет следующий вид:

Const

Имя константы: = значение константы;

Типизированные константы

Такое название вызвано тем, что при их описании указывается тип:

Const

Имя константы: тип = значение константы;

Раздел описания типов данных

В языке Pascal существует механизм создания новых типов данных. Каждое новое определение типа задаёт множество значений и связывает с этим множество имя типа. Определения новых типов выполняется в разделе описания типов данных. В простых программах этот раздел часто отсутствует, так как в этом случае хватает стандартных типов. Раздел начинается с зарезервированного слова TYPE

Раздел описания переменных

Все переменные, используемые в программе должны быть перечислены в разделе описания переменных. Описание должно предшествовать использованию переменной. После того как переменная описана, она может быть опознана компьютером, а в тексте программы к ней можно обратиться по имени. Содержимое переменной после описания ещё не определено. Раздел начинается с зарезервированного слова Var

Раздел описания процедур и функций

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

Раздел операторов

Является основным, так как именно в нём над предварительно описанными константами, переменными, значениями функций выполняются действия, позволяющие получить результат, ради которого создавалась программа. Раздел начинается с зарезервированного слова begin и далее следуют операторы языка, отделённые друг от друга. Завершается раздел зарезервированным словом end и точкой.

Операторы языка:

Операторы в языке Pascal предназначены для описания действий.

Раздел операндов имеет следующий вид:

Begin

оператор 1;

оператор 2;

……………

оператор N;

End.

В этот раздел могут быть включены пустые, простые и сложные операторы.

Простой оператор - оператор, в который не входят составные части других операторов.

К простым операторам относятся:

  • Оператор присваивания (:=)

  • Оператор процедур ввода и вывода данных

  • Оператор перехода

Сложный оператор – это конструкторы, состоящие из других (простых операторов), заключённых в операторные скобки (Begin…End).

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

Процедуры ввода.

Для ввода переменных используются:

Read (переменная 1, переменная 2…, переменная N); кроме процедуры Read используют Readln.

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

Процедуры вывода.

Для вывода данных используют процедуру write. Общий вид:

Write (выражение 1, выражение 2…, выражение N).

Write (‘p=’, p)

Процедура writeln отличается от процедуры write тем, что после списка вывода происходит переход в начало строки.

Процедуры вывода

Для вывода данных используют процедуру write. Общий вид:

Write (выражение 1, выражение 2…, выражение N).

Write (‘p=’, p)

Процедура writeln отличается от процедуры write тем, что после списка вывода происходит переход в начало строки.

Описать формат вывода арифметическоговыражения х численного значения, которого |х|<1000 с точностью до 5 знаков после десятичной точки. Решение

этой задачи является оператор Writeln(х:10:5).

10 — определяет ширину поля, то есть общее количестволитер отведенное для отображения вещественного числа вместе с знаком и десятичной точкой.

5 — точностьуказывает количество цифр с фиксированной точкой.

Примеры форматов вещественных чисел

х

Тип

Формат

Результат

12,336

-12,339

-0,0123

Real

Real

Real

х:5:2

х:6:2

х:6:3

12,34 Формат вещественного числа с

-12,34 фиксированной точкой

-0,012

12,334

12,534

Real

Real

х:5:0

х:5:0

1 2 Округление вещественного числа до

13 целого числа с помощью формата

-123,456

-12,3456

Real

Real

х:10

х:8

-1,235Е+0,2 Формат вещественного числа

-1,2Е+0,1 с плавующей точкой