Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник заданий по T-Pascal.doc
Скачиваний:
65
Добавлен:
18.03.2015
Размер:
3.03 Mб
Скачать

4.9 Ошибки при использовании массивов

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

Если в качестве индекса используется константа, и ее значение выходит за допустимые границы, то такая ошибка обнаруживается на этапе компиляции.

Например, во время компиляции программы

program p1;

var day: array[1..6] of string[11]:

begin

day[1]:=’понедельник’;

day[7]:=’воскресенье’;

end.

Для инструкции day[7]:=’воскресенье’; будет выведено сообщение об ошибке: error 76: constant out of range.

Если при обращении к элементу массива в качестве индекса используется переменная или выражение, то возможно возникновение ошибки времени выполнения программы(runtime error).

4.10 Практические задачи

Условие задачи

  1. 1

Написать программу, которая вводит с клавиатуры одномерный массив из 5 целых чисел и выводит количество ненулевых элементов. Перед вводом каждого элемента на экране должна появляться подсказка с его номером.

  1. 2

Написать программу, которая выводит минимальный элемент введенного с клавиатуры массива целых чисел. Ниже представлен рекомендуемый вид экрана во время работы программы.

  1. 3

Написать программу, которая вычисляет среднее арифметическое ненулевых элементов введенного с клавиатуры массива целых чисел.

  1. 4

Написать программу, которая вычисляет среднюю (за неделю) температуру воздуха. Исходные данные должны вводиться во время работы программы.

  1. 5

Написать программу, которая проверяет, находится ли в массиве введенное с клавиатуры число. Массив должен вводится во время работы программы.

  1. 6

Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива возрастающую последовательность.

  1. 7

Написать программу, которая проверяет, образуют ли элементы введенного с клавиатуры массива неубывающую последовательность.

  1. 8

Написать программу, которая вычисляет, сколько раз введенное с клавиатуры число встречается в массиве.

  1. 9

Написать программу, которая проверяет, есть ли во введенном с клавиатуры массиве элементы с одинаковым значением.

  1. 10

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

  1. 11

Написать программу, которая методом обмена ("пузырька") сортирует по убыванию введенный с клавиатуры одномерный массив.

  1. 12

Написать программу, которая объединяет два упорядоченных по возрастанию массива в один, также упорядоченный по возрастанию массив.

  1. 13

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

  1. 14

Написать программу, которая определяет количество учеников в классе, чей рост превышает средний.

  1. 15

Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по столбцам.

  1. 16

Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по строкам.

  1. 17

Написать программу, которая вычисляет сумму диагональных элементов квадратной матрицы.

  1. 18

Написать программу, которая вводит с клавиатуры двумерный массив по строкам и вычисляет среднее арифметическое его элементов.

  1. 19

Написать программу, которая вычисляет определитель квадратной матрицы второго порядка.

  1. 20

Написать программу, которая проверяет, является ли введенная с клавиатуры квадратная матрица магическим квадратом. Магическим квадратом называется матрица, сумма элементов которой в каждой строке, в каждом столбце и по каждой диагонали одинакова.

  1. 21

Написать программу, которая вычисляет определитель квадратной матрицы третьего порядка.

  1. 22

Дан текст из 80 литер. Напечатать сначала все цифры, входящие в него, а затем все остальные литеры, сохраняя при этом взаимное расположение литер в каждой из этих двух групп.

  1. 23

Дан текст, содержащий от 1 до 70 букв, за которым следует точка. Напечатать этот текст в обратном порядке.

  1. 24

Дан непустой текст из цифр, за которым следует точка. Напечатать цифру, наиболее часто встречающуюся в этом тексте (если таких цифр несколько, напечатать любую из них).

  1. 25

Дана последовательность из 100 различных целых чисел. Найти сумму чисел этой последовательности, расположенных между максимальным и минимальным числами (в сумму включить и оба этих числа).

  1. 26

Программа. Даны координаты n точек на плоскости: x1, y1, … xn, yn (n=20). Найти номера двух точек, расстояние между которыми наибольшее (считать, что такая пара точек единственная).

  1. 27

Даны две последовательности по 30 целых чисел в каждой. Найти наименьшее среди тех чисел первой последовательности, которые не входят во вторую последовательность (считая, что хотя бы одно такое число есть).

  1. 28

Дана последовательность из 20 целых чисел. Определить количество инверсий в этой последовательности

  1. 29

Дан текст из строчных латинских букв, за которым следует точка. Напечатать в алфавитном порядке все буквы, которые входят в этот текст по одному разу.

  1. 30

Напечатать заданный текст из 100 литер, удалив из него повторные вхождения каждой ли­теры.

  1. 31

Определить, сколько различных литер входит в заданный текст, содержащий не более 100 литер и оканчивающийся точкой (в сам текст точка не входит).

  1. 32

По заданным коэффициентам много члена 15-й степени и многочлена 8-й степени определить коэффициенты произведения этих многочленов.

  1. 33

Даны натуральное n и (построчно) элементы квадратной вещественной матрицы А 5-го порядка. Вычислить n-ю степень этой матрицы.

  1. 34

Дана (построчно) вещественная матрица размером 7x4. Переставляя ее строки и столбцы, добиться того, чтобы наибольший элемент (один из них) оказался в верхнем левом углу.

  1. 35

Дана вещественная матрица размером 20x30. Упорядочить ее строки по неубыванию их первых элементов.

  1. 36

Дана вещественная матрица размером 20x30. Упорядочить ее строки по неубыванию суммы их элементов.

  1. 37

Дана вещественная матрица размером 20x30. Упорядочить ее строки по неубыванию их наибольших элементов.

  1. 38

Определить, является ли заданная целая квадратная матрица 9-го порядка магическим квадратом, т. е. такой, в которой суммы элементов во всех строках и столбцах одинаковы.

  1. 39

Определить, является ли заданная целая квадратная матрица 10-го порядка симметричной (относительно главной диагонали).

  1. 40

Элемент матрицы назовем седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или, наоборот, является наибольшим в своей строке и наименьшим в своем столбце. Для заданной целой матрицы размером

10x15 напечатать индексы всех ее седловых точек.

  1. 41

Дана вещественная матрица размером 7x7, все элементы которой различны. Найти скалярное произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим

элементом.

  1. 42

Определить, является ли заданная целая квадратная матрица 10-го порядка ортонормированной, т. е. такой, в которой скалярное произведение каждой пары различных строк равно 0, а скалярное произведение каждой строки на себя равно 1.

  1. 43

Даны координаты n векторов n-мерного линейного пространства (n=7). Определить, являются ли они линейно независимыми.

  1. 44

Дана квадратная матрица n-го порядка (n=6). Найти матрицу; обратную ей, или установить, что такой не существует. (Замечанием если линейными преобразованиями строк привести заданную матрицу к единичной, то этими же преобразованиями единичная матрица будет приведена к искомой обратной матрице.)

  1. 45

Даны натуральное число n, действительная матрица размера nх9. Найти среднее арифметическое каждого из столбцов.

  1. 46

Даны натуральное число n, действительная матрица размера nх9. Найти среднее арифметическое каждого из столбцов, имеющих четные номера.

  1. 47

Дана действительная матрица размера nхm, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент.

  1. 48

Даны натуральное число m, целые числа a1, ..., аm и целочисленная квадратная матрица порядка m. Строку с номером i матрицы назовем отмеченной, если ai > 0, и неотмеченной в противном случае. Нужно все элементы, расположенные в отмеченных строках матрицы, преобразовать по правилу: отрицательные элементы заменить на —1. положительные—на 1, а нулевые оставить без изменения.

  1. 49

Даны натуральное число m, целые числа a1, ..., аm и целочисленная квадратная матрица порядка m. Строку с номером i матрицы назовем отмеченной, если ai > 0, и неотмеченной в противном случае. Подсчитать число отрицательных элементов матрицы, расположенных в отмеченных строках.

  1. 50

Дана действительная квадратная матрица порядка 12. Заменить нулями все ее элементы, расположенные на главной диагонали и выше нее.

  1. 51

Дана действительная матрица размера nхm. Определить числа bi, ..., bm, равные соответственно суммам элементов строк.

  1. 52

Дана действительная матрица размера nхm. Определить числа bi, ..., bm, равные соответственно произведениям элементов строк.

  1. 53

Дана действительная матрица размера nхm. Определить числа bi, ..., bm, равные соответственно наименьшим значениям элементов строк.

  1. 54

Дана действительная матрица размера nхm. Определить числа bi, ..., bm, равные соответственно значениям средних арифметических элементов строк.

  1. 55

Дана действительная матрица размера nхm. Определить числа bi, ..., bm, равные соответственно разностям наибольших и наименьших значений элементов строк.

  1. 56

Все элементы с наибольшим значением в данной целочисленной квадратной матрице порядка 10 заменить нулями.

Дана действительная матрица размера 6x9. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов.

  1. 57

Дана действительная матрица размера 18 x n. Найти значение наибольшего по модулю элемента матрицы, а также индексы какого-нибудь элемента с найденным значением модуля.

  1. 58

Дана действительная матрица размера mхn. Найти сумму наибольших значений элементов ее строк.

  1. 59

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

  1. 60

В данной действительной матрице размера 6x9 поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением. Предполагается, что эти – элементы единственны.

  1. 61

В данной квадратной целочисленной матрице порядка 17 указать индексы всех элементов с наибольшим значением.

  1. 62

Дана действительная матрица размера nхm, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы элемента с найденным значением.

  1. 63

Дана целочисленная квадратная матрица порядка 8. Найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов. Если таких столбцов несколько, то взять первый из них.

  1. 64

Даны натуральное число n, целочисленная квадратная матрица порядка n. Получить b1, .. ., bn, где bi— это наименьшее из значений элементов, находящихся в начале i-й строки матрицы до элемента, принадлежащего главной диагонали, включительно.

  1. 65

Даны натуральное число n, целочисленная квадратная матрица порядка n. Получить b1, .. ., bn, где bi— это значение первого по порядку положительного элемента i-й строки (если таких элементов нет, то принять bi= 1).

  1. 66

Даны натуральное число n, целочисленная квадратная матрица порядка n. Получить b1, .. ., bn, где bi— это сумма элементов, расположенных за первым отрицательным элементом в i-й строке (если все элементы строки неотрицательны, то принять bi =100).

  1. 67

Даны натуральное число n, целочисленная квадратная матрица порядка n. Получить b1, .. ., bn, где bi— это сумма элементов, предшествующих последнему отрицательному элементу i-й строки (если все элементы строки неотрицательны, то принять bi = -1).

  1. 68

Дана целочисленная квадратная матрица порядка n. Найти номера строк все элементы которых—нули.

  1. 69

Дана целочисленная квадратная матрица порядка n. Найти номера строк элементы в каждой из которых одинаковы.

  1. 70

Дана целочисленная квадратная матрица порядка n. Найти номера строк все элементы которых четны.

  1. 71

Дана целочисленная квадратная матрица порядка n. Найти номера строк элементы каждой, из которых образуют монотонную последовательность (монотонно убывающую или монотонно возрастающую).

  1. 72

Дана целочисленная квадратная матрица порядка n. Найти номера строк элементы которых образуют симметричные последовательности (палиндромы).

  1. 73

Дана действительная квадратная матрица порядка 10. В строках с отрицательным элементом на главной диагонали найти сумму всех элементов.

  1. 74

Дана действительная квадратная матрица порядка 10. В строках с отрицательным элементом на главной диагонали найти наибольший из всех элементов.

  1. 75

Дана действительная квадратная матрица порядка n. Рассмотрим те элементы, которые расположены в строках, начинающихся с отрицательного элемента. Найти суммы тех из них, которые расположены соответственно ниже, выше и на главной диагонали.

  1. 76

Дана действительная квадратная матрица порядка 9. Получить целочисленную квадратную матрицу того же порядка, в которой элемент равен единице, если соответствующий ему элемент исходной матрицы больше элемента, расположенного в его строке на главной диагонали, и равен нулю в противном случае.

  1. 77

Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен 2, 1 или 0 (числу очков, набранных в игре: 2—выигрыш, 1 — ничья, 0—проигрыш). Найти число команд, имеющих больше побед, чем

поражений.

  1. 78

Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен 2, 1 или 0 (числу очков, набранных в игре: 2—выигрыш, 1 — ничья, 0—проигрыш). Определить номера команд, прошедших чемпионат без поражений.

  1. 79

Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен 2, 1 или 0 (числу очков, набранных в игре: 2—выигрыш, 1 — ничья, 0—проигрыш). Выяснить, имеется ли хотя бы одна команда, выигравшая более половины игр.

  1. 80

Дана символьная квадратная матрица порядка 10. Заменить буквой а все ее элементы, расположенные выше главной диагонали.

  1. 81

Дана символьная матрица размера 13x18. Найти номер первой по порядку строки, содержащий наибольшее число цифр.

  1. 82

Дана символьная матрица размера 13x18. Найти номер первого по порядку столбца, содержащего наименьшее число пробелов на пересечении со строками, номера которых четны.

  1. 83

Дана символьная матрица размера 13x18. Найти номер последней по порядку строки, содержащей наибольшее количество букв ш, щ.

  1. 84

Дана символьная матрица размера 13x18. Найти номер последнего по порядку столбца, в котором содержится наибольшее количество попарно различных символов.

  1. 85

Дана действительная квадратная матрица порядка n. Найти сумму элементов первого столбца.

  1. 86

Дана действительная квадратная матрица порядка n. Найти сумму элементов главной и побочной диагоналей.

  1. 87

Дана действительная квадратная матрица порядка n. Найти наибольшее из значений элементов первой и последней строк.

  1. 88

Дана действительная квадратная матрица порядка n. Найти наименьшее из значений элементов побочной диагонали и двух соседних с ней линий.

  1. 89

Дана действительная квадратная матрица порядка n. Для данного натурального m (m 2n) найти сумму тех элементов матрицы, сумма индексов которых равна m.

  1. 90

Дана действительная квадратная матрица порядка n. Выяснить, верно ли, что наибольшее из значений элементов главной диагонали больше, чем наименьшее из значений элементов побочной диагонали.

  1. 91

Даны две целочисленные квадратные матрицы порядка 6. Найти последовательность из нулей и единиц b1 ..., bn такую, что bi=1, когда все элементы i-й строки первой матрицы больше соответствующих элементов i-й строки второй матрицы.

  1. 92

Даны две целочисленные квадратные матрицы порядка 6. Найти последовательность из нулей и единиц b1 ..., bn такую, что bi=1, когда все элементы i-x строк первой и второй матриц отрицательны;

  1. 93

Даны две целочисленные квадратные матрицы порядка 6. Найти последовательность из нулей и единиц b1 ..., bn такую, что bi=1, когда i-e строки первой и второй матриц содержат вместе не более трех положительных элементов.

  1. 94

Даны две целочисленные квадратные матрицы порядка 6. Найти последовательность из нулей и единиц b1 ..., bn такую, что bi=1, когда количество отрицательных и неотрицательных элементов i-й строки первой матрицы совпадает соответственно с количеством отрицательных и неотрицательных элементов i-й строки второй матрицы.

  1. 95

Дана действительная матрица размера nхm. Получить последовательность b1 ..., bn, где bk — это наибольшее из значений элементов k-й строки.

  1. 96

Дана действительная матрица размера nхm. Получить последовательность b1 ..., bn, где bk — это сумма наибольшего и наименьшего из значений элементов k-й строки.

  1. 97

Дана действительная матрица размера nхm. Получить последовательность b1 ..., bn, где bk — это число отрицательных элементов в k-й строке.

  1. 98

Дана действительная матрица размера nхm. Получить последовательность b1 ..., bn, где bk — это произведение квадратов тех элементов k-й строки, модули которых принадлежат отрезку [1, 1.5].

  1. 99

Даны натуральное число n, действительное число х, действительная матрица размера nх2n. Получить последовательность b1, ..., bn. из нулей и единиц, где bi= 1, если элементы i-й строки матрицы не превосходят х, и bi =0 в противном случае.