Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Тема 3. Основные конструкции языка Паскаль

        

    Вопросы темы:

 

1. История создания языка.

2. Алфавит и основные операции.

3. Типы данных.

     Первая версия языка Паскаль была разработана в 1968 году. Ее разработчиком является швейцарский ученый Никлаус Вирт. Свое название язык получил в честь создателя первой механической вычислительной машины француза Блеза Паскаля. На основе языка Паскаль в 1985 г. фирма Borland выпустила версию Turbo Pascal версии 3.0. С этого времени язык Паскаль используется во всем мире в учебных заведениях в качестве первого изучаемого языка программирования.

       В пакете Turbo Pascal 4.0 были устранены ошибки и ограничения компилятора предыдущей версии. В версии 5.0 появился интегрированный отладчик. В этой версии были исправлены и улучшены библиотеки графических процедур, которым была обеспечена совместимость с графическими адаптерами класса VGA. Появились новые возможности справочной системы Help.

       В версии 6.0 была реализована концепция объектно-ориентированного программирования с полным набором прикладных задач для пользователя. В оболочку был встроен интегрированный текстовый редактор. В этой версии впервые использовалась мышь для управления работой.

  В 1992 г. появилась последняя на сегодняшний день версия языка Turbo Pascal - 7.0. В ней сохранились все достоинства предыдущих версий, был улучшен интерфейс пользователя, появилась возможность выделять определенным цветом различные элементы исходного текста.

       По эффективности и простоте программирования, Паскаль занимает промежуточное положение между Бейсиком и Си. Поэтому он наиболее подходит для освоения его студентами младших курсов. Существует много разновидностей языка Pascal (Object Pascal, Turbo Pascal, Delphi, PascalABC и др.). Синтаксис во всех версиях Pascal практически одинаков.

       Для обучения наиболее подходит свободно распространяемая версия Pascal ABC,специально разработанная С.С.Михалковичем – преподавателем механико-математического факультета Ростовского госуниверситета. Система Pascal ABCпредназначена для обучения программированию на языке Паскаль и ориентирована на студентов младших курсов. По мнению автора программы С.С.Михалковича первоначальное обучение программированию должно проходить в достаточно простых и дружественных средах, в то же время эти среды должны быть близки к стандартным по возможностям языка программирования и иметь достаточно богатые и современные библиотеки стандартных подпрограмм.

       Язык Паскаль признан многими российскими преподавателями, как один из лучших, именно для начального обучения. Система Pascal ABCоснована на языке Delphi Pascal и призвана осуществить постепенный переход от простейших программ к модульному, объектно-ориентированному программированию.

 

 

       Алфавит языка Паскаль.

 

    Алфавитом языка называют совокупность всех допустимых символов, которые можно использовать в этом языке.

    Алфавит языка Паскаль включает в себя следующие символы:

- прописные и строчные буквы латинского алфавита от A до z,

а также символ подчеркивания (_), который тоже считается буквой,

прописные и строчные буквы равнозначны;

- арабские цифры 0 1 2 3 4 5 6 7 8 9;

- специальные одиночные знаки: + – * / = < >.,:; ^ $ # @;

- специальные парные знаки: [ ] () { };

- составные знаки: <= >= <>.. (* *).

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

    Программа, записанная на языке Паскаль, может содержать следующие разделы:

1. Заголовок программы                           Program имя программы;

2. Раздел подключения модулей           uses …;

3. Раздел описания меток                       label …;

4. Раздел описания констант                  const …;

5. Раздел определения типов                 type …;

6. Раздел описания переменных            var …;

7. Раздел описания процедур и функций procedure …; function …;

8. Раздел операторов                             begin … end.

    При отсутствии некоторых частей программы общий порядок их следования сохраняется. Разделы между собой отделяются знаком ";" (точка с запятой). Раздел операторов заключается в операторные скобки. Это зарезервированные слова begin, end. Раздел операторов заканчивается точкой. Раздел "заголовок" начинается с зарезервированного слова, за которым указывается имя программы. В качестве имени может использоваться любой набор символов алфавита с несколькими исключениями:

1. Нельзя использовать зарезервированные слова;

2. Нельзя начинать имя с цифры;

3. При использовании имени не используется пробел.

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

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

- имя состоит из одного слова, если требуется пробел в имени, он заменяется на подчеркивание;

- имя всегда начинается с буквы; прописные и строчные буквы в именах не различаются Паскалем: x1 и X1 - это одна и та же величина;

- имена не могут совпадать с зарезервированными в языке служебными словами.

 

    Константы.

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

    Числовые константы служат для записи чисел. Различают следующие их виды:

    Целочисленные (целые) константы: записываются со знаком + или -, или без знака, по обычным арифметическим правилам:

-10         +5          5

   Вещественные числа:

2.5         -3.14      2.     

   Кроме числовых констант существуют и другие их виды.

   Логические константы служат для проверки истинности или ложности некоторых условий в программе и могут принимать только одно из двух значений: служебное слово true обозначает истину, а false – ложь.

  Символьные константы могут принимать значение любого печатаемого символа и записываются как символ, заключенный в апострофы ('одинарные кавычки'):

'Y' 'я' ' '.

В последнем случае значение символьной константы равно символу пробела.

   Строковые константы - это любые последовательности символов, заключенных в апострофы. Как правило, строковые константы служат для записи приглашений к вводу данных, выдаваемых программой, вывода диагностических сообщений и т. п.:

'Введите значение X:';

'Ответ='.

 

    Пример описания констант:

 

PROGRAM FIRST;

CONST

FAM = 'Иванов';

KAF = 'ИИСТ';

KURS = 1;

GRUP = 3;

 

 

       Переменные.

Переменными называют величины, значения которых могут изменяться в процессе выполнения программы. Каждая переменная задается своим уникальным именем, максимально возможная длина имени зависит от реализации Паскаля.

Поскольку любые данные в памяти компьютера хранятся в числовой форме и двоичной системе счисления, кроме имени, переменной обязательно следует присвоить и тип, определяющий диапазон значений, принимаемых переменной, и способ ее обработки компьютером.

     Раздел описания переменных начинается с зарезервированного слова var. Для объявления переменной необходимо указать имя переменной и ее тип. Однотипные переменные могут перечисляться через запятую перед указанием их типа.

Пример:

a: integer;

b: boolean;

c, b: real;

e: integer;

 

     Все переменные делятся на глобальные и локальные. Глобальными являются переменные, объявленные вне процедур и функций, а локальными - объявленные внутри процедур и функций.

        

    Типы переменных.

 

    В зависимости от версии языка программирования Pascal типы переменных могут немного различаться. Типы в PascalABC подразделяются на простые и структурированные.

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

    Порядковые целые типы:

Перечисляемыйтип определяется упорядоченным набором идентификаторов.

Например:

type

Season = (Winter,Spring,Summer,Autumn);

DayOfWeek = (Mon,Tue,Wed,Thu,Fri,Sat,Sun).

Интервальный тип представляет собой подмножество значений целого,

символьного или перечисляемого типа и описывается в виде a.. b,

где a - нижняя, b - верхняя граница интервального типа:

Var

k: 0..10;

p: 'a'..'n';

s: Mon..Sat.

 

Тип, на основе которого строится интервальный тип, называется базовым для этого интервального типа.

    Тип real (числовой вещественный). Значения вещественного типа занимают 8 байт, содержат 15-16 значащих цифр и находятся в диапазоне -1.7∙10308.. 1.7∙10308. Самое маленькое положительное число вещественного типа равно 5.0∙10-324. Константы типа real можно записывать как в форме с плавающей точкой, так и в экспоненциальной форме:

1.7;

0.013;

2.5e3 (2500);

1.4e-1 (0.14).

 

    Тип boolean (логический). Переменные и константы логического типа

занимают 1 байт и могут иметь одно из двух значений, задаваемых константами True (истина - 1) и False (ложь - 0).

        

        Комментарии к программе.

 

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

Комментарии заключаются между скобками { …}, (*…*) или пишутся после

символов // (двойной слеш). Комментарии не воспринимаются и не обрабатываются программой.

 

              Операторы языка Паскаль.

    Оператор - это основная единица программы, которая выполняет определенные действия над данными. Операторы в программе располагаются после описания данных и отделяются от него служебным словом BEGIN. Их можно условно разделить на 2 типа:

1) обрабатывающие, которые обрабатывают данные;

2) управляющие, которые управляют выполнением обрабатывающих операторов.

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

1) ввода;

2) вывода;

3) присваивания (вычисления новых значений);

ко второму — операторы:

1) изменяющие естественный порядок выполнения других операторов в зависимости от некоторого условия или безусловно;

2) обеспечивающие повторение некоторых групп операторов.

   

    Операторы обработки данных.

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

1) вводом данных (чисел, символов, строк) с устройства ввода (клавиатуры);

2) вычислением нового значения по формулам, в которых используются уже определенные ранее значения.

Операторы ввода служат для присвоения переменным конкретных значений. В Паскале определены два таких оператора. В общем виде они записываются так:

Read ( список ввода );

Readln ( список ввода ).

 

     Список ввода - это одно или несколько имен переменных, разделяемых запятыми.

 

Пример:

Read(number);                                                            

Readln(X,Y).

 

Операторы вывода служат для передачи данных из памяти ЭВМ на устройство вывода (дисплей, печать, файл). Их тоже два. В общем виде они записываются так:

Write ( список вывода );

Writeln ( список вывода ).       

 

Список вывода - это последовательность строковых констант и (или) имен переменных или выражений, разделяемых запятыми.

 

Пример:

Writeln('ФАКУЛЬТЕТ: ',А,В,С,D);

Write(number,X).

    Оператор writeln после вывода переводит курсор на следующую строку. Операторы write и writeln допускают форматированный вывод данных:

Write (a:5:2);

 

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

 

              Оператор присваивания.

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

Оператор присваивания имеет вид:

 

идентификатор:= выражение;

 

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

 

a:=1000;

b:=5;

a:=a+b.

 

Арифметические выражения.

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

 

Табл. Арифметические операции языка Паскаль

Приоритет Знак операции Описание операции

1

* умножение
/ деление
div деление 2 целых значений с отбрасыванием остатка
mod взятие остатка от деления 2 целых значений

2

+ сложение
- вычитание

 

Операции div и mod определены только для целочисленных операндов.

 

Стандартные функции служат для выполнения элементарных математических расчетов, часто требуемых при написании программ. Информация об основных стандартных функциях представлена в табл.

 

Табл. Некоторые стандартные функции языка Паскаль

Математическая запись Запись на Паскале Пояснение Тип аргумента и результата
| x | abs(x) Модуль аргумента x Integer (I) или Real (R)
x 2 sqr(x) Квадрат аргумента x аргумент – I или R, результат – R
sin x cos x arctg x sin(x) cos(x) arctan(x) Остальные тригонометрические функции выражаются через эти аргумент – I или R, результат – R
ex ln x exp(x) ln(x) Экспонента и натуральный логарифм аргумент – I или R, результат – R
sqrt(x) Квадратный корень от аргумента x аргумент – I или R, результат – R
  trunc(x) Функция отбрасывает дробную часть аргумента, аргумент не округляется аргумент R, результат I
  frac(x) Функция выделяет дробную часть своего аргумента R
  round(x) Округление вещественного числа до ближайшего целого аргумент R, результат I

 

 

К логическим относятся бинарные операции and, or и xor, а также унарная операция not. Эти операции выполняются с использованием операндов типа boolean и возвращают значение типа boolean. Выражение, имеющее тип boolean, называется логическим (булевым).

Выражения в программах могут конструироваться с помощью булевых

операций. Эти операции используют понятия алгебры логики, разработанной

британским математиком Джорджем Булем.

Операция and – конъюнкция (логическое умножение, пересечение, &, ^, "и"). Выражение a & b дает значение true только в том случае, если a и b имеют значения true, в остальных случаях – false:

true and true = true;

true & false = false;

false ^ false = false.

Операция or – дизъюнкция (логическое сложение, объединение, +, v, "или"). Выражение a + b дает значение false в том и только в том случае, если a и b имеют значения false, в остальных случаях – результат true:

true or true = true;

true + false = true;

false v false = false.

    Выражение a xor b ("исключающее или"). дает значение false в том случае, если a и b имеют равные значения, в противном случае – true.

Операция not – инверсия (логическое отрицание,, −, операция "не").

Выражение not a имеет значение, противоположное значению a:

not true = false;

false = true.

 

Операции отношения также являются логическими. Их можно использовать для проверки отношений между переменными: a<b, c>=d, x=y и т.д. В Паскале существуют следующие операции отношения (сравнения):

= равно;

<> не равно;

< меньше;

> больше;

<= меньше или равно;

>= больше или равно.

        

Порядок действий при вычислении значения выражения:

 

1) вычисляются значения в скобках;

2) вычисляются значения функций;

3) выполняются операции умножения и деления (в том числе целочисленного

деления и нахождения остатка от деления);

4) выполняются операции сложения и вычитания.

 

    Таким образом, на основании рассмотренного ранее материала, можно привести пример первой программы на языке Pascal.

 

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

program first;                                  // название программы

uses crt;                                         // подключаемые модули

var x, y, s:integer;                          // объявление имен переменных и их типа

begin                                              // начало исполнительной части

writeln(’Введите два целых числа’); // вывести текст на экран

readln(x,y);                                    // ввести данные с клавиатуры и

                                                       // запомнить их в переменных

s:=x+y;                                           // выполнить расчет и запомнить его в

                                                       // переменной

writeln(‘Сумма чисел =’,s);           // вывести на экран текст и значение

                                                       // переменной

end.                                                // конец программы.

 

 



<== предыдущая лекция | следующая лекция ==>
Этапы решения задач на ЭВМ | Тема 4. Управляющие конструкции языка Паскаль.
Поделиться с друзьями:


Дата добавления: 2018-10-18; Мы поможем в написании ваших работ!; просмотров: 499 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лаской почти всегда добьешься больше, чем грубой силой. © Неизвестно
==> читать все изречения...

2419 - | 2289 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.