Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгоритмизация и программирование. Практическое пособие

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
1 Мб
Скачать
1
САНКТ-ПЕТЕРБУРГСКИЙ ЮРИДИЧЕСКИЙ ИНСТИТУТ (ФИЛИАЛ)
АКАДЕМИИ ГЕНЕРАЛЬНОЙ ПРОКУРАТУРЫ РОССИЙСКОЙ ФЕДЕРАЦИИ
АЛГОРИТМИЗАЦИЯ
И ПРОГРАММИРОВАНИЕ
Издание 2-е, переработанное и дополненное
Санкт-Петербург
2015
2
Санкт-Петербургский юридический институт (филиал) Академии Генеральной прокуратуры Российской Федерации, 2015
А45
Санкт-Петербургский юридический институт (филиал) Академии Генеральной прокуратуры Российской Федерации, 2008
УДК 004 ББК 32.973 А45
А в т о р - с о с т а в и т е л ь
Елена Анатольевна РАЗУМОВСКАЯ
Алгоритмизация и программирование : практическое пособие / [авт.-сост. Е. А. Разумовская]. — Изд. 2-е, пере­раб. и доп. — Санкт-Петербург : Санкт-Петербургский юридический институт (филиал) Академии Генеральной
прокуратуры Российской Федерации, 2015. — 48 с.
УДК 004
ББК 32.973
©
©
3
Изучение основ алгоритмизации студентами проводится с це-
лью формирования у них понимания принципов систематизации и структурирования информации. Сущность алгоритмизации лю­бого вида деятельности, т.е. выстраивание четкой последователь­ности шагов и операций изучается на примере построения алго­ритмов компьютерной обработки информации.
Для программной реализации алгоритмов выбран алгоритми-
ческий язык Паскаль. Первая версия Паскаля была разработа­на швейцарским ученым Николаусом Виртом в 1968 году специ­ально для обучения студентов, поэтому основы этого языка про­граммирования просты и логичны. Кроме того, Паскаль один из немногих языков выдержал проверку временем, в настоящее вре­мя широко используется объектно-ориентированная версия под названием Делфи.
4
ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ
НА ЯЗЫКЕ ПАСКАЛЬ
1. Интегрированная инструментальная среда Паскаль
1.1. Для входа в инструментальную среду Паскаль использу-
ется ярлык Pascal ABC на Рабочем столе.
1.2. Окно инструментальной среды Паскаль состоит из эле-
ментов:
1) заголовок окна, содержащий имя приложения Pascal ABC
и кнопки управления окном;
2) основное меню, содержащее команды сохранения и откры-
тия файлов, выполнения и отладки программ, а также справочные материалы;
3) панель инструментов (пиктографическое меню), на кото-
рой дублируются некоторые функции основного меню;
4) небольшая вкладка слева над рабочей областью с именем
файла программы. По умолчанию файлу с текстом программы
присваивается имя Program1.pas;
5) окно редактора — рабочая область ниже панели инстру-
ментов, в которой осуществляется набор и редактирование текста программы пользователя;
6) окно вывода — область, которая открывается в ходе выпол­нения программы. Окно вывода расположено ниже окна редакто­ра, в нем отображаются все вводимые и выводимые данные;
7) окно ввода — область, которая открывается в ходе выполне­ния программы. Окно ввода расположено ниже окна вывода в по­следней строке экрана, в него осуществляется ввод данных с кла­виатуры.
1.3. Текст программы набирается пользователем в окне редак­тора. Для сохранения текста программы нужно вызвать из Основ- ного меню команду Файл Сохранить, выбрать диск, папку и дать имя файлу с текстом программы. По умолчанию к имени файла добавится расширение.pas.
1.4. Для открытия имеющейся программы нужно выбрать в Основном меню команду Файл — Открыть и найти нуж­ный файл.
1.5. Текст готовой программы нужно транслировать (перевес­ти) на машинный язык, а затем запустить программу на исполне-
5
program имя; const
операторы;
var
операторы;
begin
операторы;
end.
Оператор назначения имени Блок назначения констант
Блок описания переменных
Блок операторов
ние. Обе эти функции реализованы в команде Основного меню Программа Выполнить, их также можно запустить нажа­тием функциональной клавиши <F9>.
1.6. Перед исполнением программы ее текст автоматически проверяется компьютером на наличие ошибок.
Сообщение о первой найденной ошибке появляется в окне вы-
вода ниже текста программы на красном фоне. Найденную ошиб­ку нужно исправить, и снова дать команду Программа — Вы- полнить и т. д.
Если ошибок в программе не будет найдено, то программа
начнет выполняться.
Задание 1
1. Войдите в инструментальную среду Паскаль.
2. Изучите элементы рабочего окна.
2. Структура программы. Назначение констант.
Описание переменных целого и вещественного типа.
Оператор присваивания
2.1. Программа на языке Паскаль состоит из нескольких бло-
ков, основные из которых приведены ниже:
2.2. Слова program, const, var, begin, end — служебные
слова языка Паскаль, использовать их для других целей, напри­мер для обозначения своих переменных, нельзя;
; (точка с запятой) — разделитель, обозначает конец каждой
отдельной команды (оператора);
. (точка) — ставится в конце программы после служебного
слова end.
6
program My1; const a=4; g=9.8; var b:integer; c,d,f:real; begin b:=a+1; c:=g*2+7; d:=sin(9)/8; d:=abs(d); end.
Оператор назначения имени Заголовок блока назначения констант Оператор назначения константы Оператор назначения константы Заголовок блока описания переменных Оператор описания переменной Оператор описания переменных Заголовок блока операторов Оператор присваивания значения переменной Оператор присваивания значения переменной Оператор присваивания значения переменной Оператор присваивания значения переменной Конец программы
2.3. Блоки назначения констант и описания переменных — это описательная часть программы, где вводятся основные обозна­чения; блок операторов — исполняемая часть программы, где выполняются расчеты, иные действия, ввод исходных данных и вывод результатов.
Пример 1:
В тексте программы из примера 1 заголовки блоков напечатаны
без отступа, а остальные строки — с отступом. Такая запись об­легчает восприятие частей текста программы человеком, но на выполнении программы компьютером не сказывается.
Рассмотрим работу каждого оператора программы из при-
мера 1:
1) program My1; — оператор, который присваивает програм­ме имя My1. Имя программы не обязательно должно совпадать с именем файла, в котором находится текст программы. Пользова­тель может дать любое имя своей программе, составив его по правилам:
имя может состоять из латинских букв, цифр и знака нижнего
подчеркивания;
имя не может начинаться с цифры; верхний и нижний регистр не различаются транслятором с
языка Паскаль.
Примеры названий программ:
7
program My_Prog_1; program 1_my; program My.Prog; program My Prog; program Моя1; programm my1;
Верно Неверно, начинается с цифры Неверно, входит точка Неверно, входит пробел Неверно, русские буквы Неверно, ошибка в слове рrogram
2) const заголовок блока назначения констант (постоян-
ных величин), оператором не является, поэтому после него точка с запятой не ставится;
3) a=4; оператор назначения константе a значения 4;
4) g=9.8; — оператор назначения константе g значения 9,8.
Значение постоянных не изменяется в ходе выполнения про­граммы. Использовать константы можно неоднократно при рас­чете значений переменных или иных вычислениях.
Если константы в программе не используются, то блок назна­чения констант вместе с названием const не включают в текст программы;
5) var — заголовок блока описания переменных, оператором
не является, поэтому после него точка с запятой не ставится.
В данном блоке переменные только описываются, т. е. указы­вается тип данных для каждой переменной, используемой в про­грамме. Имена переменным назначаются пользователем по тем же правилам, что и имя программы. Значения переменным в бло­ке описания не назначаются, это происходит позже — в блоке операторов;
6) b:integer; — оператор описания одной целой перемен­ной с именем b, служебное слово integer означает «целое» и указывает тип переменной. Одним оператором можно описать не­сколько переменных, их имена в описании разделяются запятой. При выполнении данного оператора программы в оперативной памяти компьютера будет выделено место под переменную b, но какого-либо значения ей в начальный момент присвоено не бу­дет. В ходе выполнения программы переменная b должна полу­чить значение с помощью оператора присваивания или с помо­щью оператора ввода, значение переменной может неоднократно изменяться в ходе выполнения программы. Следует помнить, что переменная целого типа должна получать в ходе расчетов или ввода только целые значения;
8
7) c,d,f:real; оператор описания трех вещественных
переменных с именами c, d и f , служебное слово real означа­ет «вещественное», под переменные этого типа отводится больше места в оперативной памяти, диапазон возможных значений ши­ре, чем у целых. Одним оператором можно описать одну или не­сколько вещественных переменных, в последнем случае имена переменных разделяются запятыми;
8) begin — служебное слово, является заголовком блока опе-
раторов, т. е. выполняемой части программы;
9) b:=a+1; — оператор присваивания. К значению констан-
ты a прибавляется 1 и полученное значение присваивается пере­менной b. Операция корректна, так как целой переменной будет присвоено целое значение;
10) c:=g*2+7; — оператор присваивания. Значение кон­станты g умножается на 2, затем добавляется 7, результат при­сваивается вещественной переменной c;
11) d:=sin(9)/8; — оператор присваивания, значение ве­щественной переменной вычисляется с помощью встроенной функции языка Паскаль — sin(х)и операции деления;
12) d:=abs(d); — оператор присваивания, знак := озна­чает «присвоить значение». Обратите внимание на данный при­мер: значение переменной d слева и справа от знака присваива­ния не равны. К старому значению (справа) применяется встро­енная функция abs(x), превращающая число в его модуль, а за­тем полученное значение присваивается переменной d (слева). Таким образом, данный оператор изменяет значение веществен­ной переменной d на ее модуль.
13) end.— оператор конца блока операторов и программы в целом (обратите внимание на точку после служебного слова
end).
Задание 2
1. Наберите текст программы из примера 1 в окне редактора и сохраните файл программы на Вашем носителе информации.
2. Дайте команду выполнения программы My1. Если компью­тер выдаст сообщение об ошибках, то исправьте их.
3. Изучите результаты работы программы в окне вывода дан- ных и в окне ввода данных. Объясните отсутствие видимых ре-
зультатов.
9
+ - *
/
сложение
вычитание
умножение
деление
3. Расчет значений целых и вещественных
переменных. Арифметические выражения.
Встроенные математические функции.
Порядок действий
Для расчета значения целой или вещественной переменной ис­пользуется оператор присваивания, в левой части которого стоит имя переменной, а в правой — арифметическое выражение.
3.1. Арифметическое выражение может состоять из чисел,
констант, целых и вещественных переменных, математических функций, соединенных знаками арифметических действий и круглыми скобками.
3.2. Знаки арифметических действий:
3.3. Некоторые встроенные математические функции языка
Паскаль:
sin(х); cos(х)— тригонометрические;
ln(х); exp(х) — натуральный логарифм; экспонента;
abs(х) модуль;
sqrt(х) квадратный корень;
round(х) округление вещественного числа до целого;
power(a,b) число a в степени b;
х mod у остаток от деления целого х на целое у;
random случайное число в диапазоне (0, 1).
В круглых скобках указывается аргумент (аргументы) функ­ции, при генерации случайного числа аргумент не нужен.
3.4. Порядок выполнения действий:
1. Вычисление функций.
2. Действия в круглых скобках (…).
3. Умножение, деление.
4. Сложение, вычитание.
10
a:=2*g+sin(x);
Сначала вычисляется синус, затем производится умножение, затем — сложение
b:=2+3*2;
Сначала производится умножение, затем — сложение
b:=(2+3)*2;
Сначала производится сложение, затем — умножение
с:=c+1;
К старому значению с прибавля­ется 1, и получается новое значе­ние с
d:=10 mod 3;
10 делится на 3, d присваивается значение остатка, т. е. 1
d:=random;
Переменная d получает случай­ное значение от 0 до 1
Форма числа
с фиксированной точкой
Форма числа
с плавающей точкой
2.5
2.5000000000Е+00
-2.5
-2.5000000000Е+00
0.025
2.5000000000Е-02
-2500
-2.5000000000Е+03
3.5. Примеры операторов присваивания (с арифметическими
выражениями):
3.6. Вещественные переменные представляются в Паскале в
форме числа с фиксированной точкой (обычная запись числа с целой и дробной частью) или числа с плавающей точкой, состоя­щего из мантиссы (значащих цифр числа), разделителя Е и по­рядка числа со знаком.
Разделитель Е отделяет мантиссу от порядка и означает, что для приведения к обычному виду значение мантиссы нужно ум­ножить на 10 в степени, равной порядку (или, что то же самое, перенести запятую в числе на соответствующее количество зна­ков вправо при положительном порядке числа и влево при отри­цательном).
Примеры представления чисел с плавающей точкой:
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]