Сегодня на уроке мы вспомним:
· алфавит и словарь языка Pascal;
· типы данных в языке Pascal;
· структуру программы на языке Pascal;
· операторы присваивания, ввода и вывода;
· программирование разветвляющихся алгоритмов.
· и массивы в Pascal.
Pascal – один из наиболее известных языков программирования, а также является базой для ряда других языков. С помощью языка Pascal можно создавать программы для решения вычислительных задач, обработки текстов, построения графических изображений и много другого.
Алфавит и словарь языка Pascal
Алфавит языка – это набор допустимых символов, которые можно использовать для записи программы.
Язык программирования Pascal использует следующие наборы символов:
· Английские буквы и буквы национальных алфавитов, в том числе русского.
· Буквы могут быть как строчными, так и прописными.
· Арабские цифры – (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).
· Знаки операций и знаки, входящие в составное обозначение операций (+, -, *, /, :, =, <, >).
· Ограничители (., ,, ( ), [ ], { }, :, ;, ‘, « »).
· Специальные символы ($, @, #, &, ^, _, ~, %).
В алфавите языка также есть неделимые элементы. Это составные символы, которые нельзя разрывать.
К ним относятся:
· знак операции присваивания (:=);
· pнаки >= и <=;
· начало и конец комментария. Сам комментарий, который вы ходите оставить, необходимо написать после знака «двойной слеш».
Служебные слова – это цепочки символов, которые рассматриваются как единые смысловые элементы с фиксированным значением.
Давайте вспомним основные служебные слова, которые используются при написании программы на языке Паскаль.
Для обозначения констант, переменных, программ и других объектов используются имена. Имена – это любые последовательности букв, цифр и символов подчёркивания. Важно, что имя должно быть отличным от служебных слов и названия операторов. Чтобы задать имя используют латинский алфавит, и оно должно начинаться с буквы или символа подчёркивания. В именах не различаются строчные и прописные буквы.
Типы данных в языке Pascal
Типы данных делятся на числовые, символьные, строковые и логические.
Структура программы на языке Паскаль
В программе, записанной на языке Pascal, выделяют:
· заголовок программы;
· блок описания используемых данных;
· блок описания действий по преобразованию данных (программный блок).
Заголовок программы состоит из служебного слова program и имени программы, после которого ставится точка с запятой.
Основными разделами блока описания данных являются:
· раздел описания констант (const),
· и раздел описания переменных (var).
Имена переменных одного типа следует перечислять через запятую, затем после двоеточия указывают их тип. После описания каждого типа ставится точкой с запятой.
В программе могут отсутствовать заголовок и блок описания данных, но обязательно должен быть программный блок. Он содержит команды, которые описывают алгоритм решения задачи. Программный блок начинается со слова begin и заканчивается словом end, после которого ставится точка.
Вспомним общий вид программы:
program <имя программы>;
const <список постоянных значений>;
var <описание используемых переменных>;
begin <начало программного блока>
<оператор 1>;
<оператор 2>;
…
<оператор n>
end.
Под операторами в языке Pascal подразумевают только описание действий. Операторы отделяются друг от друга только точкой с запятой. Если оператор стоит перед end, until или else, то в этом случае точка с запятой не ставится.
В программе на языке Pascal можно оставить комментарии.
Их можно указать следующими способами:
· Заключить текст комментария между фигурными скобками.
· Начать текст комментария с двух знаков слэш.
Оператор присваивания
Присваивает указанной переменной некоторое значение.
Перед оператором присваивания следует имя переменной, которой присваивается значение, а после него – значение, которое присваивается переменной.
<Имя переменной>:=<Значение>;
При использовании оператора присваивания необходимо, чтобы переменная с указанным именем была предварительно объявлена в разделе описания переменных. Значение, присваиваемое переменной, должно соответствовать типу переменной.
Порядок выполнения операций
Важно помнить в каком порядке должны выполняться операции в сложных выражениях. Операции одного приоритета выполняются слева направо. Если воспользоваться круглыми скобками, то можно изменить порядок операций. Значения функций вычисляются раньше, чем выполняются другие операции.
Вспомним приоритетные уровни операций по убыванию приоритета:
· Одноместные (унарные) операции: +, -, not.
· Мультипликационные операции: *, /, div, mod, and.
· Аддитивные операции: +, -, or, xor.
· Операции отношения: <, <=, >, >=, =, <>.
Операторы ввода и вывода
В Pascal ввод осуществляется с помощью процедур read и readln, а вывод – благодаря write и writeln.
Процедуры, которые имеют окончание ln, после своего выполнения переводят указатель на новую строку.
Правила преобразования числовых типов в среде программирования Pascal
К числовым типам данных относятся целочисленные типы: byte и integer, а также вещественный тип real. Переменные типа byte легко преобразуются в integer и real. Также можно перевести переменные типа integer в real. Переменные вещественного типа real нельзя перевести в целочисленный тип неявно. Это можно сделать только с помощью специальных функций. Переменные типа integer также можно неявно преобразовать в byte.
Возможности неявного преобразования данных числовых типов
Над любыми числами, как над целыми, так и над вещественными можно производить основные арифметические операции: сложение вычитание, умножение и деление. Сложение, вычитание и умножение возвращают результат в зависимости от типа переменных, над которыми производится операция. Если оба аргумента целочисленных типов, то есть byte и integer – то и результат будет целым числом. Если один или оба аргумента принадлежат вещественному типу real, то и результат будет принадлежать типу real. Деление всегда возвращает результат вещественного типа, real.
Основные арифметические операции
Вспомним такие арифметические функции как: возведение в квадрат sqr и извлечение квадратного корня из числа sqrt. Результат выполнения функции sqr будет того же типа, что и аргумент. А результат выполнения функции sqrt всегда будет вещественного типа.
Ещё одна функция общая для числовых типов – модуль числа. Функция модуля записывается сочетанием букв abs и её значение будет того же типа, что и аргумент.
Теперь вспомним функции, аргументом которых может быть только вещественное число. Это функция округления – round, а также функции выделения целой – int и дробной frac части. Значение функции round имеет целочисленный тип. Единственным способом преобразования вещественных чисел к целому типу является функция округления. Функции выделения целой и дробной части возвращают значение вещественного типа.
Функция random не имеет аргументов. Эта функция возвращает случайное вещественное число от нуля до единицы, при этом ноль входит данный промежуток, а единица – нет.
Теперь вспомним операции и функции, которые уникальны для целочисленных типов. Это операция получения целого частного – div. И операция выделения остатка от деления – mod. Результаты этих операций имеют целочисленные типы.
Символьный тип данных
В языке Pascal символьный тип называется char.
Значения символьного типа в коде программы нужно заключать между двумя апострофами. Символьным значениям, задаваемым через консоль, апострофы не нужны.
Строковый тип данных
В языке Pascal значением переменной типа string является строка – это последовательность из нескольких символов. Строковые значения в коде программы заключаются в одинарные кавычки. При вводе через консоль, как и в случае с символами кавычки не требуются.
Строки можно получать с помощью склейки символов между собой или путём склейки других строк – эта операция называется конкатенацией. Чтобы выполнить эту операцию необходимо присвоить строковой переменной последовательно записанные строковые или символьные значения, между которыми должен стоять знак плюс. Исходные строки и символы будут соединены в порядке своего следования.
Со строками можно работать посимвольно. Нужно записать название строковой переменной после которого в квадратных скобках указать порядковый номер символа, чтобы обратиться к символу в составе строки.
Логический тип данных
В языке Pascal он называется boolean. К этому типу принадлежат логические переменные. Такая переменная может хранить одно из двух значений – истина или ложь. В языке Pascal эти значения обозначаются как true и false. Ещё мы помним, что, если высказывание истинно – оно может обозначаться 1, а если ложно – 0.
Значения логических переменных можно получить при сравнении чисел, а также строковых, символьных и логических выражений, поэтому в языке Pascal логическим переменным можно присваивать результат операции сравнения.
В языке Pascal высказывания можно объединять с помощью логических операций: and, or и not. При этом каждое высказывание берётся в скобки.
Программирование разветвляющихся алгоритмов
Для записи конструкции ветвления в языке Pascal используется условный оператор. У условного оператора в языке программирования Pascal есть две формы записи: полная и сокращённая.
В сокращённой форме для записи условного оператора используется служебное слово if, после которого следует условие. После условия записывается служебное слово then, после которого следует оператор. Этот оператор будет реализован если будет выполнено указанное условие. После оператора ставится точка с запятой.
В полной форме записи после условия следует оператор, который стоит после слова then, точка с запятой не ставится, так как далее следует оператор, который будет выполнен, если указанное условие выполнятся не будет. Вместо точки с запятой записывается служебное слово else, после которого следует точка с запятой.
Вспомним и составной условный оператор. В этом операторе после служебных слов then и else следуют целые последовательности операторов, которые заключены между логическими скобками. В данном случае перед служебным словом else точка с запятой не ставится.
if <условие>
then begin
<оператор 1>;
<оператор 2>;
…
end;
Внутри оператора ветвления может встречаться и другой оператор ветвления. Тогда такой оператор ветвления называется вложенным.
if <условие>
then if <условие>
then <оператор 1>;
Программирование циклических алгоритмов
В зависимости от способов организации выделяют: циклы с заданным условием продолжения работы, циклы с заданным условием окончания работы и циклы с заданным числом повторений.
Циклы с заданным условием продолжения работы (с предусловием)
Цикл с предусловием записывается с помощью служебного слова while. После которого следует условие цикла и служебное слово do.
На следующей строке располагается тело цикла, состоящее из серии операторов, которые записывают в порядке своего исполнения. Часто они записываются в логических скобках, то есть между служебными словами begin и end. Если тело цикла состоит из одного оператора, то логические скобки записывать необязательно.
while <условие> do
begin
<оператор 1>;
<оператор 2>;
…
end;
Циклы с заданным условием окончания работы (с постусловием)
Цикл с постусловием записывается с помощью служебного слова repeat. После него следует тело цикла, которое представляет собой последовательность операторов. После тела цикла следует служебное слово until, после которого идёт условие цикла и ставится точка с запятой. Как мы помним, выделять тело цикла служебными словами begin и end в данном случае не требуется, так как слова repeat и until сами играют роль логических скобок.
repeat
<оператор 1>;
<оператор 2>;
…
until <условие>;
Циклы с заданным числом повторений
Такие циклы записываются с помощью оператора for, после которого следует название параметра, который должен быть заранее объявлен в разделе описания переменных. Параметр может принадлежать только к одному из целочисленных типов. Далее записывается знак присваивания, после него начальное значение параметра. Дальше стоит или служебное слово to, или downto. Отличие в использовании этих служебных слов в том, что to используется, когда конечное значение параметра больше начального, а downto – когда конечное значение меньше начального. После указывается конечное значение параметра, а после него через пробел служебное слово do.
Шаг изменения параметра в языке Pascal всегда равен единице, поэтому его указывать не требуется. Дальше следует тело цикла, которое записывается между логическими скобками, если в нём больше одного оператора.
for <параметр> := <начальное значение> to/downto <конечное значение> do
begin
<оператор 1>;
<оператор 2>;
…
end;
Массивы
Массивы в Паскале представляют именованную собой совокупность элементов одного типа, ранжированных по возрастанию их индексов. Массивы используются в комбинации с циклами.
Объявление массива выполняется с помощью ключевого слова array с указанием размерности массива и типа его элементов.
Если элементы массива имеют заданные начальные значения, то он может быть описан в разделе описания констант.
Чтобы заполнить массив необходимо:
· ввести значения каждого элемента с клавиатуры
· или присвоить элементам некоторые значения.
При этом может быть применён цикл с параметром.
С помощью оператор присваивания можно задавать значения элементов массива.
или
Значения элементов массива можно вывести в строку, разделив их пробелом.
или
Ну что же, вот мы и вспомнили основные моменты программирования на языке Паскаль. Теперь попробуйте ответить на следующие вопросы:
Относится ли знак присваивания к неделимым элементам?
Что такое служебные слова?
Можно ли имя массива совпадать со служебным словом?
Можно ли переменные вещественного типа real перевести в целочисленный тип неявно?
Внимательно посмотрев урок, вам не составит труда ответить на вопросы.