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

Контрольная работа № 7

ИСПОЛЬЗОВАНИЕ ПОДПРОГРАММ

1.1. Теоретическая часть.

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

Для входа в подпрограмму используется оператор GOSUB <nс>. Он указывает адрес входа в подпрограмму по номеру <nс> её программной строки. Тело подпрограммы находится между строкой с номером <nс> и первым оператором RETURN и может располагаться в любом месте основной программы.

Подпрограмма выполняется до ограничивающего её оператора RETURN, определяющего возврат из подпрограммы в основную программу. Возврат осуществляется либо к оператору, следующему за GOSUB, если используется оператор RETURN( без указания номера строки возврата), либо к строке, указанной в параметре <nс> оператора RETURN <nс>.

Пример:

10 INPUT A (A=2)

20 GOSUB 50

30 PRINT “B=”;B

40 STOP

50 B=2*A

60 RETURN

70 END

RUN

B=4

1.2. Вопросы для контроля:

  1. Между какими операторами помещается тело подпрограммы?

  2. Как действуют операторы RETURN и RETURN <nc>?

  3. В каком месте основной программы может располагаться подпрограмма?

1.3. Задание к контрольной работе № 7

Вариант

Задание

Составить схему алгоритма и программу решения задачи с использованием программы - процедуры. Предусмотреть вывод исходных данных и результатов.

1.

Определить сумму S элементов целого массива А, размерности 12, расположенных за 3 - м отрицательным элементами разделить полученную сумму на 12! (факториал). 12! Вычислять с помощью подпрограммы процедуры.

2.

Дана матрица М размерности 55. Определить сумму элементов всей матрицы от М(2,2) до М95,40, если первая строка имеет меньше 2 - х элементов. Определение суммы осуществить с помощью подпрограммы процедуры.

3.

В двумерном массиве найти строку с наименьшим произведением элементов. Размерность массива 56. Произведение определять с помощью подпрограммы – процедуры.

4.

Дан массив из 10 чисел. Вычислить, сколько элементов в массиве превышают число А, найти максимальный элемент массива и его номер. Максимальный элемент находить в подпрограмме - процедуре.

5.

Даны целые числа А и массив х, х,…х. Если в последовательности х есть два элемента равных А, то получить сумму элементов, следующих за вторым таким элементом, в противном случае определить сумму всех элементов массива х. Сумму вычислить использую подпрограмму - процедуру.

6.

Дана целая квадратная матрица А порядка 9. В строках которые начинаются с отрицательных элементов, найти суммы элементов расположенных выше главной диагонали. (используя для вычисления суммы подпрограммы - процедуру).

7.

Дана матрица М размерностью 66. Строки матрицы содержащие отрицательные упорядочить по возрастанию, остальные по убыванию. Эти действия производить в подпрограмм - процедуре.

8.

В квадратной матрице А размерностью 55. Найти максимальный элемент среди минимальных по строкам. Поиск минимальных элементов осуществлять с помощью подпрограммы - процедуры.

9.

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

10.

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

11.

Вычислить значение функции Z = XY(S+S)

Где – сумма и количество массива а,…a.

S2 и K2 - сумма и количество положительных элементов массива b, b,…b. Для вычисления S, S, K,K, использовать подпрограмму - процедуру.

12.

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

13.

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

14.

Дана квадратная матрица А размерностью 5. Расположить элементы каждой строки заданной матрицы по убыванию. В полученной матрице найти максимальный элемент среди элементов, расположенных на главной диагонали используя подпрограмму - процедуру.

15.

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

16.

Даны две квадратные матрицы А и В размерностью 55. Получить две последовательности х={х, х,…х} и у={у, у,…у}, компонентами которых являются:

а) для х- наибольшее из значений к-ой строки матрицы А;

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

17.

В матрице А размерностью 55 найти наибольший элемент среди элементов главной диагонали и заменить им все отрицательные элементы. Посчитать количество замен. Поиск наибольшего элемента производить в программе - процедуре.

18.

Задан численный массив а, а,… а. Наименьший элемент массива заменить среднеарифметического всех элементов массива. Среднее арифметическое вычислять с помощью программы - процедуры.

19.

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

20.

Дан одномерный массив из 10чисел. Вычислить произведение положительных элементов массива. Найти максимальный элемент массива и заменить им все отрицательные элементы. Максимальный элемент находить с помощью программы – процедуры.

21.

Дан массив из 15 чисел. Если в массиве больше 3-х отрицательных чисел, вычислить среднее арифметическое этого массива, если меньше - вычислить сумму положительных чисел и разделить её на максимальный элемент. Вычисление суммы производить в программе – процедуре.

22.

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

23.

Дан массив из 20 чисел. Найти второй отрицательный элемент в массиве и вычислить сумму элементов - перед ним. Если такого элемента нет, вывести соответствующее сообщение. Сумму вычислять в подпрограмме - процедуры.

25.

Задан двумерный массив чисел А размерностью 66. Вычислить сумму и количество элементов стоящих между максимальным и минимальным элементами матрицы. Сумму и количество вычислять в подпрограмме-процедуре.

26.

Дан одномерный массив чисел Х размерностью 15 если в массиве больше положительных элементов, то вычислять сумму всех элементов массива, если же больше отрицательных, то вычислить сумму первых 10 элементов. Для вычисления суммы использовать подпрограмму - процедуру.

27.

Дана матрица Z размерностью 66. Образовать одномерный массив Р размерности 6, каждым элементом которого является произведение элементов столбцов матрицы Z. Найти в нем максимальный элемент. Вычислить произведение с помощью подпрограммы - процедуры.

28.

В двумерном массиве R размерностью 65 вычислять произведения тех строк, которые начинаются с положительных элементов и суммы элементов тех строк, которые начинаются с отрицательных элементов. Вычисление суммы и произведения производить в подпрограмме – процедуре.

29.

Задан двумерный массив чисел Х размерностью 54. Найти строку с наименьшим элементом массива и вычислить произведение ее отрицательных элементов и их количество. Произведение и количество отрицательных элементов производить с помощью подпрограммы - процедуры.

30.

Задан двумерный массив чисел В размерностью 66. Вычислить три суммы: элементов, расположенных на главной диагонали, над ней и под ней. Определить наибольшую из этих сумм. Суммы определять в подпрограмме - процедуре.

31.

Заданны два одномерных массива чисел А размерностью 10 и В размерностью 15. Вычислить сумму максимальных элементов этих массивов и произведение их минимальных элементов. Вычисление максимальных и минимальных элементов производить в подпрограмме - процедуре.

32.

Заданны три одномерных массива А, В, С размерностью 12. Вычислять сумму всех элементов массива, если в нем больше трех отрицательных элементов, сумму первых 10-ти элементов, если в нем меньше 3-х отрицательных элементов, и сумму первых 7 элементов, если в нем нет отрицательных элементов. Вычисление суммы производить в подпрограмме – процедуре.

33.

Задан двумерный массив чисел Z размерностью 55. Образовать новый массив А элементами которого являются максимальные элементы столбцов массива Z. Используя подпрограмму - процедуру вычислить сумму и произведение элементов массива А.

34.

Задан двумерный массив чисел Д размерностью 66. Найти минимальный элемент среди элементов главной диагонали и посчитать сумму и количество отрицательных элементов столбца, в котором находится этот минимальный элемент. Сумму и количество вычислять в подпрограмме - процедуре.

35.

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

36.

Заданы два одномерных массива чисел Р и R размерностью 10. Вычислить суммы положительных элементов этих массивов и их количество. В массиве с большей суммой элементов поменять местами максимальный и минимальный элементы. Вычисление суммы и количества производить в подпрограмме – процедуре.

37.

Задана матрица Z размерностью 56. Переставить столбцы матрицы таким образом, чтобы они располагались в порядке возрастания в них количества отрицательных элементов. Подсчет количества отрицательных элементов производить в подпрограмме – процедуре.

38.

Задан одномерный массив А из 15чисел. Вычислить сумму и количество элементов расположенных между первым и последним отрицательными числами массива. Упорядочить элементы массива в порядке возрастания. Сумму и количество вычислять в подпрограмме - процедуре.

39.

Заданны две квадратные матрицы А и В размерностью 33. В матрице, у которой больше произведение элементов главной диагонали поменять местами строки и столбцы, в другой матрице поменять местами строки и столбцы, в другой матрице поменять местами 1-й и 3-й столбцы. Произведение элементов вычислять в подпрограмме - процедуре.

40.

Задана матрица чисел Д размерностью 56. Строки, в которых количество отрицательных элементов больше 2-х упорядочить по убыванию, остальные - по возрастанию. Количество отрицательных элементов подсчитать в подпрограмме – процедуре.

41.

Задана матрица G размерностью 45. В каждом столбце матрицы найти максимальный элемент и заменить им отрицательные элементы этого столбца. Максимальный элемент находить с помощью подпрограммы - процедуры.

42.

Задан одномерный массив чисел Е(16). Образовать массив А, элементами которого будут разности соседних четных элементов массива Е. В массиве А посчитать сумму и количество положительных элементов, используя подпрограмму – процедуру.

43.

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

44.

Дан одномерный массив чисел из 10 элементов. Вычислить среднее арифметическое положительных элементов массива и количество элементов больших этого среднего. Упорядочить массив по возрастанию. Среднее арифметическое вычислять в подпрограмме - процедуре.

45.

В двумерном массиве Z(5,6) переставить местами столбец, в котором находится наибольшее количество нулевых элементов со столбцом, в котором находится наименьшее количество нулевых элементов. Подсчет нулевых элементов производится в подпрограмме - процедуре.

46.

В двумерном массиве А(4,5) найти столбец с наименьшим произведением элементов и упорядочить ее по убыванию. Произведение вычислять в подпрограмме - процедуре.

47.

Задан одномерный массив чисел В (12). Если в массиве меньше четырех отрицательных чисел, вычислить среднее арифметическое этого массива, если больше вычислить произведение положительных чисел и разделить его на минимальный элемент. Подсчет количества отрицательных чисел производить в подпрограмме - процедуре.

48.

Дана матрица Х 35. Вычислить произведение и количество положительных элементов столбцов матрицы. Столбец, в котором наибольшее количество положительных элементов переставить на место 1-го столбца. Произведение и количество вычислять в подпрограмме - процедуре.

49.

Задан одномерный массив чисел D(10). Вычислить сумму и количество элементов, стоящих после 1-го отрицательного элемента. Если их меньше 5, упорядочить элементы массива по убыванию, если больше 5-ти - по возрастанию. Сумму и количество вычислять в подпрограмме - процедуре.

50.

Задана матрица R (55). Вычислить среднее арифметическое элементов матрицы, расположенных ниже главной диагонали и максимальный элемент среди элементов главной диагонали. Строку, где находится максимальный элемент поменять местами с первой строкой матрицы. Среднее арифметическое вычислять в подпрограмме - процедуре.