Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Урок из серии Pas ABC.doc
Скачиваний:
8
Добавлен:
17.08.2019
Размер:
694.78 Кб
Скачать

60

Урок из серии: "Язык программирования Паскаль"

На первом занятии вы узнаете:

  1. Какова структура программы на языке Паскаль.

  2. Как написать простейшую программу.

Для создания программ можно использовать среду программирования Pascal ABC.

Если Паскаль на компьютере не установлен: Скачать PABCDistr.rar с WebFile.RU.

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

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

program <имя программы>;

За ним идет раздел описаний, в котором должны быть описаны все идентификаторы (константы, переменные, типы, процедуры, функции, метки), которые будут использованы в программе.

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

Общий вид программы:

program <имя>; {заголовок программы} uses ...; {раздел описания модулей} var ...; {раздел объявления переменных} label ...; {раздел объявления меток} const ...; {раздел объявления констант} type ...; {раздел объявления типов} function ...; {раздел объявления функций} procedure ...; {раздел объявления процедур}

begin {последовательность операторов} end. {конец программы}

В разделе описаний не обязательно должны быть все разделы. В наших первых пограммах будет только один раздел - раздел Var (variable - переменная), в котором мы будем объявлять те переменные, которые будем использовать в разделе операторов.

Как написать простейшую программу

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

Задача. Ввести с клавиатуры два числа. Вывести на экран их произведение.

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

Имя этой программы example_1.

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

В каждом объявлении перечисляются через запятую имена переменных одного типа, после чего ставится двоеточие и указывается тип переменных. В нашем примере описаны три переменные: все они (a, b и rez) имеют целый тип (integer).

После описательной части идет раздел операторов, начинающийся со служебного слова begin.

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

Следующий оператор - это readln(a,b); - читать данные с клавиатуры. В данном случае во время выполнения программы необходимо ввести два целых числа через пробел, тогда переменной a присваивается значение, равное первому введенному числу, а переменной b присваивается значение, равное второму введенному числу. Например, вы ввели числа 12 и 45, тогда a = 12, а b = 45. В конце этого оператора также можно ставить ln.

После этих двух операторов стоит оператор присваивания: rez := a * b; (:= - это знак присваивания в языке Паскаль). Переменная rez получит значение, равное произведению числа a на число b .

Следующий оператор - это снова оператор writeln('текст',rez) - он выведет на экран текст, заключенный между апострофами, а за ним значение переменной rez. Затем следующий оператор writeln выведет на экран сообщение: ''Нажмите <Enter>'', а оператор readln будет ожидать этого нажатия в окне выполнения.

Завершает раздел операторов end с точкой.

Выполнение программы

После запуска программы на экране появляется сообщение:

Введите два целых числа через пробел

Курсор мигает в следующей строке, вводим два целых числа через пробел и нажимаем <Enter>, после этого появляется сообщение:

произведение равно...

Нажмите <Enter>.

Урок из серии: "Язык программирования Паскаль"

На этом уроке вы узнаете о типах данных в языке Паскаль и способе их описания.

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

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

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

Тип данных (data type) - множество величин, объединенных определенной совокупностью допустимых операций.

Каждый тип данных имеет:

  1. Специальное зарезервированное слово для описания.

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

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

  4. Свой формат внутреннего представления.

Результат выполнения этих операций должен быть того-же типа.

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

Все типы данных в языке Паскаль можно разделить на простые и структурированные (составные).

Простые типы данных:

  • Целые типы;

  • Логический тип

  • Перечисляемые типы

  • Тип-диапазон

  • Символьный тип

  • Вещественные типы.

Структурированные типы данных:

  • Массив;

  • Запись;

  • Множество;

  • Файл.

Описание переменных

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

Раздел описания переменных начинается зарезервированным словом var (variable – переменная), затем через запятую перечисляются имена переменных и через двоеточие следует их тип и точка с запятой.

Формат:

Var

<идентификатор, …>: <тип>;

На следующем уроке мы остановимся на целых типах данных, на алгоритмах обработки этих данных.

До встречи на следующем уроке.

Урок из серии: "Язык программирования Паскаль"

На этом уроке мы остановимся на целых типах данных и алгоритмах их обработки .

Определим для них:

  1. Зарезервированные слова для описания.

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

  3. Набор операций.

  4. Формат внутреннего представления.

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

тип

значение

формат

chortint

-128..127

Знаковый

integer

-32768..32767

Знаковый

longint

-2147483648.. -2147483647

Знаковый

byte

0..255

Беззнаковый

word

0..65535

Беззнаковый

Для работы с целыми числами используются арифметические операции:

  1. "+" - сложение;

  2. " * " - умножение;

  3. " - " вычитание;

  4. div - целочисленное деление;

  5. mod - получение остатка от целочисленного деления.

Замечание. Операция возведения в степень отсутствует. Обычное математическое деление «/» двух целых может дать дробный результат. Чтобы остаться в рамках множества целых чисел, вводятся следующие две операции: ''div'' - целая часть от деления; ''mod'' - остаток от деления.

Для работы с целыми типами используются функции, результат которых - целое число.

Функция

Назначение

abs(n)

Абсолютная величина n

sqr(n)

Квадрат числа n

trunc(x)

Получение целой части вещественного числа x

round(x)

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

Пример 1. Поменять местами значения переменных x и y.

Решение.

Нам нужно изменит значения переменных. Для этого можно использовать оператор присваивания.

Как легко проверить, к цели не приводит выполнение следующих операторов:

x:=y; {переменной x присвоить, значение переменной y} y:=x; {переменной y присвоить значение переменной х}

Проблема в том, что присваивая переменной x новое значение, мы теряем её старое значение. Нужно сначала сохранить старое значение переменной, а затем присвоить её новое значение. Задачу можно решить с помощью вспомогательной переменной.

Первый способ:

Z:= x; X:=y; Y:=z

Второй способ:

Z:=y; y:=x; x:=z

program _1;

var x, y, z: integer;

begin

writeln('Введите два числа: ');

readln(x,y);

z:=x;

x:=y;

y:=z;

writeln(x, ' ',y);

end.

Пример 2. Найти целую часть и остаток от деления целого числа a на целое число b.

Решение.

program _2;

var a, b, p1, p2: integer;

begin

writeln('Введите a, b: ');

readln(a,b);

p1:=a div b;

p2:=a mod b;

writeln('Целая часть: ',p1, ' Остаток: ',p2);

end.

Пример 3. Найти сумму цифр заданного трехзначного числа.

Решение.

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

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

Алгоритм нахождения цифр числа: 1. Находим последнюю цифру в записи числа. Для этого находим остаток от деления заданного числа на 10 с помощью операции mod. Сохраняем её.

2. Вычеркиваем последнюю цифру. Для этого присвоим новое значение числу, разделив старое значение нацело на 10 помощью опрерации div. Число станет двузначным.

3. Находим последнюю цифру теперь уже двузначного числа. Сохраняем её.

4. Зачеркиваем последнюю цифру. Остается первая цифра.

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

program _3;

var a, c1, c2, c3, s:integer;

begin

writeln('Введите число: ');

readln(a);

c3:=a mod 10; a:=a div 10;

c2:=a mod 10; c1:= a div 10;

s:=c1+c2+c3;

writeln('Сумма равна: ',s);

end.

До встречи на следующем уроке.

Урок из серии: "Язык программирования Паскаль"

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

Текстовые файлы – это файлы, содержащие символы, разделенные на строки. Причем в конце каждой строки стоит символ конца строки.

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

  1. описать переменную файлового типа;

  2. связать ее с конкретным физическим файлом процедурой Assign;

  3. открыть файл для чтения процедурой ReSet или для записи процедурой ReWrite;

  4. выполнить чтение или запись информации;

  5. по окончании работы с файлом закрыть файл процедурой Close.