Общая психология и история психологии

Тема 4. Вступление в программирование на языке Паскаль.

1. Общие известно мосту о языке Паскаль.

Язык Паскаль является универсальным языком программирования высокого уровня. Его основы разработал Никлаус Вирт, профессор технического университета в Цюрихе (Швейцария), который назвал язык в честь Блеза Паскаля, знаменитого французского философа и математика XVII века.

Создание профессором Виртом языка Паскаль в 1971 году имело своей целью облегчить процесс обучения систематическому подходу к программированию для ЭВМ, точнее сказать, структурному программированию. С тех пор речь Паскаль используется для программирования почти всех типов задач на почти всех типах ЭВМ и долгое время считалась одной из лучших языков программирования высокого уровня, независимо от того, для каких целей он используется: для обучения или для программирования как любителями так и профессионалами.

Программа, написанная на языке Паскаль состоит из лексем и разделителей. Лексемами называются минимальные значимые единицы текста в программе, написанной языком Паскаль. Они представлены такими категориями как специальные символы, идентификаторы, метки, числа, строчные константы.

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

Примечание: разделители не могут быть частью лексем (за исключением строчных констант).

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

and else inline procedure type

asm end interface program unit

array external interrupt record until

begin file label repeat uses

case for mod set var

const forward nil shl while

constructor function not shr with

destructor goto object string xor

div if of then

do implementation or to

downto in packed

 

Для языка ТУРБО ПАСКАЛЬ безразличен регистр клавиатуры, поэтому можно использовать в программе как малые, так и большие буквы. Отличие имеет значение лишь при записи строчных констант.

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

Данные в программировании представляют собой величины, которые прорабатываются программой. Они делятся на:

· Константы и переменные;

· Скалярные и структурированные;

· Стандартные и данные пользователя.

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

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

Стандартные величины реализованные в трансляторе языка ПАСКАЛЬ, поэтому их можно использовать без дополнительного объявления. Кроме того, пользователь может объявлять и использовать собственные величины, которые называются данными пользователя.

Тип данных определяет множество значений, которые может принимать переменная. Каждой переменной в программе необходимо задать один, и только один тип данных. Хотя Паскаль может обрабатывать достаточно сложные типы данных, все они состоят из простых (неструктурированных) типов.

Изучение типов данных начнем с скалярных стандартных типов данных. Их в Паскале четыре: integer (тип целых чисел), real (тип действительных чисел), char (буквенный тип) и boolean (логический тип).

В ТУРБО ПАСКАЛЬ существует пять встроенных целочисленных типов: Shortint (короткое целое), Integer (целое), Longint (длинное целое), Byte (длиной в байт) и Word (длиной в слово). Каждый тип определяет определенное подмножество целых чисел, как это показано таблице 4.1.

 

Таблица 4.1 Встроенные целочисленные типы

Тип

Диапазон

Формат

Shortint

-128 .. 127

8 бит со знаком

Integer

-32768 .. 32767

16 бит со знаком

Longint

-2147483648 .. 2147483647

32 бита со знаком

Byte

0 .. 255

8 бит без знака

Word

0 .. 65535

16 бит без знака

 

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

Есть пять видов настоящих типов: Real, Single, Double, Extended и Comp.

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

Прежде всего, данные действительного типа могут подаваться в двух формах: с фиксированной точкой и плавающей точкой (экспоненциальной форме). Первая форма представления чисел более привычное. В ней явно задана целая и дробная часть, которые отделены точкой Так, числа 2.729, -89.084109, 134 представленные в форме с фиксированной точкой.

Экспоненциальная форма подает число в так называемом нормализованном виде: мантиссы и порядка. Мантисса лежит в диапазоне [1; 10) и состоит из 12 символов: одной цифры на целую часть, одного символа на десятичную точку и десяти цифр на дробную часть. Если дробная часть содержит меньше цифр, то остальные заполняется нулями.Порядок состоит из четырех символов и начинается буквой Е, после которой идет знак порядка и две цифры - его значение. Пример записи чисел представлен в таблице 4.2.

Таблица 4.2. Запись действительных чисел

Форма с фиксированной точкой

Экспоненциальная форма

1.4529

1.4529000000Е +00

39870

3.9870000000Е + 04

0.000029

2.9000000000Е-05

 

Данные булевого типа (иногда его называют логическим) могут принимать значения, обусловленные стандартными идентификаторами true (истина) и false (ложь). При выполнении операций отношения считают справедливым соотношением: false <true. Переменная булевого типа занимает в памяти 1 байт.

Значением переменной буквенного типа может быть один из символов, входящих в таблицу символов .. Символы упорядочены друг относительно друга в соответствии с их значений в коде ASCII, например: "А" <"В". Значения кодов символов в ASCII изменяются от 0 до 255. Переменная символьного типа занимает один байт памяти

3. Запись арифметических выражений.

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

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

Любой операнд, тип которого является поддиапазонов порядкового типа, прорабатывается так, если бы он был порядкового типа.

Если оба операнда в операторах +, -, *, div или mod есть операндами целого типа, то тип результата есть таким же, как общий тип обеих операндов.

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

Значение выражения x / y всегда Real независимо от типов операндов. Если y равна 0, то возникает ошибка.

Значение выражения i div j представляет собой целую часть от деления i / j. Если j равен 0, то возникает ошибка. Например, 25 div 4 = 6, 21 div 3 = 7.

Оператор mod возвращает остаток, полученный при делении двух его операндов. Например, 25 mod 4 = 1, 21 mod 3 = 0.

Знак результата оператора mod есть тем же, что и знак переменной i. Если j равен 0, то возникает ошибка.

 

Таблица 4.3 Бинарные арифметические операции

Оператор

Операция

Тип   операндов

Тип   результата

+

добавления

целый

целый

действительный

действительный

-

вычитание

целый

целый

действительный

действительный

*

умножения

целый

целый

действительный

действительный

/

деления

целый

действительный

действительный

действительный

div

целочисленное деление

целый

целый

mod

остаток целочисленного деления

целый

целый

 

Таблица 4.4 Унарные арифметические операции

тор

Операция

Тип операндов

Тип результата

+

сохранение знака

целый

целый

 

 

действительный

действительный

-

отрицание знака

целый

целый

 

 

действительный

действительный

 

Таблица 4.5. Основные арифметические функции.

 

Математическая запись

Запись в   Паскале

Тип   операнда

Тип  результата

 

1.

sin x

sin (x)

real

real

 

2.

cos x

cos (x)

real

real

 

3.

X

exp (x)

real

real

 

4.

ln x

ln (x)

real

real

 

Математическая запись

Запись языке Паскаль

(A + b) / (c * d)

exp (x + 1) * (ax)

sqr (sin (x * x * x))

sin ((2 * x) / (x + 1)) / cos (((2 * x) / (x + 1))

exp (1/3 * ln (x + 1))

Заметим, что возможны и другие верные варианты записи выражений.

4. Структура программы на языке Паскаль.

Программа, написанная на языке Паскаль, представляет собой последовательность строк, каждая из которых отделяется от другого символом ";" (точка с запятой). Она состоит из трех частей:  заголовка , блока описаний  и  блока операторов .

Заголовок задает имя программе.

Блок описаний объявляет все объекты, которые используются программой: метки, константы, типы пользователя, сменные, и тому подобное.

Блок операторов задает действия, направленные на решение задачи.

Итак, общий вид программы на языке Паскаль имеет вид:

Program  <имя программы>

Uses  <модули>

Const  <константы>

Label  <метки>

Type  <типы пользователя>

Var  <сменные>

Begin

<Операторы>

End .

Рассмотрим каждый блок подробнее.

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

ПРИМЕР:

program circles;

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

У блока описаний объявляются  все  идентификаторы, используемые в программе (основном модуле). Блок описаний, в свою очередь, может содержать шесть  разделов :

·  раздел  подключения модулей процедур и функций;

·  раздел  описания меток;

·  раздел  описания констант;

·  раздел  определения типов;

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

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

Транслятор языка Паскаль создан таким образом, что основной файл не содержит всех процедур и функций. Они сгруппированы и реализованы в отдельных файлах, которые называются модулями стандартных процедур и функций. Например, модуль CRT содержит функции для работы с экраном в текстовом режиме, GRAPH - функции для работы с экраном в графическом режиме. Кроме того, пользователь может создавать собственные модули процедур и функций. В разделе  uses  осуществляется подключение необходимых модулей процедур и функций. Программа может содержать только один раздел uses  , причем он должен быть всегда первым в блоке описаний. Если ни один из модулей не подключается, то этот раздел отсутствует.

Примеры:

uses dos, graph;

uses my_lib;

Раздел объявления меток предназначен для указания меток операторов. Перед любым оператором программы можно поставить метку. Это позволит выполнять  прямой  переход на этот оператор при  выполнении  команды GOTO. Раздел описания меток имеет  такую  ​​структуру: сначала записывается зарезервированное слово  label  (метка), за ним следует  список идентификаторов меток, отделенных друг от друга запятыми. В языке TУРБО  Паскаль  в роли меток могут быть использованы как числа, так и идентификаторы.

ПРИМЕР:

label  10,999;

Label  New, errors;

В  разделе  определения констант осуществляется присваивание идентификатором  определенных  постоянных значений. В начале  раздела  определения констант пишется слово const  (константа). Вслед за этим словом идет список имен и после символа "=" соответствующие им  выражения , в которых идентификаторам присваиваются  определенные постоянные значения. Элементы списка отделяются друг от друга точкой  с запятой.

ПРИМЕР:

Const

max = 1024;

password = 'Sezam';

limit = 2 * max;

Раздел объявления типов предназначен для введения типов данных. Практически все структурированные типы данных являются типами данных пользователя и должны описываться в данном разделе. Раздел определения типов начинается зарезервированным словом  type  (тип). За словом  type  следуют  определение типов, разделенных друг от друга  точкой с запятой . Каждое определение типа состоит из идентификатора типа, знака равенства и самого описания типа.

ПРИМЕР:

type

day = (пн, вт, ср, чт, пт, сб, вс);

colors = (синий, красный, зеленый);

Заметим, что в последнем примере значения задаются без кавычек (это не значение строчного типа, а значение сочтены типа!).

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

Раздел описания переменных начинается зарезервированным словом  var  (от  variable  - переменная). Вслед за ним  идет  список, записи которого имеют  такую  ​​структуру: сначала через запятую перечисляется один или  несколько  идентификаторов переменных, затем ставится двоеточие и после двоеточия указывается тип перечисленных переменных.

ПРИМЕР:

var

a, b, result: real;

i, j, x, y: integer;

period: day;

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

ПРИМЕР:

var

nt: 1..20;

anser: (yes, no);

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

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

Каждый из описательных разделов, кроме раздела  uses , может встречаться в программе несколько раз и в любой последовательности. Главное, чтобы не нарушалась логическая структура программы (например, переменная типа пользователя не объявлялась ранее самого типа и т.д.).

Раздел операторов  есть  последнее  в блоке программы. Он задает действия, которые должна выполнить программа. Раздел операторов начинается служебным словом  begin  и заканчивается служебным словом  end. (точка в конце обязательна). Каждая программа может иметь только один раздел операторов.

 

 

 

 

Обобщение по теме.

Программа, написанная на языке  Паскаля , состоит из лексем и разделителей. Лексемами называются минимальные значимые единицы текста в программе, написанной языком Паскаль . Они представлены такими категориями как специальные символы, идентификаторы, метки, числа, строчные константы.

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

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

Данные в программировании представляют собой величины, которые прорабатываются программой. Они делятся на:

·  константы и переменные;

·  скалярные и структурированные;

·  стандартные и данные пользователя.

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

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

Стандартные величины реализованные в трансляторе языка ПАСКАЛЬ, поэтому их можно использовать без дополнительного объявления. Кроме того, пользователь может объявлять и использовать собственные величины, которые называются данными пользователя.

Тип данных определяет  множество  значений, которые может принимать переменная. Каждой переменной в программе необходимо задать один, и только один тип данных. Хотя Паскаль  может  обрабатывать  достаточно сложные типы данных, все они  состоят  из простых (неструктурированных) типов.

Паскаль имеет четыре стандартных скалярных типа данных:  integer  (тип целых чисел),  real  (тип действительных чисел),  char  (буквенный тип) и  boolean  (логический тип).

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

Программа, написанная на языке Паскаль, представляет собой последовательность строк, каждая из которых отделяется от другого символом ";" (точка с запятой). Она состоит из трех частей: заголовка, блока описаний и блока операторов.

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

Общий вид программы на языке Паскаль имеет вид:

Program  <имя программы>

Uses  <модули>

Const  <константы>

Label  <метки>

Type  <типы пользователя>

Var  <сменные>

Begin

<Операторы>

End .

 

 

Вопрос темы:

·  операторы присваивания, ввода-вывода; запись линейных алгоритмов;

·  условные операторы; запись разветвлений;

·  операторы цикла; запись циклов.

 

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

 

Змiст

Нові надходження

Всього підручників:

292