Программирование в Pascal ABC — это программирование в системе, основанной на языке Delphi Pascal и призванной реализовать переход к модульному, объектно-ориентированному, событийному и компонентному программированию.
Введение
Язык высокого уровня Паскаль был разработан профессором Никлаусом Виртом, швейцарским учёным, в 1970-ом году. Данный язык программирования достаточно простой и стройный, и эти качества обеспечили ему широкую известность уже в течение не одного десятка лет.
Сегодня самой используемой в процессах обучения будущих специалистов считается система программирования Pascal ABC. Данная система предназначается для изучения методов программирования на языке Паскаль и имеет ориентацию на учеников старших классов и студентов начальных курсов. А помимо этого, программный пакет обладает электронным задачником.
Сдай на права пока
учишься в ВУЗе
Вся теория в удобном приложении. Выбери инструктора и начни заниматься!
Данная система позволяет реализовать переход от самых простых программ к выполнению модульного, объектно-ориентированного, событийного и компонентного программирования.
Команда OnVector в PascalABC
Программирование в Pascal ABC
Программная система Pascal ABC — это бесплатный и свободно распространяемый комплекс при условии, что установочный дистрибутив не изменялся. Ни одна компания или частное лицо не имеет права осуществлять платное распространение этой системы. Скачать и установить программу можно через интернет, причём абсолютно бесплатно.
После скачивания пакета следует запустить файл PABC Install, проявится специальное окно, где необходимо нажать кнопку «Установка». По завершению установки в автоматическом режиме выполняется запуск программы регистрации и настройки PABC Setup. Если потребуется, эту программу возможно позже запускать повторно при помощи команды «PABC Setup — Регистрация и настройка» в пункте «Pascal ABC» в разделе «Программы» в главном меню Windows.
Чтобы запустить программу следует нажать на ярлык Pascal ABC. На дисплее отобразится среда программирования Pascal ABC (оболочка). Средой программирования является пакет связанных между собой файлов, позволяющих вводить, корректировать, отлаживать и выполнять программы. После запуска программы появится окно, изображённое на рисунке ниже:
«Программирование в Pascal ABC»
Готовые курсовые работы и рефераты
Решение учебных вопросов в 2 клика
Помощь в написании учебной работы
Рисунок 1. Окно программы. Автор24 — интернет-биржа студенческих работ
Первой строкой экрана является меню интегрированной среды, а ниже неё расположена инструментальная панель. В самом низу находится строка подсказки и состояния интегрированной среды. По центру располагается окно редактирования, являющееся рабочим полем, где могут быть открыты вкладки для различных программ.
Окно редактирования служит для занесения и коррекций исходного текста программы. Точка для ввода данных обозначается курсором. Вверху слева в окне редактирования расположено служебное имя обрабатываемого файла, к примеру, Programl.pas.
Математические выражения их запись в Паскале
Приведём конкретный пример. Требуется осуществить ввод в компьютер двух целых чисел, вычислить их суммарное значение, а итоговый результат отобразить на дисплее вместе с пояснениями. Ниже приведён текст данной программы:
program raschet; // наименование программы uses crt; // модули, подлежащие подключению var x, y, s:integer; // объявлены имена переменных и их тип begin // начинается исполнительная часть программы writeln(‘Введите два целых числа’); // данный текст выводится на экран readln(x,y); // чтение вводимых данных с клавиатуры и // запоминание их в переменных s:=x+y; // осуществить операцию и запомнить результат в // переменной writeln(‘Сумма чисел =’,s); // вывести на дисплей текст и значение // переменной end. // конец программы
Структуру самых простых программ можно представить в следующем виде:
program . ; заголовок программы и ее наименование var . ; здесь объявляются переменные и их тип begin старт исполнительного участка программы …; собственно текст программы end. окончание программы (точка является обязательной)
Программа на Pascal ABC состоит из набора законченных компонентов, именуемых приложениями. Программа на Паскале должна начинаться специальным предложением, которое является заголовком, например, такого вида:
program proba;
здесь proba является именем текущей программы.
Замечание 2
Следует отметить, что заголовок не является обязательным элементом.
Имя программы может состоять из набора символов английского алфавита и цифр, которые необходимо отображать, как одно слово и запрещено использовать служебные слова языка. Исключением считаются комментарии, которые могут не отделяться точкой с запятой.
Как правило, все предложения пишутся с новой строки, что является более наглядным и считается более лёгким в понимании текста. С этой же целью следует применять отступы и выравнивания. Комментарии служат для разъяснений к задаче и для временного отключения из программного текста отдельных операторов. В тексте они должны быть выделены при помощи фигурных скобок или же отделены при помощи двух наклонных чёрточек //. Компьютер игнорирует комментарии при исполнении программы, но если выполняется вывод текста программы, то они распечатываются или отображаются на экране монитора.
Паскаль обладает особой группой слов, к примеру, begin, for, end, program и некоторые другие, имеющими закреплённые специальные смысловые значения.
Есть и иной набор имён, которые также обладают стандартно определённым смыслом, а именно, integer, writeln и другие. Они и считаются стандартными или предопределёнными именами.
Под именем программы должна быть расположена её декларативная часть, то есть часть, где компьютер извещается обо всех поименованных константах и переменных, задаваемых программистом, и об исполняемых этими компонентами ролях в программе. После декларативной части идёт исполнительная часть программы, которая обрамляется специальными словами ограничителями, а именно, begin и end. Между данными двумя словами и помещается весь исполняемый участок программы. Исполнительная часть программы называется телом программы.
В программе Pascal ABC применяются разные типы представления числовых значений. Целые числа, расположенные в интервале от -2147483648 до 2147483647 относятся к типу integer. Реальные, то есть вещественные, целые и дробные положительные и отрицательные числа определяются типом real.
Источник: spravochnick.ru
Изучение и использование основных возможностей языка Pascal в рамках одной программы
2012-03-27 в 1:37, admin , рубрики: open source, Pascal, PascalABC, исследование, Лабиринт, Программирование, разработка, метки: Pascal, PascalABC, исследование, Лабиринт
Наливайте чай, доставайте печеньки. Надолго я вас задерживать не буду.
Введение
Как известно, для обучения программированию очень часто используют язык Pascal, потому что этот язык программирования позволяет наиболее легко понять основные структуры, используемые во всех языка программирования. Причем не только в школах, но и в СУЗах и даже ВУЗах. Изучая возможности этого языка на протяжении довольно длительного времени (около 3х лет) и в различных средах (от Borlad Pascal до Pascal ABC) перед переходом к изучению других языков программирования я задался целью реализовать большую часть возможностей языка Pascal в одной программе.
Цели и задачи проекта
Цель
Создать программу, используя большинство возможностей языка программирования Pascal.
Задачи
- Выбрать среду программирования.
- Определить тему и создать сценарий программы.
- Изучить различные возможности языка Pascal.
- Создать программу.
- Протестировать программу.
Исследование для выбора среды программирования.
Перед тем, как писать программу, было необходимо определиться со средой, в которой она будет реализовываться. Я решил сравнить три доступных для меня среды программирования: «Pascal ABC», «Free Pascal» и «Borland Pascal». Так как все эти среды обладают необходимыми стандартными функциями и возможностями (ввод/вывод данных, использование сложных алгоритмических структур, стандартные процедуры и функции и процедуры и функции пользователя, операции с различными типами данных от целых чисел до массивов и файлов), то я решил «копнуть глубже», и сравнить эти среды по «дополнительным показателям».
Исходя из собственного опыта, а также при помощи информации с различных Интернет источников, я определил критерии и выполнил сравнение сред (результаты представлены в таблице 1).
I. Дружественный, понятный интерфейс:
1. Правильное отображение русских символов. Во «Free Pascal» при написании кода программы, пользователь не имеет возможности просматривать русские символы, так как они отображаются символами «Dos». Это значительно ухудшает возможность редактирования русского текста, выводимого в программе.
2. Язык среды. «Pascal ABC» обладает возможностью выбора языка (Русский, Английский) панели меню и описания ошибок. Что значительно упрощает возможность написания программ для Русских пользователь. В остальных средах язык только Английский.
3. Подробная справка, понятная справочная система. «Pascal ABC» обладает, подробной, удобной, структурированной справкой. Благодаря тому, что справка в «Pascal ABC» разбита на тематические блоки, в ней достаточно легко ориентироваться. Чего не скажешь о справке «Borland Pascal», которая так же русскоязычная, но разбита не по блокам, а по командам.
Что удобно для опытных пользователей, которым нужно найти конкретный оператор и пример его использования. Есть возможность перехода к оператору той же группы действия. И не удобна начинающим пользователям, которым надо найти оператор для конкретной ситуации, не зная его названия, лишь его тематику. «Free Pascal» справочная система почти никак не структурированная, на английском языке и нет возможности перехода к оператору той же группы действия.
4. Использование функций редактирования и клавиатурных сокращения. В «Pascal ABC» есть возможность использовать привычные клавиатурные сокращения Windows, для копирования, перемещения, выделения текста. «Borland Pascal» тоже обладает теми же функциями, но операции копировать – вставить и подобные совершаются другими клавиатурными сокращениями, к которым придётся привыкать. «Free Pascal» не имеет возможности быстро и корректно выделить текст, а, следовательно, и совершить какие-либо операции с ним.
5. Настройка внешнего вида среды. «Borland Pascal» обладает возможностью менять цвет фона, для более приятного использования. А «Free Pascal» не обладает этой функцией. Но только «Pascal ABC» обладает возможностью менять цвета подсветки кода, размера шрифта, размера окна (рисунок 1).
Рисунок 1.
6. Подсветка кода. Этой функцией обладают все среды выше представленные среды. Идентификаторы подсвечиваются другим цветом.
II. Дополнительные функции:
1. Работа с мышью. Операторы работы с мышью есть во всех средах. Работа в каждой среде требует знания разных команд, но, на мой взгляд, общая суть управление манипулятором «мышь» не имеет больших отличий.
2. Работа с графикой. Функции и процедуры работы с графикой доступны во всех средах, это круг, квадрат, линия, размер окна. Но в «Pascal ABC» параметры задаются не так как в «Borland Pascal» и «Free Pascal», а так, же везде используются разные команды.
3. Работа с изображениями. Работа с изображениями из файла (вставка, перемещение, изменение размера), доступно только в «Pascal ABC» (Рисунок 2).
Рисунок 2.
4. Работа с текстом в графическом режиме. Только «Pascal ABC» позволяет задать тип, размер, шрифт, цвет текста, а так же настроить попиксельно его положение в программе и задать размер окна программы.
III. Работа со звуком.
1. Системный динамик. В «Borland Pascal» есть возможность программировать системный динамик. В остальных средах этой возможности нет.
2. Вставка звука из файла. «Pascal ABC» обладает процедурами и функциями, для вставки музыки (.wav) из файла. (Рисунок 3).
Рисунок 3.
IV. Бесплатное распространение.
«Pascal ABC» — существуют две версии: свободно распространяемая и коммерческая.
«Free Pascal» — распространяется свободно.
«Borland Pascal» — коммерческая.
V. Наличие компилятора
«Pascal ABC» не имеет встроенного компилятора и не может создавать (*.exe) файлы. А «Free Pascal» и «Borland Pascal» имеют встроенный компилятор и могут создавать (.exe) файлы.
Сравнив по представленным выше критериям среды для программирования на языке Pascal: «Free Pascal», «Borland Pascal» и «Pascal ABC». Я сделал вывод, что для создания программы с большинством возможных функций языка Pascal и что бы я мог легко ориентироваться в коде программы. А так же что бы эта среда распространялась бесплатно. Я подвёл итоги и решил написать свою программу в среде «Pascal ABC» хоть она и не делает (*.exe) файлы, но обладает удобной оболочкой, хорошей справкой, и позволяет добавлять различные функции программе, недоступные в других средах.
Описание программы
Саму программу можно скачать: Здесь
Программа представляет собой, сборник из 3х игр.
1ая игра — лабиринт. Для победы необходимо собрать некое количество монет (оно различно), указанное в мини справке в правом углу экрана, при этом нужно избегать бомб, через стены пройти нельзя.
Элементы игры: бомбы (противники, движутся в случайном направлении), монетки (нужно собрать для победы), телепорты (перемещают игрока в клетку другого телепорта, в том числе и в текущую).
2ая и 3я игры — подобны (гонки и молекулы), обе программы представляют собой «игры на везение» пользователь до начала игры выбирает, какая машина или молекула достигнет финиша первой (машины: правый конец экрана, молекулы: границы сосуда, экрана). А в конце пользователю объявляется, какой № выиграл и, соответственно, угадал он или нет.
Программа записывает данные пользователя, запрашиваемые в начале работы программы, в текстовый файл.
Для удобства пользователя предусмотрены справочные разделы. В разделе меню «справка по играм» мы можем достаточно хорошо узнать правила и принципы каждой игры. Раздел меню «О программе» позволяет пользователю узнать необходимое, о данной программе.
Раздел меню «звук» позволяет выбрать музыку для весёлой или спокойной игры, моя программа позволяет выбирать 1 из 3 треков или работать без звука.
Так же в меню присутствует одна из самых важных кнопок в программе — «выход».
Описание среды и средств программирования
Если вы не любите много читать, то можете спокойно пропустить этот раздел.
Тут я всего-лишь подвожу итоги по проведённому исследованию и показываю, реализацию большинства возможностей среды в своей программе.
Программа структурирована, разбита на части при помощи процедур.
В программе были использованы сложные алгоритмические конструкции: циклы, ветвления.
Например, для создания меню: цикл repeat и ветвление IF (для выбора пунктов меню).
Repeat
Textout (200, 130,’1. Лабиринт’);
Textout (200, 160,’2. Гонки.’);
gotoxy (36,23); readln(x12);
If x12=’1′ then play1;
If x12=’2′ then play2;
until x12=’7′;
Цикл while и оператор выбора case для создания лабиринта.
Реализована вставка картинок из файла.
В программе использованы процедуры и функции модулей: модуля crt для оформления текстов и очистки экрана;
textcolor(4);
gotoxy(22,8);
Writeln(‘»Прямоугольники» справка:’);
модуля graphABC для оформления программы: вставки различных геометрических фигур, создания рамок, графического оформления текста, вставки объектов графики;
procedure ramka;
begin
clrscr;
SetPenColor(clRed);
Rectangle(9,12,629,387);
SetPenColor(clLime);
Rectangle(19,22,619,377);
end;
модуля Sounds для подключения звука к программе.
z:=LoadSound(‘datamuzlife is real.wav’);
PlaySound(z);
В программе использованы простые и сложные типы данных.
Простые (integer), для перемещения элементов лабиринта, для передвижения машин и молекул.
Сложные (массивы, строки, файлы)
Для создания лабиринта: массивы и файлы (для сохранения данных пользователя и сохранения самой игры). Строки и цикл repeat для защиты от ошибок пользователя. Так же для запроса имени игрока после его победы или проигрыша.
gotoxy(5,10);textcolor(3);writeln(‘Введите вашу фамилию:’);
gotoxy(20,12);textcolor(1);readln(dinam_1^);
gotoxy(9,14);textcolor(3);writeln(‘Введите ваше имя:’);
gotoxy(20,16);textcolor(1);readln(dinam_2^);
Были использованы стандартные процедуры для вывода текста и его оформления. Но так же я добавил и процедуры, отвечающие за оформление текста: шрифт, размер, тип текста.
Защита от ошибок пользователя работает по такой схеме: если пользователь введёт символ, не несущий действие, то программа, либо попросит повторить ввод, либо будет ждать правильного ввода.
repeat
textout(200,130,’1. Лабиринт’);
textout(200,160,’2. Гонки.’);
textcolor(3);
SetFontSize(12);
SetFontStyle(0);
gotoxy(36,23);readln(x12);
if x12=’1′ then play1;
if x12=’2′ then play2;
until x12=’7′;
Для управления программой используется клавиатура. Программа снабжена множеством подсказок для пользователей.
В программе реализованная база данных по итогам игр при помощи динамических списков.
New(dinam_sp_1);
readln(fil,dinam_sp_1^.name);
readln(fil,dinam_sp_1^.sname);
readln(fil,dinam_sp_1^.rez);
dinam_sp_1^.next:=nil;
while not eof(fil) do
begin
new(dinam_sp_2);
str(dop_1_1,dop_2_1);
readln(fil,dinam_sp_2^.name);
readln(fil,dinam_sp_2^.sname);
readln(fil,dinam_sp_2^.rez);
dinam_sp_2^.next:=dinam_sp_1;
dinam_sp_1:=dinam_sp_2;
dop_1_1:=dop_1_1+1;
Выводы
В ходе работы была выбрана наиболее оптимальная среда программирования, позволяющая максимально эффективно использовать возможности языка Pascal.
А также была создана программа «Сборник игр»
Источник: www.pvsm.ru
Окно среды программирования Pascal ABC
6.Панель управления –
нужна, для создания нового
кода, сохранения проекта,
поиска ошибок, получения
справки, загрузи примеров
кода и т.д.
7.Панель быстрого доступа – предназначена для
сохранения кода (Ctrl+S), создание нового
(Ctrl+N), копирования, открытия существующего
проекта (Ctrl+O).
5. Типы и описания констант и переменных.
Особенностями языка являются строгая типизация.
Перед тем как писать программу, сначала нужно
определиться с типами данных , которые нам понадобятся…
Итак!
Основные типы переменных и констант –
Целые числа
1. INTEGER диапазон значений -2147483648.. 2147483647
2. BYTE диапазон значений 0 .. 255
3. WORD диапазон значений 0 .. 65 535
Символьный тип: CHAR Значения этого типа занимают 1 байт и
представляют собой символы кодовой таблицы в кодировке
Windows
6. Типы и описания констант и переменных.
Действительные числа
1. REAL Значения вещественного типа занимают 8
байт, содержат 15-16 значащих цифр и по модулю
не могут превосходить величины 1.7∙10308.
2. Текст: формат STRING диапазон значений 0-255
символов
Формат BOOLEAN (логический): диапазон значений
true или false
7. Стандартные процедуры и функции
Read(a,b..) – вводит значение с клавиатуры в переменные
Write(a,b..) – выводит значение переменных в окно вывода
Readln(a,b..) – считывает данные с последующим
переносом строки
Writeln(a,b..) – выводит значение с последующим
переносом строки
Abs(x) – возвращает модуль переменной
Sqr(x) – возвращает квадрат переменной
Sqrt(x) – возвращает квадратный корень из переменной
Random(x) функция от x — типа integer возвращает
случайное целое в диапазоне от 0 до x-1
8. Стандартные процедуры и функции
Ln(x) – возвращает натуральный логарифм
Exp(x) – возвращает e в степени x
Sin(x) – возвращает значение sin X переменной ( x
задается в радианах)
Cos(x) – возвращает значение cos X переменной
Arctan(x) – возвращает значение arctg X переменной
9. Структура программы
Программа на языке Pascal ABC имеет следующий вид:
program имя программы;
раздел подключения модулей
раздел описаний
Begin
операторы
End.
Раздел описаний может включать описания: переменных,
констант, типов, процедур и функций, которые следуют друг за
другом в произвольном порядке.
Раздел подключения модулей и раздел описаний могут
отсутствовать.
Операторы отделяются один от другого символом «точка с
запятой».
10. Описание переменных
Переменные могут быть описаны в разделе
описаний, а также непосредственно внутри
описания подпрограмм.
Раздел описания переменных начинается со
служебного слова var, после которого следуют
элементы описания вида
список имен: тип;
или
имя: тип := выражение;
11. Описание переменных
Имена однотипных переменных в списке
перечисляются через запятую. Например:
var
a,b,c: integer;
d: real := 3.7;
12. Оператор присваивания
Оператор присваивания имеет вид:
переменная:= выражение
Например:
a: = g*sqr(t);
Выражение должно иметь тип, либо совпадающий
с типом переменной, либо к нему приводящийся.
13. Условный оператор
Условный оператор
имеет полную и краткую формы.
Полная форма условного
оператора выглядит следующим образом:
if условие then оператор1
else оператор2
В качестве условия указывается некоторое
логическое выражение. Если условие
оказывается истинным, то
выполняется оператор1, в противном
случае выполняется оператор2.
14. Условный оператор
Пример полной формы :
k:=0; p:=1;
if k < p then
k := p;
else
p := k;
Если k < p, тогда k := p, иначе p := k;
Здесь k получит значение 1
15. Условный оператор
Краткая форма условного
оператора имеет вид:
if условие then оператор
Если условие оказывается истинным,
то выполняется оператор, в
противном случае происходит
переход к следующему оператору
программы.
16. Условный оператор
Пример краткой формы :
k:=1; p:=0;
if k < p then
k := p;
Если k < p, тогда k := p.
Если условие оказывается ложным, то
оператор после then не выполняется,
т.е. k остается равным 1
17. Составной оператор (блок)
Составной оператор предназначен для объединения
нескольких операторов в один. Он имеет вид:
begin
операторы
end
Например:
D:=b*b-4*a*c;
if D>=0 then
begin
x1:=(-b-sqrt(D))/(2*a);
x2:=(-b+sqrt(D))/(2*a);
end
18. Условный оператор
В случае конструкции вида
if условие1 then
if условие2 then оператор1
else оператор2
else всегда относится к
ближайшему предыдущему
оператору if, для которого
ветка else еще не указана.
19. Условный оператор
Если в предыдущем примере
требуется, чтобы else относилась к
первому оператору if, то
необходимо использовать
составной оператор:
if условие1 then
begin
if условие2 then оператор1
end
else оператор2
20. Условный оператор
Пример :
k:=11; p:=7; m:=5; h:=8;
if k < p then
if h = p then p := m
else p := h
else
m := k;
Writeln(p,h,m);
Если k < p, тогда проверяем, если h =
p, тогда p := m, иначе p := h.
Если условие k < p – ложно, тогда m := k
21. Циклы
Цикл – группа операторов, которая может быть
выполнена много раз подряд.
В PABC различают 3 основных операторов цикла
1) For
2) While
3) Repeat
22. Цикл for
Оператор цикла for предполагает заранее
определенное количество итераций и имеет одну
из двух форм:
for переменная := начальное
значение to конечное значение do
оператор
или
for переменная := начальное
значение downto конечное значение do
оператор
23. Цикл for
Кроме того, переменную можно описать
непосредственно в заголовке цикла:
for переменная: тип := начальное
значение to или downto конечное значение do
оператор
или
for var переменная := начальное
значение to или downto конечное значение do
оператор
24. Цикл for
Текст от слова for до слова do включительно
называется заголовком цикла, а оператор
после do — телом цикла. Переменная после
слова for называется параметром цикла. Для
первой формы цикла с ключевым словом to
параметр цикла меняется от начального значения
до конечного значения, увеличиваясь всякий раз на
единицу, а для второй формы ключевым
словом downto — уменьшаясь на единицу.
25. Цикл for
Для каждого значения переменной-параметра
выполняется тело цикла. Однократное повторение
тела цикла называется итерацией цикла.
Значение параметра цикла после завершения
цикла считается неопределенным.
26. Цикл for
Пример : создать таблицу вычисления
квадратов натуральных чисел от 1 до 20.
m:=20;
for var i := 0 to m do
writeln(i, ‘² = ‘, i*i);
27. Цикл while
Оператор цикла while имеет следующую форму:
while условие do
оператор
Условие представляет собой выражение
логического типа, а оператор
после do называется телом цикла. Перед каждой
итерацией цикла условие вычисляется, и если оно
истинно, то выполняется тело цикла, в противном
случае происходит выход из цикла.
28. Цикл while
Теперь опишем пример вывода таблицы, как в цикле
for, чтобы увидеть отличия данных операторов.
Пример : создать таблицу вычисления квадратов
натуральных чисел от 1 до 20.
k:=1; m:=2;
while k < m do
begin
writeln(k, ‘² = ‘, k*k);
m:=21;
k:=k+1
end
29. Цикл repeat
Оператор цикла repeat имеет следующую
форму:
repeat
операторы
until условие
В отличие от цикла while, условие
вычисляется после очередной итерации
цикла, и если оно истинно, то происходит
выход из цикла. Таким образом, операторы,
образующие тело цикла оператора repeat,
выполняются по крайней мере один раз.
30. Цикл repeat
Если условие всегда истинно, то может
произойти зацикливание:
repeat
write(1);
until 2=1;
31. Массивы
Массив – набор элементов одного
типа, каждый из которых имеет свой
номер, называемый индексом
(индексов может быть несколько, тогда
массив называется многомерным)
32. Массивы
Тип массива конструируется следующим
образом:
array [тип индекса1, …, тип индексаN] of
базовый тип
Тип индекса обязательно представляет
собой интервальный тип и обязательно
должен задаваться в виде a..b, где a и b константные выражения целого,
символьного или перечислимого типа
33. Массивы
Тип массива конструируется следующим
образом:
array [тип индекса1, …, тип индексаN] of
базовый тип
Тип индекса обязательно представляет
собой интервальный тип и обязательно
должен задаваться в виде a..b, где a и b константные выражения целого,
символьного или перечислимого типа
34. Массивы
Например:
var
a1,a2: array [1..10] of integer;
b: array [‘a’..’z’, ‘d’..‘g’] of string;
c: array [1..10] of array [1..5] of real;
В последнем случае имеем массив
массивов действительных чисел.
35. Массивы
К элементам массива обращаются при
помощи переменных с индексами:
a1[3]:=a2[5];
b[‘f’, ‘e’]:=’Hello’;
c[3][4]:=3.14;
36. Описание процедур функций
Процедура или функция представляет собой
последовательность операторов, которая
имеет имя, список параметров и может быть
вызвана из различных частей программ по
имени. Функции, в отличие от процедур, в
результате своего выполнения возвращают
значение.
37. Процедурный тип
Переменные, предназначенные для хранения
процедур и функций, называются процедурными.
Тип процедурной переменной имеет вид:
procedure (список параметров) или
function (список параметров) : тип
возвращаемого значения
38. Процедурный тип
Процедурной переменной можно присвоить
процедуру или функцию с совместным типом:
procedure my(i: integer);
begin
.
end;
function f: integer; begin
end;
.
p1:=my;
f1:=f;
39. Процедурный тип
Переменные могут описываться непосредственно
внутри подпрограммы. Эти описания переменных
имеют тот же вид, что и в разделе описаний основной
программы
После этого можно вызвать процедуру или
функцию через эту процедурную переменную,
пользуясь обычным синтаксисом вызова:
p1(5);
write(f1);
40. Описание процедур функций
Описание процедуры имеет вид:
procedure имя(список формальных
параметров);
раздел описаний
begin
операторы
end;
41. Описание процедур функций
Описание функции имеет вид:
function имя(список формальных
параметров): тип возвращаемого
значения;
раздел описаний
begin
операторы
end;
42. Описание процедур и функций
Пример описания процедуры :
procedure Reverse(var a: array [1..10] of integer; n:
integer);
var i,v: integer;
begin
for i:=1 to n div 2 do
begin
v:=a[i];
a[i]:=a[n-i+1];
a[n-i+1]:=v;
Writeln(a[i]);
end;
end;
43. Описание процедур функций
Пример вызова процедуры :
var i: integer;
Pet: array [1..10] of integer;
begin
for i:=1 to 10 do
Readln(Pet[i]);
Reverse(Pet, 10);
end.
44. Описание процедур функций
Пример описания функции:
function MinElement(var a: array [1..10] of real; n:
integer): real;
var i: integer;
begin
Result:=a[1];
for i:=1 to n do
if a[i] end;
45. Локальные и глобальные переменные
Переменные, описанные в разделе описаний
подпрограммы, называются ее локальными
переменными. Переменные же, описанные вне
подпрограммы, называются глобальными по
отношению к ней. Если имя локальной
переменной совпадает с именем глобальной
переменной, то локальная переменная
скрывает глобальную, так что к глобальной
переменной нельзя обратиться внутри
подпрограммы
46. Локальные и глобальные переменные
Например:
var i: real;
procedure p;
var i: integer;
begin
// к глобальной переменной i внутри
процедуры нельзя обратиться
i:=5; // присваивание локальной переменной i;
end;
Источник: ppt-online.org