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

Алгоритмы и алгоритмические языки. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
61
Вопросы для самоконтроля
1. Опишите структуру программы TP?
2. Из каких частей состоит блок программы на языке TP?
3. Какой блок в программе называется глобальным?
4. Какой блок в программе называется локальным?
5. Из каких разделов состоит программный блок?
6. Что называют оператором языка программирования?
7. Какой оператор называют простым?
8. Какой оператор называют составным?
9. Как записывается оператор присваивания?
10. Каким символом завершается оператор присваивания?
11. Приведите примеры операторов присваивания.
12. Назовите отличия оператора присваивания в математике и
программировании.
13. Назовите процедуры ввода/вывода данных?
14. Перечислите способы ввода данных.
15. Можно ли ввод данных в TP сопровождать текстом?
16. Какие форматы используются для вывода данных?
17. Для чего используется оператор-комментарий в
программе?
18. Формат оператора очищения экрана. На какие данные не
действует оператор очищения экрана?
19. Для чего в программе на Паскале используют процедуру
READLN или функцию READKEY без параметров?
Задания для самостоятельной работы
Для заданий 120 начертите N S-диаграмму и напишите
программу на языке TP.
1. Вычислить удвоенную сумму чисел и .
2. Вычислить сумму числа  и произведения чисел и .
3. В кассе кинотеатра продано билетов по руб и билетов
по руб. Сколько денег получено за все билеты?
4. Вычислить частное от деления суммы чисел и на число
.
5. Садовый участок имел форму прямоугольника, длина
которого равна км, ширина км. После осушения болота площадь участка увеличилась на  км
2
. Какой стала площадь садового
участка?
62
6. Куплено n папок по руб и пачек бумаги по руб.
Определите стоимость всей покупки.
7. В кинотеатре рядов по мест, и еще откидных мест.
Сколько всего мест в кинотеатре?
8. Сколько времени проводит ученик в школе в тот день, когда
у него уроков, перемен по  мин и c перемен по  мин?
9. Автобус проходит путь километров за часов. С какой
скоростью должен ехать автомобиль, чтобы тот же путь пройти на ч
быстрее автобуса?
10. Три отряда сажали деревья. Первый отряд посадил
деревьев, второй –  того, что посадил первый, а третий – на
деревьев больше второго. Сколько деревьев посадили три отряда?
11. Реактивный самолет расходует  литров горючего на
 км пути. Сколько литров горючего расходуется на километров
пути?
12. Сторона квадрата равна . Найти периметр и площадь
прямоугольника, у которого ширина меньше стороны этого квадрата
на единицы, а длина больше стороны квадрата на единиц.
13. Турист  км пути прошел пешком и проехал на автобусе ч
со скоростью км/ч. Найти путь , проделанный туристом.
14. Туристы проплыли на плоту ч со скоростью км/ч. Затем
они прошли по берегу  км. Какой путь проделали туристы?
15. Найти три последовательных нечетных числа, сумма
которых равна .
16. Поменяйте местами значения вещественных переменных
и .
17. В квадрат вписана окружность. Определите площадь
заштрихованной части фигуры, если известна длина стороны квадрата.
18. В квадрат вписана окружность. Определите площадь
заштрихованной части фигуры, если известен радиус окружности.
63
19. Вычислить значение переменной , если она равна сумме
полусуммы и и их произведению.
20. Вычислите дробную часть среднего арифметического и
дробную часть среднего геометрического трех заданных чисел.
Тестовые задания №3
1. Команды для обмена значений переменных M и N
A) K:=N; M:=N; N:=K; B) K:=M; M:=K; N:=K; C) N:=M; M:=N; N:=K; D) K:=M; M:=N; N:=K;
2. Операторы на языке Pascal, завершаются символом
A) двоеточие B) точка с запятой C) запятая D) пробел
3. Операторы, входящие в другой оператор, заключаются между A) круглыми скобками ( ) B) служебными словами WHILE / END C) служебными словами DO / END D) ключевыми словами BEGIN / END
4. Правильная запись оператора присваивания
A) k=a*(n+d*(n–1)*)*n/2; B) k:=a+d*(n–1)*n/2); C) k:=a*n/2+d(n–1)*n/2 D) k:=a*n+d*(n–1)*n/2; E) k:=(a*n+d)*((n–1)*n/2;
5. В языке Pascal не используется служебное слово
A) begin B) while C) then D) step
6. В качестве идентификатора переменной в языке Pascal нельзя использовать сочетания
A) or B) ar C) br D) wr
64
E) wa
7. Типы вещественных чисел
A) REAL B) DOUBLE C) SINGLE D) INTEGER
8. Комментарии в Паскале записываются между
A) квадратными скобками B) фигурными скобками C) служебными словами BEGIN, END D) кавычками
9. Ключевое слово LABEL используется для определения раздела программы
A) список функций B) список пикселей C) перечень констант D) перечень используемых операторов Е) список меток
10. Ключевое слово CONST используют для объявления
A) переменных B) функций C) процедур D) констант
11. Операция сцепления обозначается знаком
A) + B) – C) * D) /
12. Результатом операции сцепления ‘386’ +’1’+’1’ является
A) 387 B) 388 C) 389 D) ‘38611’
13. В операциях сцепления длина результирующей строки
A) должна быть равна 256 B) должна быть больше 255 C) не должна превышать 255 D) должна быть равна 2 байтам
65
14. Над строковыми данными можно выполнять операции
A) возведения в степень B) отношения C) сцепления D) деления
15. Знак присваивания переменной значения символьного типа
A) => B) <= C) := D) ::=
16. Раздел операторов в программе заключается между ключевыми словами
A) DO / WEND B) BEGIN / END C) BEGIN / WEND D) BEGIN / STOP Е) STOP / END F) DO / END
17. Правильным написанием последней команды в программе является
A) END: B) END; C) END. D) WEND E) End F) end.
18. Для описания раздела переменных используется ключевое слово
A) Procedure B) Function C) Type D) Label E) Var F) Const
19. Для описания раздела типов используется ключевое слово
A) Procedure B) Function C) Type D) Label E) Var
66
F) Const
20. Для описания раздела процедур используется ключевое слово
A) Procedure B) Function C) Type D) Label E) Var F) Const
21. Для описания раздела функций используется ключевое слово
A) Procedure B) Function C) Type D) Label E) Var F) Const
22. Разделу описания переменных предшествуют разделы
A) Procedure B) Function C) Type D) Label E) Const
23. Разделу описания констант предшествует раздел
A) Procedure B) Function C) Type D) Label E) Var
24. Разделу описания типов предшествуют разделы
A) Procedure B) Function C) Type D) Label E) Var F) Const
25. Для объявления переменных целого типа используется ключевое слово
A) LONG B) REAL C) INTEGER
67
D) CHAR E) CONST F) DEFSTRING
26. Переменные целого типа занимают в памяти
A) 4 байта B) 2 байта C) 1 байт D) 8 байт E) 8 бит
27. К простым типам данных относятся A) регулярный B) вещественный C) целый D) логический E) символьный
28. Операция DIV используется только при
A) делении целых чисел B) вычитании целых чисел C) делении вещественных чисел D) сложении вещественных чисел
29. Операция MOD используется только при
A) умножении целых чисел B) делении вещественных чисел C) умножении вещественных чисел D) делении целых чисел
30. К данным целого типа могут применяться операции
A) деление нацело B) умножение C) деление D) конкатенация E) нахождение остатка от целочисленного деления
Ответы к тестовым заданиям №3
Вопрос
Ответ
Вопрос
Ответ
Вопрос
Ответ
1 D 11 А 21
B
2 B 12 D 22
C,D,E
3 D 13 С 23
D
4 D 14
В,С
24
D,F
68
5 D 15
С
25 C 6 A 16 В 26 B 7
A,B,C
17
C,F
27
B,C,D,E
8 В 18 E 28 A 9 Е 19 C 29 D 10 D 20 A 30
А,В,С,Е
69
4. Алгоритмы разветвляющейся структуры Условный и безусловный операторы
Для организации алгоритмов разветвляющейся структуры
используются условный и безусловный операторы. Условный оператор определяет выполнение оператора в зависимости от истинности или ложности логического условия, а безусловный – передает управление другому оператору без проверки условия. Условия могут быть простыми или составными. Простое условие содержит два арифметических выражения или две текстовые величины, связанные между собой одним из знаков логических отношений (>; >=; <; <=; < >; =), а составное условие – несколько.
В языке TP используются два условных оператора для
организации выбора действий – IF и CASE.
Условный оператор имеет две формы представления: полную и
неполную.
Полная форма условного оператора:
IF <условие> THEN <оператор 1> ELSE <оператор 2>;
Если проверяемое условие в операторе IF истинно, то выполняется <оператор 1> иначе выполняется <оператор 2>, затем управление передается оператору, следующему за условным.
Неполная форма условного оператора:
IF <условие> THEN < оператор>;
Если в ветках THEN, ELSE находятся несколько операторов, то оператор IF является составным и запишется следующим образом: IF <условие> THEN
BEGIN
<оператор 1>; …; <оператор n>
END ELSE BEGIN
<оператор 1>; …; <оператор k>
END;
70
Например, на рис. 4.1, 4.2, 4.3 представлены фрагменты
структурограмм и соответствующие им команды
Рисунок 4.1. Полное ветвление (простое условие)
IF a>b THEN WRITE ('a>b') ELSE WRITE ('a<b');
Рисунок 4.2. Неполное ветвление
IF k>0 THEN s:=s+k;
Рисунок 4.3. Полное ветвление с составным условием
IF (a>b) AND (a<c) THEN WRITE (a) ELSE WRITE (c);
Для передачи управления строке с меткой или номером M
используют оператор безусловного перехода GOTO M.
Например, оператор GOTO 10; передает управление строке с
номером 10, а GOTO ALFA1; передает управление строке с меткой
ALFA1.
Рекомендуется минимальное использование оператора GOTO в программе. Большое количество безусловных переходов приводит к созданию трудномодифицируемых программ, вызывает большие сложности при отладке и сопровождении.
Операторы перехода используют в программах, если без них
невозможно обойтись в случае передачи управления вниз. Если

+ –
B.  B. 

+
  
󰇛  󰇜 и 󰇛󰇜
+ –
B. B. 
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]