Лабораторная работа №9 (2 ак.часа)

advertisement
1
Лабораторная работа №9
Поиск строки или столбца матрицы по условию. Обработка исключений
(2 ак.часа)
Разработать алгоритм и написать программу на Delphi, создав консольное
приложение для MS Windows, для решения задачи своего варианта из
нижеприведенного перечня. При этом:
1) Ввод исходных данных выполнить из нестандартного текстового файла.
2) Вывод исходных данных и результатов также выполнить в нестандартный
текстовый файл.
3) Имена нестандартных текстовых файлов передавайте в программу через ее
параметры.
4) Предусмотрите проверку аномальных ситуаций, связанных с открытием и
чтением из внешнего файла. Аномальные ситуации, связанные с некорректными
диапазонами исходных данных можно не рассматривать.
5) Для решения задачи, не считая подзадачи ввода и вывода, не использовать
параметрический цикл ДЛЯ, а только итерационные циклы ПОКА или ДО.
6) Создайте функциональные тесты для проверки работы программы.
Пример разработки приведен в Практическом занятии №5.
Перечень задач:
1. Найти в матрице первую строку, все элементы которой положительны.
2. Найти в матрице последнюю строку, все элементы которой упорядочены по убыванию.
3. Найти в целочисленной матрице первую строку, все элементы которой кратны 5.
4. Найти в матрице последнюю строку, все элементы которой упорядочены по возрастанию.
5. Найти в матрице первую строку, все элементы которой отрицательны.
6. Проверить, все ли строки матрицы упорядочены по убыванию, если не все, сообщить номер
последней неупорядоченной.
7. Проверить, все ли строки матрицы упорядочены по возрастанию, если не все, сообщить номер
первой неупорядоченной.
8. Проверить, все ли строки матрицы содержат хотя бы один положительный элемент, если не все,
сообщить номер последней, где нет положительных элементов.
9. Проверить, все ли строки матрицы содержат хотя бы один отрицательный элемент, если не все,
сообщить номер первой, где нет отрицательных элементов.
10. Проверить, все ли строки матрицы содержат хотя бы один нулевой элемент, если не все,
сообщить номер первой, где нет нулевых элементов.
11. Проверить, все ли строки целочисленной матрицы содержат хотя бы один элемент с четным
значением, если не все, сообщить номер последней, где нет четных значений.
12. Найти в матрице последний столбец, все элементы которого неотрицательны.
13. Проверить, есть ли в матрице хотя бы один столбец, все элементы которого равны нулю и найти
номер последнего такого столбца.
14. Найти в целочисленной матрице первый столбец, все элементы которого заканчиваются на 3.
2
15. Найти в матрице первый столбец, все элементы которого неположительны.
16. Найти в матрице первый столбец, все элементы которого упорядочены по возрастанию.
17. Проверить, есть ли в матрице хотя бы один столбец, содержащий положительный элемент, и
найти его номер.
18. Найти в матрице последний столбец, все элементы которого упорядочены по убыванию.
19. Проверить, все ли столбцы матрицы содержат хотя бы один нулевой элемент, если не все,
сообщить номер последнего такого столбца.
20. Проверить, есть ли в матрице хотя бы один столбец, содержащий элемент, равный нулю, и найти
его номер.
21. Проверить, есть ли в целочисленной матрице хотя бы один столбец, содержащий элемент,
кратный 13, и найти его номер.
22. Проверить, все ли столбцы матрицы упорядочены по неубыванию, если не все, сообщить номер
последней неупорядоченной.
23. Проверить, все ли столбцы матрицы содержат хотя бы один положительный элемент, если не все,
сообщить номер последнего такого столбца.
24. Проверить, все ли столбцы матрицы упорядочены по невозрастанию, если не все, сообщить
номер первой неупорядоченной.
25. Проверить, все ли столбцы матрицы содержат хотя бы один отрицательный элемент, если не все,
сообщить номер первого такого столбца.
26. Проверить, есть ли в матрице хотя бы одна строка, содержащая положительный элемент, и найти
ее номер.
27. Найти в матрице первую строку, все элементы которой равны нулю.
28. Проверить, есть ли в матрице хотя бы одна строка, содержащая отрицательный элемент, и найти
ее номер.
29. Проверить, есть ли в матрице хотя бы одна строка, содержащая элемент, равный нулю, и найти ее
номер.
30. Проверить, есть ли в целочисленной матрице хотя бы одна строка, содержащая элемент, кратный
3, и найти ее номер.
Контрольные вопросы
1. При каких действиях с файлами в программе возможно появление исключительных
ситуаций? Зависят ли возникновение или обработка этих ситуаций от программиста,
написавшего эту программу?
2. Чем отличаются блоки Try..Except и Try..Finally?
3. Как проверить, не произошло ли ошибки при открытии/создании файла? Как
вывести собственное сообщение об этой ошибке?
4. Как проверить, удалось ли считать значения исходных данных из нестандартного
текстового файла? Как вывести собственное сообщение об этой ошибке, если не
удалось, и не забыть закрыть файл?
5. В каких ещѐ ситуациях помимо работы с файлами можно использовать обработку
исключительных ситуаций? Приведите пример.
Download