Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
posobie.doc
Скачиваний:
27
Добавлен:
31.03.2015
Размер:
1.43 Mб
Скачать

5.4. Список заданий

Задание 1. Задачи п. 2.5.2, с. 80-84,[2].

Задание 2.Задача m.0.

1. Найти в матрице первую строку, все элементы которой положительны.

2. Найти в матрице первую строку, все элементы которой отрицательны.

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

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

5. Проверить, есть ли в матрице хотя бы одна строка, содержащая положительный элемент, и найти ее номер.

6. Проверить, есть ли в матрице хотя бы одна строка, содержащая отрицательный элемент, и найти ее номер.

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

8. Найти в матрице первую строку, все элементы которой равны нулю.

9. Проверить, все ли строки матрицы упорядочены по убыванию.

10. Проверить, все ли строки матрицы упорядочены по возрастанию.

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

12. Проверить, все ли строки матрицы содержат хотя бы один отрицательный элемент.

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

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

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

16. Найти в матрице первый столбец, все элементы которого равны нулю.

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

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

19. Проверить, есть ли в матрице хотя бы один столбец, содержащий положительный элемент, и найти его номер.

20. Проверить, есть ли в матрице хотя бы один столбец, содержащий отрицательный элемент, и найти его номер.

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

22. Проверить, все ли столбцы матрицы упорядочены по убыванию

23. Проверить, все ли столбцы матрицы упорядочены по возрастанию

24. Проверить, все ли столбцы матрицы содержат хотя бы один положительный элемент.

25. Проверить, все ли столбцы матрицы содержат хотя бы один отрицательный элемент.

26. Проверить, все ли столбцы матрицы содержат хотя бы один нулевой элемент.

6. Оформление алгоритмов в виде процедур

6.1. Основные положения

● Понятие процедуры и основные определения

•• Процедураявляется компонентом программы, обладающим именем; имя позволяет программе вызвать этот компонент, чтобы заставить выполнить некоторое действие.

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

По формепроцедура (или, что то же, описание, объявление процедуры) естьобобщенный алгоритм, записанный по специальным правилам и не выполняющийся самостоятельно. Процедура может быть вызвана для обработки различных данных, хотя алгоритм обработки один и тот же. Именно в таком смысле этот алгоритм является обобщенным. Отсюда же - "подчиненный" характер процедуры - ожидание вызова для начала работы.

•• Алгоритм, непосредственно обрабатывающий конкретные данные и содержащий обращение к процедуре, или вызов, называется вызывающим, илиглавным.

•• Исходные данные, илиаргументы, ивыходные данные, илирезультатыпроцедуры, при описании процедуры могут быть представлены в специфическом виде - в видепараметров- как описание и перечисление "мест", куда при выполнении процедуры должны быть подставлены фактически обрабатываемые данные.

Параметры, присутствующиев описаниипроцедуры, называютсяформальными.

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

•• Поскольку процедура по форме представляет собой алгоритм, помимо входных и выходных данных – параметров она может содержать внутренние вспомогательные величины.Внутренние объектыпроцедуры, т.е. определяемые внутри процедуры, называютсялокальными(аналог промежуточных данных). Это - "собственные" объекты процедуры, никак не связанные с вызывающим модулем и недоступные в нем.

•• Объекты, используемые в описании процедуры, но определенные вне процедуры(например, в другой процедуре или вызывающем модуле) и не входящие в список параметров, называютсяглобальными.

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

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

•• Выполнение процедурыпроисходит так, как если бы вместо формальных параметров при вызове были подставлены фактические, а затем выполнился бы алгоритм процедуры; таким образом, обрабатываются фактические параметры по алгоритму, записанному для формальных параметров.

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

● Виды процедур

•• Внутренние и внешние процедуры различаются способом размещения по отношению к вызывающему модулю.

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

Внешняяпроцедура оформляется как отдельная программная единица и может быть скомпилированаотдельноот модуля, содержащего вызов процедуры.

Использование языка проектирования позволяет отвлечься от вопроса размещения текста описания процедуры; можно считать, что на уровне проектирования в псевдокоде мы описываем процедуры как внешние.

•• По числу выходных значений процедуры подразделяются на процедуры общего вида и функции.

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

Функциядолжна вычислятьтолько одновыходное значение.

● Описание процедур на псевдокоде

•• Процедура общего вида (подпрограмма)

Описание

{назначение процедуры}

проц <имя процедуры>(<список формальных параметров>);

арг <список описаний входных параметров>;

рез <список описаний выходных параметров>;

нач <список описаний локальных переменных>;

<операторы>

кон;

кон <имя процедуры>;

Вызов (обращение)записывается как отдельный оператор в вызывающем алгоритме:

<имя процедуры>(<список фактических параметров>);

•• Функция

Описание

<тип>функ<имя функции>(<список входных форм. параметров>);

арг <список описаний входных параметров>;

нач <список описаний локальных переменных>;

<операторы вычисления результирующего значения>

<имя функции>:=<значение>;

кон;

кон <имя функции>;

Единственное выходное значение присваивается имени функции.

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

Вызов (обращение)осуществляется через указатель функции – конструкцию следующего вида:

<имя функции>(<список фактических параметров>).

Указатель используется как операнд в выражении соответствующего типа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]