Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Алгоритмизация и программирование. Практическое пособие
.pdf
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 в степени, равной порядку (или, что то же самое,
перенести запятую в числе на соответствующее количество знаков вправо при положительном порядке числа и влево при отрицательном).
Примеры представления чисел с плавающей точкой:
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
