Язык программирования это способ
записи программ решения различных задач на ЭВМ в понятной для компьютера
форме.
Такая запись называется исходным
текстом программы, или программой.
Первые средства автоматизации
программирования языки Автокод появляются в 1950-х г.
Одна и та же программа на таком
языке может быть выполнена на ЭВМ разных типов. Форма записи программ на
ЯП близка к традиционной математической форме, к естественному
языку. ЯП легко изучаются, хорошо поддерживают структурную методику
программирования.
Структурное программирование является технологией простого и
прозрачного создания алгоритмов. Это единственный способ строить
алгоритмы быстро и в последующем легко вносить в них изменения. Структурное
программирование позволяет проектировать алгоритмы только из трех
элементарных алгоритмов.
Основная теорема структурного
программирования утверждает, что любой алгоритм можно преобразовать к
структурному виду.
Первыми популярными языками
высокого уровня, появившимися в 1950-е годы, были
Фортран, Кобол (в США) и Алгол (в Европе). Эти языки были
ориентированы на научно-технические расчеты математического
характера. Кобол язык для программирования экономических задач. Для
первых ЯП предметная ориентация языков была характерной чертой.
Большое количество языков
программирования появилось в 1960-1970-х годах.
За всю историю ЭВМ их было
создано более тысячи.
Но
распространились, выдержали испытание временем не многие.
В 1965 г. в
Дартмутском университете был разработан язык Бейсик. По замыслу авторов
это простой язык, легко изучаемый, предназначенный для
программирования несложных расчетных задач.
Наибольшее распространение
Бейсик получил на микро-ЭВМ и персональных компьютерах. Однако Бейсик
неструктурный язык, и потому он плохо подходит для обучения
качественному программированию. Справедливости ради следует
заметить, что последние версии Бейсика для ПК (например,
QBasic) стали более структурными и по своим изобразительным возможностям
приближаются к таким языкам, как Паскаль.
Значительным событием в истории
языков программирования стало создание в 1971 г. языка
Паскаль. Его автор швейцарский профессор Никлаус Вирт разрабатывал
Паскаль.
Турбо Паскаль это не только
язык, но еще и операционная оболочка, обеспечивающая пользователю
удобство работы.
Турбо Паскаль вышел за рамки
учебного предназначения и стал языком профессионального программирования с
универсальными возможностями.
Транслятор с Турбо Паскаля по
оптимальности создаваемых им программ близок наиболее удачному в этом
отношении транслятору с Фортрана.
В силу названных достоинств
Паскаль стал основой многих современных языков программирования, например, таких
как Ада, Модула-2 и др.
Любая программа, написанная на
любом языке программирования, по большому счету предназначена для обработки
данных. В качестве данных могут выступать числа, тексты, графика, звук и др.
Одни данные являются исходными, другие – результатом, который получается
путем обработки исходных данных программой.
Данные хранятся в памяти
компьютера. Программа обращается к ним с помощью имен переменных, связанных с
участками памяти, где хранятся данные.
Переменные описываются
до основного кода программы. Здесь указываются имена переменных и тип
хранимых в них данных.
В языке программирования
достаточно много типов данных.
Кроме того, сам пользователь
может определять свои типы.
Тип переменной определяет, какие
данные можно хранить в связанной с ней ячейке памяти.
Переменные типа integer могут
быть связаны только с целыми значениями обычно в диапазоне от -32768 до
32767.
В Pascal есть другие
целочисленные типы (byte, longint).
Переменные типа real хранят
вещественные (дробные) числа.
Переменная логического типа
(boolean) может принимать только два значения - true (1, правда)
или false (0, ложь).
Символьный тип (char) может принимать значения
из определенной упорядоченной последовательности символов.
Интервальный тип определяется пользователем
и формируется только из порядковых типов. Представляет собой подмножество
значений в конкретном диапазоне.
Можно создать собственный тип
данных простым перечислением значений, которые может принимать переменная
данного типа. Это так называемый перечисляемый тип данных.
Все вышеописанное – это простые
типы данных.
Но бывают и сложные,
структурированные, которые базируются на простых типах.
Массив – это структура, занимающая в
памяти единую область и состоящая из фиксированного числа компонентов одного
типа.
Строки представляет собой
последовательность символов. Причем количество этих символов не может быть
больше 255 включительно. Такое ограничение является характерной чертой
Pascal.
Запись – это структура, состоящая из
фиксированного числа компонент, называемых полями. В разных полях записи
данные могут иметь разный тип.
Множества представляют собой совокупность
любого числа элементов, но одного и того же перечисляемого типа.
Файлы для Pascal представляют собой
последовательности однотипных данных, которые хранятся на устройствах внешней
памяти (например, жестком диске).
Понятие такого типа данных
как указатель связано с динамическим хранением данных в памяти
компьютера. Часто использование динамических типов данных является более
эффективным в программировании, чем статических.
Целые типы
В языках программирования
определено пять целых типов.
Таблица. Целые типы Pascal
Тип
|
Диапазон
допустимых значений
|
shortint
|
-128…127
|
integer
|
-32 768…32 767
|
longint
|
-2 147 483 648…2
147 483 647
|
byte
|
0…255
|
word
|
0…65 535
|
Переменные целого типа могут
принимать только целые значения.
Такие переменные в программе
описываются следующим образом:
a, b, c: integer;
Здесь a, b, c… - имена
переменных, integer – тип переменных. Транслятор, встретив такое
описание переменных a, b, c, запоминает, что эти переменные могут принимать
только целые значения и формирует соответственно этому команды программы.
Таблица. Операции над целыми
типами,
дающие в результате значение
целого типа
Знак операции
|
Операция
|
+
|
Сложение
|
-
|
Вычитание
|
*
|
Умножение
|
div
|
Целочисленное
деление (остаток отбрасывается). Деление без округления (целая часть
частного).
|
mod
|
Деление по модулю
(выделение остатка от деления). Остаток от деления: a mod b = a – ((a div
b) * b).
|
Операции над операндами целого
типа выполняются правильно только при условии, что результат и каждый операнд
не меньше минимального (крайнего левого) и не больше максимального (крайнего
правого) значений диапазона.
Над целыми типами, как
и многими другими, допустимы операции отношения (сравнения).
Результат таких
операций относится к типу boolean и может принимать одно из двух значений –
либо true (истина), либо false (ложь).
Знак операции
|
Операция
|
=
|
Равно
|
<>
|
Не равно
|
>=
|
Больше или равно
|
>
|
Больше
|
<=
|
Меньше или равно
|
<
|
Меньше
|

Функция random возвращает
равномерно распределенное случайное целое число, если ей передан целый
аргумент. При повторном запуске программы она возвращает те же значения. Во
избежание этого следует в начале программы вызвать процедуру без
параметров randomize.
Процедуры inc и dec могут
иметь по одному или по два параметра целого типа. Если параметров два, то
значение первого увеличивается (для inc) или уменьшается (для dec)
на величину, равную значению второго параметра.
Следующие функции принимают в
качестве аргументов значения вещественного типа, а возвращают значения целого
типа:
trunc(x) – отбрасывание десятичных знаков после точки;
round(x) – округление до целого.
Запишите примеры выполнения
операций используя операторы ЯП:
Пример 1. Пусть a = 17, b = 5. Тогда a div b дает 3, a mod b дает 2
(остаток от деления), sqr(b) дает 25.
Пример 2. Пусть x = 4.7389. Тогда trunc(x) дает 4, round(x) дает 5.
Пример 3. Выражение 4 * 21 дает результат целого типа, а 4 * 21.0 –
вещественного, т.к. один из сомножителей вещественный.

Число цифр определяет точность,
с которой будет храниться вещественное число.
Например, для Real
разрядность мантиссы может составлять не более восьми десятичных знаков.
Тип Comp содержит
только целые значения, которые представляются в вычислениях как вещественные.
Над действительными
числами выполнимы операции сложения (+), вычитания (-), умножения (*) и
деления (/). Результатом этих операций является также действительное число.
Даже если хотя бы один из операндов вещественный, то результат этих операций
также будет вещественным.
Операция деления (/)
дает вещественный результат и в случае двух целых операндов. Например, 6 / 2
= 3.0.
Для действительных
чисел допустимы такие же операции отношения (сравнения), что и для целых
чисел.
Переменная типа char
может принимать значения из определенной упорядоченной последовательности
символов. Переменная этого типа занимает 1 байт и принимает одно из 256
значений кода ASCII (американский стандартный код для обмена информацией).
Символы упорядочены в соответствии с их кодом, поэтому к данным символьного
типа применимы операции отношения.
В программе вместо
символа можно использовать его код, состоящий из # и номера кодируемого
символа (например, #51). Обычно символы, имеющие экранное представление,
записывают в явном виде, заключив в апострофы (например, 'A', 'b', '*').
Две стандартные
функции позволяют поставить в соответствие данную последовательность символов
множеству целых неотрицательных чисел (порядковым номерам символов
последовательности)
Эти функции называются функциями
преобразования:
ord(ch) – выдает номер символа (нумерация с
нуля),
chr(i) – выдает i-ый символ из таблицы символов.
Пример. ord('H') выдает номер
символа Н в последовательности всех символов, используемых транслятором.
chr(15) выдает 15-ый символ этой последовательности.
Кроме того, для символьных
переменных применяются такие функции:
pred(ch) – возвращает предыдущий символ;
succ(ch) – возвращает следующий символ;
upcase(ch) – преобразует строчную букву в заглавную. Обрабатывает буквы
только латинского алфавита.
Также можно использовать
процедуры inc и dec.
В Паскале предусмотрены
следующие операторы отношений:
меньше: x < y
больше: x > y
равно: x = y
не равно: x <> y
меньше или равно: x <= y
больше или равно: x >= y
Далее приложение 1.
|
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.