Главная страница

Учебное пособие для школьников 79 классов СанктПетербург Павловск 20152016 Введение


Скачать 0.84 Mb.
НазваниеУчебное пособие для школьников 79 классов СанктПетербург Павловск 20152016 Введение
Дата05.05.2022
Размер0.84 Mb.
Формат файлаpdf
Имя файлаabcpascal.pdf
ТипУчебное пособие
#514238
страница1 из 6
  1   2   3   4   5   6

А.С.Цветков
Язык программирования PASCAL
Система программирования ABC Pascal
Учебное пособие для школьников 7-9 классов
Санкт-Петербург
Павловск
2015-2016

Введение
А.С.Цветков, ABC Pascal
- 2 -
19.09.2015
Справочник по системе ABC Pascal
Редактор
Горячие клавиши

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 - перейти к следующему/предыдущему окну редактора
Окно вывода

Под окном редактора расположено окно вывода. Оно предназначено для вывода данных процедурами write и writeln, а также для вывода сообщений об ошибках и предупреждений во время работы программы.

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

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

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

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

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

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

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

Выполнение программы можно в любой момент прервать нажатием комбинации клавиш Ctrl-F2 или кнопки
. При этом в окне вывода появится сообщение
Программа прервана пользователем.

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

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

Режим пошагового выполнения предназначен для отладки программы. Для выполнения одного шага
(одной строки) программы следует нажать клавишу F8 или кнопку
(шаг без входа в подпрограмму), либо клавишу F7 или кнопку
(шаг со входом в подпрограмму). Для выполнения программы до данной строки следует установить на нее курсор и нажать клавишу F4 или кнопку

Прервать программу, находящуюся в режиме пошагового выполнения, можно с помощью комбинации клавиш Ctrl-F2 или кнопки
. Если программа находится в режиме пошагового выполнения, то ее можно выполнить до конца, нажав F9.

Введение
А.С.Цветков, ABC Pascal
- 3 -
19.09.2015
Окно отладки

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

Для добавления переменной или выражения в окно отладки следует нажать комбинацию клавиш Ctrl-
F5 или кнопку .
Можно также перетащить из редактора в окно отладки выделенное выражение или при активном окне отладки нажать клавишу Ins. Допускаются выражения, содержащие функции, в т.ч. и определенные в программе.

Окно отладки включается/выключается нажатием комбинации клавиш Ctrl-Shift-W.

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

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

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

Если выражение неверно, его вычисление вызывает ошибку или в данном контексте недоступны некоторые переменные, то при выполнении программы в столбце "Значение" появляется сообщение "нельзя вычислить".
Структура программы
Программа на языке Pascal ABC имеет следующий вид:
program
имя программы; раздел подключения модулей раздел описаний
begin
операторы
end
• Первая строка называется заголовком программы и не является обязательной.
• Раздел подключения модулей начинается со служебного слова uses, за которым следует список имен модулей, перечисляемых через запятую.
• Раздел описаний может включать разделы описания переменных, констант, типов, процедур и функций, которые следуют друг за другом в произвольном порядке.
• Раздел подключения модулей и раздел описаний могут отсутствовать.
• Операторы отделяются один от другого символом "точка с запятой".
Идентификаторы и служебные слова
Идентификаторы служат в качестве имен программ, модулей, процедур, функций, типов, переменных и констант. Идентификатором считается любая последовательность латинских букв или цифр, начинающаяся с буквы. Буквой считается также символ подчеркивания "_".
Например, a1, _h, b123 - идентификаторы, а 1a, ф2 – нет.
Служебные слова служат для оформления конструкций языка и не могут быть использованы в качестве имен. Список всех служебных слов языка Pascal ABC приведен ниже: and array as begin break case class const constructor continue destructor div do downto else end exit external external sync file finalization for forward function if in inherited initialization is mod not of or private procedure program property protected public record repeat set shl shr sizeof string then to type unit until uses var while with xor

Введение
А.С.Цветков, ABC Pascal
- 4 -
19.09.2015
Занятие №1
Целочисленные вычисления на языке Pascal
Program
Prog1;
var
a, b : integer;
begin
write('Введите число '); readln(a); b:=a*a; writeln('Квадрат этого числа = ',b);
end
Задание:

Набрать и выполнить программу; понять, как она работает.

Модифицировать программу так, чтобы она: o вычисляла куб числа o вводила не одно, а два числа, и вычисляла сумму их квадратов
Термины:
var
– начало секции описания переменных a, b, Prog1 – идентификаторы (имена) различных объектов a, b
переменные целочисленного (integer) типа integer
целочисленный тип write, writeln – операторы вывода
readln
оператор ввода b:=a+1
оператор присваивания (переменной b присваивается значение выражения a+1) begin ... end – операторные скобки
Идентификатор (или имя) – последовательность английских букв и цифр, начинающаяся с буквы. Служит для обозначения различных сущностей в программе. Идентификатор не должен совпадать с ключевыми словами. В языке Pascal большие и малые буквы не различаются (в других языках программирования могут различаться).
Переменная – это величина, которая может менять свое значение. Переменная всегда должна быть явно описана как принадлежащая какому-либо типу данных.
Тип данных – множество значений, которые может принимать объект (чаще всего это переменная) данного типа. Кроме множества значений тип данных задает множество допустимых операций. Например, целочисленный тип integer определяет диапазон целых чисел от –2 147 483 648 до +2 147 483 647, в целочисленных выражениях можно применять операции сложения, вычитания и т.п.
Непосредственные константы – это числа, используемые в арифметических выражениях. Например, в операторе b:=a+1 единица – это непосредственная константа.
Правила записи целых чисел. Целые числа записываются так же, как и в математике.
Цифрам может предшествовать знак "–" или "+" (последнее обычно не нужно). Пробелы между знаком и цифрами, а также между цифрами недопустимы. Примеры правильных записей чисел: 1, 123, –4567, 003, +012.
Оператор – инструкция языка Паскаль. Операторы отделяются точкой с запятой друг от друга. Операторы можно объединить в составной оператор, заключив их в операторные скобки begin ... end.

Введение
А.С.Цветков, ABC Pascal
- 5 -
19.09.2015
Оператор присваивания. Оператор присваивания обозначается двумя символами :=, между которыми нет пробела. Слева от знака оператора должна стоять переменная, а справа – выражение. Суть оператора заключается в вычислении выражения и присвоения получившегося значения переменной.
Примеры: a:=2; a:=2+3; a:=b*2+1;
Неправильные примеры: a+1:=a; 2:=b+3;
Очень часто используется оператор вида a:=a+1; Он не содержит ошибки. Вначале берется старое значение переменной, к нему прибавляется единица, и результат записывается в опять в переменную a. Таким образом, этот оператор увеличивает значение переменной a на единицу.
Важно следить, чтобы все переменные, используемые в правой части оператора присваивания были определены к моменту вычисления оператора. В противном случае результат будет непредсказуем.
Существует два способа задать переменной значение: оператор присваивания и оператор ввода (read или readln).
Согласование типов в операторе присваивания. Общее правило таково: тип выражения в правой части оператора присваивания должен совпадать с типом переменной в левой части оператора присваивания. Т.е. если переменная имеет тип integer, то справа должно быть выражение, значение которого есть также целое число.
Арифметическое выражение – целочисленное арифметическое выражение состоит из переменных, констант, знаков операций, скобок и вызовов функций. Правила построения выражения очень похожи те, которые употребляются в математике, за исключением деления, для которого существуют две операции, обозначаемые ключевыми словами div и mod. Надо запомнить, что знак операции умножения * никогда не опускается в отличие от алгебры. Операции имеют обычный приоритет: умножение и деление выполняется раньше, чем сложение и вычитание. Вычисление функций (см. далее) выполняется еще раньше. В остальном операции выполняются слева направо. Для изменения порядка операций используются круглые скобки. Уровень вложенности скобок не ограничен.
Бинарные
1
арифметические операции над типом integer
Операция
Обозначение
Пример
сложение + a+3 вычитание – c–d умножение *
2*3 деление нацело div a div 2 остаток от деления mod a mod 2
Деление на цело: 5 div 2 = 2, остаток от деления нацело: 5 mod 2 = 1 1
Бинарные операции – имеющие два операнда, располагающиеся слева и справа от оператора

Введение
А.С.Цветков, ABC Pascal
- 6 -
19.09.2015
Пример:
Выражение в математической записи:
)
)(
2
(
b
a
b
a

+
2
y
x
+
Выражение на Паскале
(в целых числах):
(a+2*b)*(a–b)
(x+y) div 2
Кроме бинарных операций в Паскале используются унарные
2
операции – и + (в последнем особого смысла нет). Например, в выражении –2*(–a–b) минус перед переменной a является унарной операцией, а минус перед двойкой может рассматриваться и как унарная операция и как запись отрицательной константы.
Целочисленные типы языка ABC Pascal
Тип
Размер в байтах
Диапазон
integer
4
-2147483648 … 2147483647 byte
1 0 .. 255 word
2 0 .. 65 535
При выполнении оператора присваивания следует следить за тем, чтобы значение целочисленного выражения не вышло за допустимый диапазон целого числа. Например, если переменная a имеет тип word, то в операторе a:=512*128; произойдет ошибка, так как значение выражения является 65536, а это число больше верхней границы типа word. Отметим, что если бы переменная a описана как integer, то оператор a:=512*128; является допустимым. Без особой необходимости не следует использовать типы byte и word.
Консольный ввод/вывод
– исторически самый «древний» способ диалога с компьютером. У первых ЭВМ консоль – это электрическая пишущая машинка, подключенная к компьютеру, печатающая на рулонной бумаге (как факс). Оператор мог вводить информацию в компьютер, завершая команду нажатием клавиши перевода строки
(Enter). Компьютер отвечал, заставляя консоль печатать цифры и символы. Несмотря на простоту такого интерфейса
3
, он весьма эффективен и до сих пор используется в самых современных операционных системах. В Windows-системах консоль обычно представляет текстовое окно шириной 80 символов, а высотой 25 символов
4
. При достижении ввода или вывода последней строки все строки скроллируются на одну позицию вверх, а первая строка исчезает.
Операторы вывода
– write и writeln выводят заданную информацию на консоль.
Оператор writeln после этого еще и переводит курсор на следующую строку (при достижении последней строки осуществляется скроллинг). Операторы могут иметь произвольное число аргументов, разделенных запятыми. В качестве аргументов могут выступать буквальные константы (например, строки символов) и переменные стандартных типов (в т.ч. и целочисленные).
Пример: write('Текстовая строка'); writeln(a,b);
2
Унарная операция – имеющая только один операнд.
3
Интерфейс – в данном случае способ общения человека с компьютером.
4
В системе ABC Pascal отдельное окно консоли появляется только при использовании модуля CRT.

Введение
А.С.Цветков, ABC Pascal
- 7 -
19.09.2015
Форматы вывода.
В операторах write и writeln можно указывать формат, определяющий число позиций, используемых для вывода целого числа на экран, например: writeln('Ответ ',a:5);
Это означает, что для вывода значения, хранящегося в переменной a следует зарезервировать 5 символов, т.е. если число будет не пятизначным, то при выводе оно будет дополнено слева пробелами. Если число «не помещается» в формат, он будет автоматически «растянут», так чтобы число «влезло».
Оператор ввода
– read, readln. Оператор read при чтении данных с консоли используется крайне редко, в основном используется оператор readln. Параметры оператора – только переменные и только стандартных типов, возможно использование оператора вообще без аргументов для создания ситуации ожидания нажатия клавиши
Enter. По оператору readln программа приостанавливает свою работу, ожидая ввода данных от пользователя. Пользователь набирает желаемые значения переменных, разделяя их пробелами (или Enter) и нажимает Enter. Оператор интерпретирует введенные символы, переводя их во внутреннее (машинное) представление соответствующих переменных. Если это не удается (например, вместо целого числа введены буквы), программа аварийно завершает свою работу.
Пример: readln(a,b);
Недопустимо: readln(a+3);
Для того чтобы пользователь знал что «хочет» ввести программа, полезно перед оператором readln выводить подсказку с помощью оператора write или writeln.
Например: write('Введите количество учеников в классе '); readln(n);
Обратите внимание на пробел перед вторым апострофом. Он сделан для того, чтобы ввод пользователя отделялся от подсказки.
Встроенные функции
– в языке Pascal предусмотрено большое число различных встроенных функций. Функции можно применять в выражениях, аргумент(ы) функции всегда заключаются в скобки, например: x:=x-abs(x). Функции требуют аргументы определенных типов (например, целого типа) и возвращают значение также определенного типа (может не совпадать с типом аргумента). Ниже приведен список арифметических функций, имеющих целочисленный аргумент .
Функция
Описание
sqr(n)
Возвращает квадрат аргумента. Необходимо помнить о диапазоне возвращаемого значения. abs(n)
Возвращает модуль (абсолютное значение) числа. pred(n)
Возвращает значение, на единицу меньшее аргумента. succ(n)
Возвращает значение, на единицу большее аргумента. odd(n)
Возвращает TRUE, если аргумент нечетный, иначе – FALSE even(n)
Возвращает TRUE, если аргумент четный, иначе – FALSE chr(n)
Возвращает символ (тип char) с кодом n. random(n)
Возвращает случайное число в диапазоне от 0 до n-1.

Введение
А.С.Цветков, ABC Pascal
- 8 -
19.09.2015
Задание №1
1. Записать следующие выражения на языке Pascal, считая все переменные и действия целочисленными.
(a+b)(a–b)
(1+x)
2
y
x
15 2x·2y
2. Вычислить (в уме) значение выражения
(a+1)*(–a), если a=10
(x+1) div (x–1), если x=2 и если x=4 2*4 mod 3 2*(4 mod 3)
–a*(–1), если a=431 3. Напишите и выполните программу на компьютере a. Программа вводит одно число, и вычисляет его квадрат, вычитая из него удвоенное значение введенного числа. b. Программа вводит два числа, выводит сумму квадратов этих чисел минус их произведение. c. Программа вводит два числа, выводит сумму их модулей (см. функцию abs)
4. Напишите программу, которая решает следующую задачу
Оплата Интернета в школе состоит из двух частей: 100 долларов в месяц за доступ и 5 долларов в месяц за поддержку школьного сайта. Платеж можно делать независимо за любое количество месяцев за доступ и за поддержку сайта. Напишите программу, которая позволяла бы вводить отдельно количество оплачиваемых месяцев для доступа и поддержки и выводила бы сумму оплаты.

Тема №2 – Использование модуля CRT
А.С.Цветков, ABC Pascal
- 9 -
19.09.2015
Занятие №2
  1   2   3   4   5   6


написать администратору сайта