Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Алгоритмы и алгоритмические языки. Учебное пособие
.pdf
111
Вопросы для самоконтроля
1. Что называют массивом?
2. Каким образом определяют расположение элементов в
массиве?
3. Индексы массива и требования, предъявляемые к ним.
4. Какие операции выполняют над элементами массива?
5. Как организовать ввод/вывод одномерных и двумерных
массивов?
6. Каковы особенности расположения элементов одномерных
и двумерных массивов в памяти компьютера?
7. Как объявляют одномерные и двумерные массивы?
8. В чем заключается инициализация массива?
9. Как выполняется копирование массива?
10. Какая функция в языке Паскаль формирует случайные
числа?
Задания для самостоятельной работы
Для заданий 1–30 начертите N – S-диаграмму и напишите
программу на языке Паскаль.
Одномерные массивы
1. В массиве хранятся сведения об оценках учеников по
химии. Определить количество неуспевающих по химии учеников.
2. В массиве хранятся сведения об общей стоимости товаров,
проданных фирмой за каждый день марта. Определить количество
дней, в которые стоимость проданных товаров превысила
значение .
3. Рост учеников класса представлен в виде массива.
Определить количество учеников, рост которых не превышает
значения .
4. Определить количество элементов массива,
принадлежащих промежутку от до (значения и вводятся с
клавиатуры; ).
5. В массиве из элементов числа образуют неубывающую
последовательность. Несколько элементов, идущих подряд, равны
между собой. Найти количество таких элементов.

112
6. В массиве из элементов числа образуют неубывающую
последовательность. Несколько элементов, идущих подряд, равны
между собой. Найти количество таких элементов.
7. В массиве из элементов числа образуют неубывающую
последовательность. Найти количество различных чисел в массиве.
8. Определить количество положительных и количество
отрицательных элементов массива.
9. Дан массив целых чисел. Определить количество четных
элементов и количество элементов, оканчивающихся на цифру .
10. Дан массив. Определить на сколько максимальный
элемент массива больше минимального.
11. Дан массив. Определить индекс максимального элемента.
12. Дан массив. Определить индекс минимального и индекс
максимального элементов.
13. В массиве хранится информация о количестве страниц в
каждой из книг. Все страницы имеют одинаковую толщину.
Определить количество страниц в самой толстой книге.
14. В массиве хранятся сведения о количестве осадков,
выпавших за каждый день января. Определить общее количество
осадков за январь.
15. В массиве хранятся сведения о стоимости различных
предметов. Определить общую стоимость всех предметов.
Двумерные массивы
1. Дан двумерный массив целых чисел. Определить среднее
арифметическое элементов четвертого столбца, кратных .
2. Дан двумерный массив целых чисел. Определить среднее
арифметическое нечетных элементов пятой строки.
3. Дан двумерный массив чисел. Определить, количество
ненулевых элементов второго столбца массива, больших .
4. Дан двумерный массив чисел. Определить, количество
элементов четвертой строки массива, меньших .
5. Дан двумерный массив чисел. Определить, сумму
отрицательных элементов пятой строки массива.
6. Дан двумерный массив чисел. Определить, количество
элементов второго столбца массива, больших .
7. Дан двумерный массив чисел. Определить, сумму элементов
третьей строки массива, не превышающих .

113
8. Дан двумерный массив чисел. Определить, сумму элементов
второго столбца массива, больших .
9. Дан двумерный массив целых чисел. Определить, является
ли сумма элементов второго столбца нечетным числом.
10. Дан двумерный массив целых чисел. Составить программу,
определяющую, верно ли, что сумма элементов строки массива с
известным номером оканчивается цифрой .
11. Дан двумерный массив целых чисел. Составить программу,
определяющую, верно ли, что сумма элементов столбца массива с
известным номером кратна заданному числу.
12. В зрительном зале ряда, в каждом из которых мест
(кресел). Информация о проданных билетах хранится в двумерном
массиве, номера строк которых соответствуют номерам рядов, а
номера столбцов – номерам мест. Если билет на то или иное место
продан, то соответствующий элемент массива имеет значение , в
противном случае – . Определить, имеются ли свободные места в
первом ряду.
13. Фирма имеет магазинов. Информация о доходе каждого
магазина за каждый месяц года хранится в двумерном массиве (в
первом столбце за январь, во втором – за февраль и т.д.) Верно ли, что
общий доход фирмы в сентябре превысил некоторое заданное число?
14. В двумерном массиве хранится информация о зарплате
человек за каждый месяц года (первого человека – в первой строке,
второго – во второй строке и т.д.). Верно ли, что годовой доход первого
человека больше заданного числа?
15. Пусть даны целые числа
321
,, aaa
. Получите
целочисленную матрицу размером , для которой
jiij
aab 3−=
.
Тестовые задания №6
1. Для описания двумерного массива A[5, 6] вещественного типа
используют команду
А) AB: array[1..5,1..6] of real;
B) array[1..5,1..6] of real;
C) A:array[1..5,1..6] of real;
D) A:array[1..6,1..5] of real;
2. Описание массива A[5] целого типа
A) A:aray[1..5] of integer;
B) A:array[5] of integer;

114
C) array[1..5] of integer;
D) A:array[1..5] of integer;
3. Массив А состоящий из 3 строк и 4 столбцов при
A[i,j]:=max[i,j], имеет вид
A)
4333
4322
4321
B) 1 2 3 4 C) 2 3 4 5 D) 4 4 4 4
4. В программе массив А описан, как А: array[1..2, 1..3] of integer;
и даны значения его элементов: 1 3 5 7 2 4. Элемент А[1, 2] равен
A) 1
B) 3
C) 7
D) 4
5. Составные типы данных задают множества сложных значений
A) множеством имен
B) тремя именами
C) двумя именами
D) с одним общим именем
6. К сложным типам данных относят
A) массивы
B) константы
C) переменные вещественного типа
D) символы
7. Переменная или константа структурированного типа всегда
имеет
A) одну компоненту
B) несколько компонентов
C) только две компоненты
D) пустое множество компонентов
8. В многомерном массиве в качестве базового типа
A) взят символ
B) взят другой массив
C) используется простая переменная
D) используется одна цифра
9. Массив
A) последовательность величин одного типа, обозначаемая одним
именем

115
B) упорядоченная последовательность величин разных типов,
обозначаемая одним именем
C) простая переменная
D) упорядоченная последовательность величин одного типа,
обозначаемая одним именем
10. При описании одномерного массива задаются
A) три индекса
B) два индекса
C) один индекс
D) n индексов
11. При описании двумерного массива задаются
A) три индекса
B) два индекса
C) один индекс
D) n индексов
12. При описании n-мерного массива задаются
A) три индекса
B) два индекса
C) один индекс
D) n индексов
13. Суммарная длина внутреннего представления любого массива
не может быть
A) больше 6552 байт
B) больше 655 байт
C) больше 65520 байт
D) больше 65520 бит
14. Расположение элемента в двумерном массиве определяют
A) тип элементов
B) значения элементов
C) индексы
D) имена массивов
15. Индекс элемента массива может быть представлен
A) логическим выражением
B) переменной
C) константой
D) арифметическим выражением
16. Правильная запись одномерного массива
A) А[15]
B) A[K]

116
C) A[K, M]
D) A[J*1]
17. Правильная запись двумерного массива
A) А[15]
B) A[K, 5]
C) A[K, M]
D) A[J*1-1]
18. В языке Паскаль индекс заключается в скобки
A) круглые
B) фигурные
C) фигурные и квадратные
D) квадратные
19. Тип индекса массива определяет
A) границы изменения значений индекса
B) способы записи массива
C) количество элементов массива
D) знак элемента массива
20. Для описания массива предназначено словосочетание
A) CLR SCR
B) USES CRT
C) TYPE OF
D) ARRAY OF
21. Элементы массива могут участвовать в операциях
A) отношения «равно»
B) отношения «не равно»
C) операторе присваивания
D) конкатенации
22. Над массивами не определены операции
A) сложения
B) отношения
C) вычитания
D) умножения
23. Запись А[20] позволяет
A) объявить массив
B) копировать 20 элементов
C) обратиться к двадцатому элементу массива А
D) удалить 20 элементов
24. Запись В[4,4]

117
A) позволяет осуществить доступ к значению элемента четвертой
строки четвертого столбца
B) объявляет массив
C) копирует массив
D) удаляет массив
25. Оператор FOR I:= 1 TO 10 DO A[I]:= 1;
A) сравнивает каждый элемент массива с 1
B) удаляет в массиве найденную 1
C) сравнивает I c 1
D) присваивает каждому элементу массива значение 1
26. Элементы массива A[I, J] вводятся с помощью
A) простого оператора FOR
B) вложенного оператора FOR
C) оператора присваивания
D) сканера
27. Оператор FOR I:= 1 TO 10 DO WRITELN (A[I]); выводит
A) вводит 10 элементов двумерного массива
B) вводит 10 элементов одномерного массива
C) выводит 10 элементов двумерного массива в одной строке
D) выводит 10 элементов одномерного массива столбцом
28. Оператор FOR I:= 1 TO 5 DO FOR J:= 1 TO 5 DO WRITELN
(B[I,J]);
A) вводит 25 элементов массива B[I,J]
B) удаляет массив B[I,J]
C) выводит 25 элементов массива B[I,J]
D) выводит 5 элементов массива B[I,J]
29. Элементы двумерного массива имеют
A) одинаковый тип
B) различный тип
C) схожий тип
D) красивый тип
30. B[12]:=B[2];
A) сравнивает двенадцатый элемент массива B со вторым
B) присваивает двенадцатому элементу массива В второй элемент
C) удаляет двенадцатый элемент массива В
D) удаляет второй элемент массива В

118
Ответы к тестовым заданиям №6
Вопрос
Ответ
Вопрос
Ответ
Вопрос
Ответ
1 С 11 В 21
A, В, С
2 D 12 D 22
В
3 A 13 С 23
С
4 B 14 С 24
A
5 D 15
В, С, D
25
D
6 А 16
A, В, D
26
В
7 В 17
В, С
27
D
8 В 18 D 28
С
9 D 19 А 29
А
10 C 20 D 30
В

119
7. Модульное программирование. Процедуры и функции.
Стандартные подпрограммы
Разрабатывая программу, программист должен предусмотреть в
ней следующие возможности:
• задать пользователю вопрос;
• получить ответ на вопрос;
• проанализировать его;
• вывести результат на экран монитора;
• повторять предыдущие шаги до получения окончательного
результата.
Каждый из данных шагов может состоять из нескольких
действий, объединенных в блоки, выполняющие определенные задачи.
Блоки размещаются в самостоятельных фрагментах программы,
выполняются по необходимости и могут быть использованы
многократно. Возможность разделения программы на отдельные
самостоятельные части называется модульным структурным
программированием.
Подпрограммы решают следующие задачи:
1. отпадает необходимость многократного повторения в
программе одних и тех же действий, т.е. сократить объем
программы;
2. облегчают понимание программы и улучшают ее структуру;
3. облегчают возможности поиска и локализации ошибок в
программе, т.е. редактирование программы;
4. включают в подпрограмму подробности, скрывающие
смысл основной программы.
Подпрограмма подчинена и подобна основной программе. В
подпрограмму выделяют любой законченный фрагмент программы.
Подпрограмма – это повторяющаяся группа операторов,
оформленная в виде самостоятельной программной единицы.
В программе подпрограмма записывается один раз, но может
быть вызвана из любой точки основной программы несколько раз.
Существует два вида подпрограмм – процедуры и функции. Структура
подпрограмм такая же, как и структура программы. Различаются они
назначением и способом их использования.
Подпрограммы могут быть двух типов: определенные самой
системой (стандартные) и разрабатываемые программистом.

120
Стандартные подпрограммы включены в библиотеку программ и
доступ к ним обеспечивается средствами языка программирования.
Стандартными являются такие подпрограммы как, процедура очистки
экрана CLRSCR, функции COS и SIN, возвращающие в качестве
своего значения косинус и синус числа и т.д.
Пользовательские подпрограммы разрабатываются
программистами как отдельные программы и записываются в
основной программе, в разделе процедур PROCEDURE или разделе
функций FUNCTION.
Первый тип подпрограмм используется, если программа
небольшого объема и сама подпрограмма не будет использоваться в
других программах, а второй тип, если она будет использоваться в
других программах.
Подпрограмма обязательно имеет заголовок, несовпадающий с
заголовком основной программы и завершается символом точка с
запятой.
Процедуры
Для выполнения некоторой последовательности действий
используются процедуры. Процедура определяется служебным
словом PROCEDURE вслед за которым записывается имя процедуры
и список формальных параметров, заключенные между круглыми
скобками
Общий вид процедуры:
PROCEDURE <имя> [(формальные параметры)];
[<раздел описаний>]
BEGIN
[операторы]
END;
Результатом выполнения процедуры является одно или
несколько значений. Результат передается в основную программу как
значение ее параметра. При вызове процедуры формальные параметры
заменяются фактическими в порядке их следования.
Фактические параметры – параметры, передающиеся процедуре
при обращении к ней.
Формальные параметры – переменные, фиктивно
присутствующие в процедуре и определяющие тип и место
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
