Как запустить программу в паскале на клавиатуре

Обновлено: 07.07.2024

Первое знакомство с системой программирования Турбо Паскаль

Примечание. На всех дискетах может быть создан файл turbo.bat для автоматического запуска системы программирования Турбо Паскаль и выхода из нее (например, turbo.bat:C:\TP7_0\BIN\turbo.exe diskpark).

Из истории. Турбо Паскаль появился на рынке программных продуктов в 1984 году и совершил революцию в программировании. До этих пор предпочтение отдавалось Бейсику - простому, дешевому и легко усваемому. Паскаль же был аппаратно зависимым, дорогим и сложным в обращении. С появлением Турбо Паскаля положение меняется. Турбо Паскаль состоит из языка программирования и среды программирования, которая создает удобства в работе.

Первая версия Турбо Паскаля использовалась не очень долго - появилась в 1983 году, а уже в 1984 году ее заменила вторая версия, которая получила широкое распространение. К осени 1985 года появляется третья версия, более удобная в работе (быстрее работает компилятор и редактор, возможен вызов MS-DOS из программы).

Четвертая версия (1988 год), представил Турбо Паскаль в новом виде (появление новой среды, компилятор стал встроенным). Осенью этого же года разработана пятая версия, у которой еще больше развита среда и у которой появился встроенный отладчик. А в 1989 году появилась версия 5.5, позволившая перейти к объектно-ориентированному программированию.

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

В 1992 году фирма Borland International выпустила два пакета программирования на языке Паскаль - это Borland Pascal 7.0 и Turbo Pascal 7.0

Пакет Turbo Pascal 7.0 использует новейшие достижения в программировании. Он может быть использован практически на любой машине и относительно дешев. Язык этой версии обладает широкими возможностями, имеет большую библиотеку модулей. Среда программирования позволяет создавать тексты программ, компилировать их, находить и исправлять ошибки, компоновать программы из отдельных частей, использовать модули, отлаживать и выполнять отлаженную программу.

показать, как включать компьютер;
показать, как правильно вставлять дискету;
показать, как запускать Турбо Паскаль;
познакомить с рабочим экраном.

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

Переход из первого окна во второе и на оборот осуществляется при помощи нажатия клавиши F10.

Команды редактора

Примечание. Требуется заранее подготовить карточки с основными командами, необходимыми для работы. Остальные команды учащиеся могут узнать в процессе работы с Турбо Паскалем при помощи режима помощи (клавиша F1).

Команды управления движением курсора

-> - перемещение курсора на символ вправо;

<- - перемещение курсора на символ влево;

^ - перемещение курсора на строку вверх;

v - перемещение курсора на строку вниз;

Home - перемещение курсора в начало текущей строки;

End - перемещение курсора в конец текущей строки;

Page Up - перемещение курсора на страницу вверх;

Page Down - перемещение курсора на страницу вниз;

Ctrl + Home - перемещение курсора в левый верхний угол;

Ctrl + End - перемещение курсора в левый нижний угол;

Команды вставки и удаления текста

Insert - включение и выключение режима вставки;

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

Delete - удаление символа, стоящего в позиции курсора;

Backspace - удаление символа, стоящего перед курсором;

Примечание. Иногда на этой клавише написано BS, а иногда это левосторонняя стрелка, расположенная над клавишей ввода (ENTER).

Ctrl + N - вставка пустой строки над строкой, где находится курсор;

Ctrl + Y - удаление строки, где находится курсор.

Задания

    Набрать свою фамилию, имя и отчество. В следующей строке - свой домашний адрес, ваш номер телефона (если он есть).

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

Режим помощи

Необходимо познакомить с режимом помощи - Help (F1). Показать, как входить в режим помощи, перемещаться по нему. Подробное знакомство с этим режимом учащиеся проводят самостоятельно.

Первая программа

Рассказать об общем виде программы.

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

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

После раздела описаний идет раздел операторов, который начинается со служебного слова Begin и заканчивается служебным словом End. В этом разделе задаются действия над объектами программы, введенными в употребление в разделе описаний. Операторы в этом разделе отделяются друг от друга точкой с запятой. После последнего слова End ставится точка.

Разбор примера

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

Рассмотрим на примере.

Program Example_1;
Var a, b, rez: Integer;
Begin
Writeln('Введите два числа через пробел');
Readln(a,b);
rez:=a*b;
Writeln ('Их произведение равно ',rez);
Writeln ('Нажмите <Enter>');
Readln;
End.

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

Имя этой программы 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 (рис.1). Так как в результате умножения двух целых чисел получается целое число, то переменная rez описана типом Integer(значениями которого могут быть лишь целые числа).

Запуск программы

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

Задания

  1. Изменить программу для нахождения суммы двух чисел.
  2. Изменить программу для нахождения суммы четырех чисел.
  3. Найти значение выражения: (a + (d - 12)*3) * (c - 5*k), где значения переменных a, d, c и k вводятся с клавиатуры.
  4. Выведите на экран свою фамилию, имя и отчество, в следующей строке - дату рождения.

Сохранение программы

Для того, чтобы сохранить программу, необходимо:

выйти в главное меню и выбрать режим File;
нажать <Enter> и из появившегося окна выбрать режим Save as. после нажатия клавиши <Enter> появится окно, в котором наберите имя файла. Например, а:\prim1_1.pas; здесь а:\ - это название диска, на котором будем сохранять файл, prim1_1 - имя файла (оно может содержать не более 8 символов), pas - расширение, сообщающее о том, что файл содержит программу, написанную на языке Паскаль.

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

* = + []\|;. <>/?. А также не следует использовать в именах файлов символ пробела и буквы русского алфавита.

После того, как имя файла набрано, нажмите клавишу <Enter>.

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

Наберем простейшую программу, соответствующую условию задачи:

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

Внимание! Две косые черты (//) отделяют комментарии, их набирать не нужно.

program schet; // название программы

uses crt; // подключаемые модули

var x, y, s:integer; // объявление имен переменных и их типа

begin // начало исполнительной части

writeln('Введите два целых числа'); // написать на экране текст

readln(x,y); // прочитать данные с клавиатуры и

// запомнить их в переменных

s:=x+y; // выполнить расчет и запомнить его в

writeln('Сумма чисел =',s); // написать на экране текст и значение

end. // конец программы

4. Просмотрите текст файла, обратите внимание на стуктуру программы.

Структура простейших программ выглядит следующим образом:

program . ; заголовок программы и ее имя

var . ; блок объявления переменных и их типа

begin начало исполнительной части программы

end. конец программы (точка обязательна)

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

program proba;

где proba – имя текущей программы.

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

Каждое предложение языка должно отделяться от следующего за ним точкой с запятой ( ; ).

Исключение составляют комментарии. Они не отделяются точкой с запятой.

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

Комментарии предназначены для пояснения задачи и для временного исключения из текста программы некоторых операторов. В тексте они выделяются фигурными скобками < >или отделяются двумя косыми чертами //. Комментарии игнорируются компьютером при выполнении, однако при выводе текста программы – печатаются.

В Паскале имеется особая группа слов, таких как, например: begin, for, end, program и другие, за которыми закреплены специальные смысловые значения. Такие слова называются служебными (зарезервированными) и должны употребляться в строгом соответствии с заложенным в них смыслом.

Существует и другая группа имен, имеющих стандартно определенный смысл, например, integer, writeln и другие. Их так и называют – стандартные или предопределенные имена.

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

За декларативной частью следует исполнительная часть программы, обрамляемая словами-ограничителями (логическими скобками): begin и end. Между указанной парой слов и размещаются предложения, выполняющие в программе те или иные действия. Исполнительную часть программы называют телом программы.


Пример ошибки, обнаруженной Паскаль АВС:

6. После исправления всех ошибок и появления в новом окне начала работы программы, введите нужные данные (если в программе подразумевается ввод нескольких переменных, то это следует делать через Enter или пробел!), получите результат работы и проверьте его на правильность. Так как текст программы и ее работа показываются в разных окнах (если подключен модуль Crt), можно сопоставить программные строки и ее выполнение.

Пример работы программы


7. Сохраните набранную программу в своей папке.

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

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

Самая простая и часто применяемая техника организации приема информации основывается на использовании уже знакомых Bам процедур read и readln. Расширим знания о них. Эти процедуры работают со стандартным входным файлом, который отождествлен с “консолью”, т. е. с клавиатурой и экраном дисплея. На практике это означает, что информация, введенная с клавиатуры, помимо обработки процедурами, будет отображаться на экране.

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

то выполнение оператора readln (Chislo) будет происходить следующим образом. Программа будет приостановлена в ожидании ввода с клавиатуры символов, изображающих целое число. После ввода этих изображений они будут автоматически преобразованы в соответствующие двоичные значения и присвоены переменной Chislo. Аналогично организован прием значений действительного, символьного и строкового типа. Если read(readln) не может выполнить преобразования, то генерируется ошибка № 106 – Invalid numeric format (Неверный формат числовых данных) и выполнение программы прекращается. Это является стандартной реакцией, которую выполняет программа, взявшая на себя обработку ошибок. Мы вернемся еще к обработке ошибок, вызванных некорректным вводом, в теме “Процедуры и функции”, где научимся правильно составлять и использовать вспомогательные подпрограммы. А пока приведем пример применения этих процедур ввода при организации циклов.

Примечание. Здесь использованы следующие процедуры:

GoToXY (X, Y:Byte) - перемещает курсор к элементу экрана с заданными координатами, учитывая, что размер экрана в текстовом режиме 25 строк по 80 символов.

TextBackGround (Color : Byte) – задает цвет фона.

TextColor (Color : Byte) – задает цвет символов.

Однако, несмотря на простоту и удобство, стандартные процедуры read и readln не обеспечивают всеж потребностей, возникающих при работе с клавиатурой. Их важнейший недостаток в том, что вместе с приемом символов они выполняют их отображение на экран (так называемое “эхо на монитор”). В большинстве случаев это либо не нужно, либо недопустимо. Например, если программа реализует некоторый оконный интерфейс, то вывод вводимых символов испортит изображение. Кроме того, они рассчитаны только на ввод относительно небольшого подмножества символов (буквы, цифры, знаки препинания) и частичного использования специальных клавиш (например, Backspace для отмены только что введенного символа). Эти процедуры не могут распознать нажатие функциональных или редактирующих клавиш и их сочетаний с управляющими клавишами Ctrl, Alt, Shift. В силу указанных причин процедуры read и readln редко используются в серьезных программах.

Более универсальным средством взаимодействия с клавиатурой является стандартная функция readKey из системного модуля Crt. Функция вызывается без параметров, возвращает значение символьного типа и работает следующим образом. Организуется задержка выполнения с ожиданием нажатия клавиши. После того, как нажатие произведено, функция завершает работу, возвращая код нажатой клавиши. Полученное значение можно использовать далее в программе. Тривиальный пример работы с функцией readKey, не требующий комментариев, может выглядеть так:

Примечание. Здесь использована процедура Exit, которая позволяет досрочно выйти из программы. Применение этой процедуры является плохим стилем программирования.

Функция readKey не отображает введенный символ на экран, благодаря чему она широко используется для организации управления в различных диалоговых программах. В дополнение к этому readKey позволяет отслеживать нажатие более широкого множества клавиш, опознавая функциональные и редактирующие клавиши и их сочетания с управляющими клавишами Ctrl, Alt, Shift.

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

В основной набор входят клавиши букв, цифр, разделителей и знаков препинания, их комбинации с клавишей Shift (или, что то же самое, при включенном переключателе CapsLock), а также клавиши Tab, BackSpace, Enter и Esc. Если нажата одна из перечисленных клавиш, то readKey возвратит обычный ASCII-код соответствующего символа.

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

Схема использования функции readKey для общего случая может выглядеть так:

Большинство прикладных диалоговых программ использует описанную технику взаимодействия с клавиатурой. Однако встречаются случаи, когда возможностей функции readKey оказывается недостаточно. На самом деле функция readKey воспринимает нажатия не всех клавиш: достаточно попробовать, запустив вышеприведенную программу, нажать клавиши F11, F12, ввести комбинацию Alt+Esc и т.д. Тому, кто желает более детально изучить работу этой функции, предлагаем самостоятельно найти в книгах по Турбо Паскалю этот материал. А мы ограничимся вышесказанным.

Второй базовой функцией взаимодействия с клавиатурой является функция KeyPressed. В отличие от readKey, она предназначена не для приема кода нажатой клавиши, а для простой проверки, была ли нажата какая-либо клавиша. Эта функция вызывается без параметров и возвращает значение булевого типа: True, если было нажатие, и False в противном случае.

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

Cоотношение этих функций станет более понятным, если рассмотреть их внутреннюю организацию несколько подробнее. В системной области DOS имеется небольшой буфер, в который операционная система помещает коды нажатых клавиш. буфер организован в виде очереди, причем помещение кодов производится в ее хвост, а считывание из головы. Таким образом, каждое обращение к функции readKey извлекает из головы очереди один содержащийся там код. Если буфер пуст, то организуется задержка выполнения до тех пор, пока в нем не появится код ( появление кода соответствует нажатию клавиши). Если же к моменту вызова readKey нажатие уже произошло, то есть буфер содержит хотя бы один код, то никакой задержки не будет. Буфер очень невелик и рассчитан на хранение максимум 15 кодов, что соответствует 15 нажатиям. Кстати говоря, иногда встречается такая ситуация, когда та или иная программа “не успевает” выбирать коды клавиш из буфера (то есть нажатия производятся чаще). Ситуация переполнения буфера индицируется звуковым сигналом, после чего коды вновь нажимаемых клавиш будут пропадать.

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

  1. Составьте программу движения круга вверх, вниз, влево, вправо в зависимости от нажатия клавиш управления курсором.

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

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

Запуск системы Pascal ABC осуществляется выполнением файла PascalABC.exe. На экране появляется главное меню системы (рис.1).


Рис. 1. Основной экран Паскаль ABC

Горячие клавиши

F2, Ctrl-S - сохранить файл.

F3, Ctrl-O - загрузить файл.

F12 - сохранить файл под новым именем.

Ctrl-Shift-S - сохранить все открытые файлы.

Ctrl-Shift-0 . Ctrl-Shift-9 - установить закладку с номером 0. 9.

Ctrl-0 . Ctrl-9 - перейти к закладке с номером 0. 9.

Ctrl-Tab, Ctrl-Shift-Tab - перейти к следующему/предыдущему окну редактора.

Ctrl-Shift-I - увеличить отступ выделенного блока.

Ctrl-Shift-U - уменьшить отступ выделенного блока.

Окно вывода

Окно вывода может быть скрыто. Клавиша F5 и кнопка показывают/скрывают окно вывода. Для скрытия окна вывода используется также клавиша Esc.

Окно вывода обязательно открывается при любом выводе в него.

Для очистки окна вывода следует нажать комбинацию клавиш Ctrl-Del или кнопку .

Окно ввода


Окно ввода открывается при выполнении процедур read и readln в ходе работы программы:

Ввод данных в окно ввода сопровождается эхо-выводом в окно вывода (рис 2). После нажатия клавиши Enter данные из окна ввода попадают в соответствующие переменные, окно ввода закрывается, и программа продолжает работать дальше.

Рис. 2. Окно ввода Паскаль ABC

Запуск и остановка программы

Для запуска программы в текущем окне редактора следует нажать клавишу F9 или кнопку панели инструментов.

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

• Программа прервана пользователем

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

При выводе в графическое окно модуля GraphABC программу можно прервать нажатием клавиши Esc, при этом графическое окно будет закрыто.

Читайте также: