Использование функций пользователя 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Использование функций пользователя



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

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

Оператор DEF FN имеет формат:

DEF FN <имя ф-ции> (<список значений аргументов>) = <выражение>

где:

<список значений аргументов> - список формальных параметров функции

<выражение> - формула, по которой вычисляется значение функции

 

Примеры:

1. DEF FN A(x)=x^2+2

2. DEF FN AGN(x,y,z)=x^2+y^2+z

 

Обращение в программе к функции осуществляется путем

записи в каком-либо выражении программы имени функции и списка фактических параметров функции в круглых скобках и разделенных запятыми в соответствии с форматом:

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

Примеры:

1. FN A(2)

2. FN AGN(a,4,b)

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

Примеры составления программ:

1. 10 DEF FN ABC(x,y)=(x+y)*x/y

20 A=FN ABC(6,8,2)

30 PRINT «A=»; A

40 END

RUN

A=29.92

2. 10 DEF FNZ=A*X+B:A=5:X=46:B=21

20 PRINT FNZ

RUN

 

3. 10 DEF FNAGN(X,Y,Z,A)=X^2+Y^2+Z+A

20 PRINT FNAGN(1,2,3,20)

RUN

 

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

1. Какова структура функции пользователя?

2. Что из себя представляют списки формальных и фактических параметров?

3. Каковы правила выполнения функции пользователя?

 

Задание к контрольной работе № 6

Вариант Задание
  Составить схему алгоритма и решения следующей задачи с использованием программы функции. Предусмотреть вывод исходных данных и промежуточных результатов.
1. Дан массив чисел {R }i=1…10. Вычислить значения элементов массива{T }i=1…10 по формуле Т ; где вычисляется с помощью подпрограммы - функции.
2. Дан массив чисел {y }k=1…8. Найти значение элементов массива , где х вычисляется по формуле ; с помощью подпрограммы – функции.
3. Дан массив чисел {R }i=1…4. Определить значения элементов массива {A }i=1…4 по формуле А , где х вычисляется с помощью подпрограммы по формуле х .
4. Дан массив чисел {у }k=1…8. Найти значение элементов массива {x }k=1…8 по формуле х , где вычисляется с помощью подпрограммы.
5. Дан массив чисел {у }k =1…6. Найти значение элементов массива {S }k=1…6 по формуле S , где вычисляется с помощью подпрограммы.
6. Дан массив чисел {F }k=1…5. Найти значение элементов массива {P }k=1…5 по формуле P , где вычисляется с помощью подпрограммы.
7. Дан массив чисел {К }k=1…5. Найти значение элементов массива {R }k=1…5 по формуле R , где вычисляется с помощью подпрограммы.
8. Дан массив чисел {В }i=1…5. Найти значение элементов массива {А }i=1…5 по формуле А , где вычисляется с помощью подпрограммы.
9. Дан массив чисел {Y }i=1…8. Найти значение элементов массива {Z }i=1…8 по формуле А , где вычисляется с помощью подпрограммы.
10. Дан массив чисел {y }k=1…8. Найти значение элементов массива {R }k=1…8 по формуле R , где вычисляется с помощью подпрограммы.
11. Дан массив чисел {Y }i=1…6. Найти значение элементов массива {Z }i=1…6 по формуле Z , где вычисляется с помощью подпрограммы.
12. Дан массив чисел {C }i=1…7. Найти значение элементов массива {D }i=1…7 по формуле D , где вычисляется с помощью подпрограммы.
13. Дан массив чисел {X }k=1…6. Найти значение элементов массива {y }k=1…6 по формуле y , где вычисляется с помощью подпрограммы.
14. Дан массив чисел {Z }k=1…8. Найти значение элементов массива {X }k=1…8 по формуле X , где вычисляется с помощью подпрограммы.  
15. Дан массив чисел {X }k=1…7. Найти значение элементов массива {y }k=1…7 по формуле y , где вычисляется с помощью подпрограммы.
16. Дан массив чисел {T }i=1…6. Найти значение элементов массива {R }i=1…6 по формуле R , где вычисляется с помощью подпрограммы.
17. Дан массив чисел {y }k=1…7. Найти значение элементов массива {Z }k=1…7 по формуле Z , где вычисляется с помощью подпрограммы.  
18. Дан массив чисел {P }k=1…10. Найти значение элементов массива {R }k=1…10 по формуле R , где вычисляется с помощью подпрограммы.
19. Дан массив чисел {T }k=1…8. Найти значение элементов массива {S }k=1…8 по формуле S , где вычисляется с помощью подпрограммы.
20. Дан массив чисел {x }k=1…6. Найти значение элементов массива {Z }k=1…10 по формуле Z , где вычисляется с помощью подпрограммы.  
21. Дан массив чисел {B }k=1…8. Найти значение элементов массива {R }k=1…8 по формуле R , где вычисляется с помощью подпрограммы.  
22. Дан массив чисел {F }k=1…5. Найти значение элементов массива {G }k=1…5 по формуле G , где вычисляется с помощью подпрограммы.
23. Дан массив чисел {A }k=1…6. Найти значение элементов массива {B }k=1…6 по формуле B , где вычисляется с помощью подпрограммы.
24. Дан массив чисел {Z }k=1…9. Найти значение элементов массива {y }k=1…9 по формуле y , где вычисляется с помощью подпрограммы.
25. Дан массив чисел {R }k=1…8. Найти значение элементов массива {P }k=1…8 по формуле P , где вычисляется с помощью подпрограммы.
26. Дан массив чисел {X }k=1…9. Найти значение элементов массива {Z }k=1…9 по формуле Z , где вычисляется с помощью подпрограммы.
27. Дан массив чисел {H }k=1…8. Найти значение элементов массива {R }k=1…8 по формуле R , где вычисляется с помощью подпрограммы.
28. Дан массив чисел {X }k=1…8. Найти значение элементов массива {Z }k=1…8 по формуле Z , где вычисляется с помощью подпрограммы.  
29. Дан массив чисел {A }k=1…9. Найти значение элементов массива {B }k=1…9 по формуле B , где вычисляется с помощью подпрограммы.  
30. Дан массив чисел {F }k=1…5. Найти значение элементов массива {P }k=1…5 по формуле P , где вычисляется с помощью подпрограммы.
31. Дан массив чисел {у }k =1…6. Найти значение элементов массива {S }k=1…6 по формуле S , где вычисляется с помощью подпрограммы.  
32. Дан массив чисел {у }k=1…8. Найти значение элементов массива {x }k=1…8 по формуле х , где вычисляется с помощью подпрограммы.  
33. Дан массив чисел {y }k=1…8. Найти значение элементов массива , где х вычисляется по формуле ; с помощью подпрограммы функции.  
34. Дан массив чисел {R }i=1…4. Определить значения элементов массива {A }i=1…4 по формуле А , где х вычисляется с помощью подпрограммы по формуле х .  
35. Дан массив чисел {X }k=1…10. Найти значение элементов массива {Z }k=1…10 по формуле Z , где вычисляется с помощью подпрограммы.  
36. Дан массив чисел {Y }i=1…10. Найти значение элементов массива {Z }i=1…10 по формуле Z , где вычисляется с помощью подпрограммы.
37. Дан массив чисел {X }k=1…7. Найти значение элементов массива {y }k=1…7 по формуле y , где вычисляется с помощью подпрограммы.
38. Дан массив чисел {К }k=1…5. Найти значение элементов массива {R }k=1…5 по формуле R , где вычисляется с помощью подпрограммы.
39. Дан массив чисел {P }k=1…8. Найти значение элементов массива {R }k=1…8 по формуле R , где вычисляется с помощью подпрограммы.
40. Дан массив чисел {X }k=1…15. Найти значение элементов массива {Z }k=1…15 по формуле Z , где вычисляется с помощью подпрограммы.  
41. Дан массив чисел {A }k=1…14. Найти значение элементов массива {B }k=1…14 по формуле B , где вычисляется с помощью подпрограммы.  
42. Дан массив чисел {S }k=1…15. Найти значение элементов массива {T }k=1…15 по формуле T , где вычисляется с помощью подпрограммы.
43. Дан массив чисел {D }k=1…13. Найти значение элементов массива {C }k=1…13 по формуле C , где вычисляется с помощью подпрограммы.
44. Дан массив чисел {C }i=1…10. Найти значение элементов массива {A }i=1…10 по формуле A , где вычисляется с помощью подпрограммы.
45. Дан массив чисел {C }i=1…16. Найти значение элементов массива {A }i=1…16 по формуле A , где вычисляется с помощью подпрограммы.
46. Дан массив чисел {H }i=1…14. Найти значение элементов массива {P }i=1…14 по формуле P , где вычисляется с помощью подпрограммы.
47. Дан массив чисел {Z }k=1…12. Найти значение элементов массива {S }k=1…12 по формуле S , где вычисляется с помощью подпрограммы.
48. Дан массив чисел {C }i=1…16. Найти значение элементов массива {B }i=1…16 по формуле B , где вычисляется с помощью подпрограммы.  
49. Дан массив чисел {у }k=1…10. Найти значение элементов массива {Z }k=1…10 по формуле Z , где вычисляется с помощью подпрограммы.  
50. Дан массив чисел {у }k=1…10. Найти значение элементов массива {Z }k=1…10 по формуле Z , где вычисляется с помощью подпрограммы.  

 

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

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

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

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

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

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

 

Пример:

10 INPUT A (A=2)

GOSUB 50

30 PRINT “B=”;B

40 STOP

50 B=2*A

60 RETURN

END

RUN

B=4

 

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

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

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

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

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

Вариант Задание
  Составить схему алгоритма и программу решения задачи с использованием программы - процедуры. Предусмотреть вывод исходных данных и результатов.
1. Определить сумму S элементов целого массива А, размерности 12, расположенных за 3 - м отрицательным элементами разделить полученную сумму на 12! (факториал). 12! Вычислять с помощью подпрограммы процедуры.
2. Дана матрица М размерности 5 5. Определить сумму элементов всей матрицы от М(2,2) до М95,40, если первая строка имеет меньше 2 - х элементов. Определение суммы осуществить с помощью подпрограммы процедуры.
3. В двумерном массиве найти строку с наименьшим произведением элементов. Размерность массива 5 6. Произведение определять с помощью подпрограммы – процедуры.
4. Дан массив из 10 чисел. Вычислить, сколько элементов в массиве превышают число А, найти максимальный элемент массива и его номер. Максимальный элемент находить в подпрограмме - процедуре.
5. Даны целые числа А и массив х , х ,…х . Если в последовательности х есть два элемента равных А, то получить сумму элементов, следующих за вторым таким элементом, в противном случае определить сумму всех элементов массива х. Сумму вычислить использую подпрограмму - процедуру.
6. Дана целая квадратная матрица А порядка 9. В строках которые начинаются с отрицательных элементов, найти суммы элементов расположенных выше главной диагонали. (используя для вычисления суммы подпрограммы - процедуру).
7. Дана матрица М размерностью 6 6. Строки матрицы содержащие отрицательные упорядочить по возрастанию, остальные по убыванию. Эти действия производить в подпрограмм - процедуре.
8. В квадратной матрице А размерностью 5 5. Найти максимальный элемент среди минимальных по строкам. Поиск минимальных элементов осуществлять с помощью подпрограммы - процедуры.
9. В двумерном массиве А(7,7) переставить местами строку, в которой находится наибольшее количество отрицательных элементов, со строкой, в которой находится наименьшее количество отрицательных элементов. Подсчет отрицательных элементов производится в подпрограмме – процедуре.  
10. Составить программу, заменяющую нулевые элементы одного массива очередным в порядке возрастания индексов элементами второго. Образовать третий массив, элементами которого являются суммы соответствующих элементов первого и второго массивов. Эту операцию выполнить в подпрограмме - процедуре.  
11. Вычислить значение функции Z = X Y (S +S ) Где – сумма и количество массива а ,…a . S2 и K2 - сумма и количество положительных элементов массива b , b ,…b . Для вычисления S, S, K,K, использовать подпрограмму - процедуру.  
12. В двумерном массиве А размерности 5 5 найти строку с наименьшим количеством нулевых элементов. Определить сумму элементов этой строки, используя подпрограмму – процедуру.  
13. В заданной матрице Х размером 4 5. Определить сумму максимальных значений каждой строки и посчитать количество отрицательных элементов в каждой строке, используя подпрограмму - процедуру.  
14. Дана квадратная матрица А размерностью 5. Расположить элементы каждой строки заданной матрицы по убыванию. В полученной матрице найти максимальный элемент среди элементов, расположенных на главной диагонали используя подпрограмму - процедуру.
15. Дан массив из 10чмсел. Найти максимальный элемент среди отрицательных элементов. Поменять местами максимальный и последний элементы. Максимальный элемент находить в программе - процедуры.
16. Даны две квадратные матрицы А и В размерностью 5 5. Получить две последовательности х={х , х ,…х } и у={у , у ,…у }, компонентами которых являются: а) для х - наибольшее из значений к-ой строки матрицы А; в) для у - число отрицательных элементов в каждой строке матрицы В; поиск наибольшего элемента производить в подпрограмме - процедуре.
17. В матрице А размерностью 5 5 найти наибольший элемент среди элементов главной диагонали и заменить им все отрицательные элементы. Посчитать количество замен. Поиск наибольшего элемента производить в программе - процедуре.
18. Задан численный массив а , а ,… а . Наименьший элемент массива заменить среднеарифметического всех элементов массива. Среднее арифметическое вычислять с помощью программы - процедуры.
19. В матрице В размерностью 5 5, найти строку с наименьшим произведением элементов. Произведение вычислять с помощью программы - процедуры.
20. Дан одномерный массив из 10чисел. Вычислить произведение положительных элементов массива. Найти максимальный элемент массива и заменить им все отрицательные элементы. Максимальный элемент находить с помощью программы – процедуры.
21. Дан массив из 15 чисел. Если в массиве больше 3-х отрицательных чисел, вычислить среднее арифметическое этого массива, если меньше - вычислить сумму положительных чисел и разделить её на максимальный элемент. Вычисление суммы производить в программе – процедуре.
22. Дан массив чисел из 10 элементов. Найти максимальный и минимальный элементы массива и поменять их местами. Найти среднее арифметическое положительных элементов массива с помощью подпрограммы - процедуры.
23. Дан массив из 20 чисел. Найти второй отрицательный элемент в массиве и вычислить сумму элементов - перед ним. Если такого элемента нет, вывести соответствующее сообщение. Сумму вычислять в подпрограмме - процедуры.
25. Задан двумерный массив чисел А размерностью 6 6. Вычислить сумму и количество элементов стоящих между максимальным и минимальным элементами матрицы. Сумму и количество вычислять в подпрограмме-процедуре.
26. Дан одномерный массив чисел Х размерностью 15 если в массиве больше положительных элементов, то вычислять сумму всех элементов массива, если же больше отрицательных, то вычислить сумму первых 10 элементов. Для вычисления суммы использовать подпрограмму - процедуру.
27. Дана матрица Z размерностью 6 6. Образовать одномерный массив Р размерности 6, каждым элементом которого является произведение элементов столбцов матрицы Z. Найти в нем максимальный элемент. Вычислить произведение с помощью подпрограммы - процедуры.
28. В двумерном массиве R размерностью 6 5 вычислять произведения тех строк, которые начинаются с положительных элементов и суммы элементов тех строк, которые начинаются с отрицательных элементов. Вычисление суммы и произведения производить в подпрограмме – процедуре.
29. Задан двумерный массив чисел Х размерностью 54. Найти строку с наименьшим элементом массива и вычислить произведение ее отрицательных элементов и их количество. Произведение и количество отрицательных элементов производить с помощью подпрограммы - процедуры.
30. Задан двумерный массив чисел В размерностью 6 6. Вычислить три суммы: элементов, расположенных на главной диагонали, над ней и под ней. Определить наибольшую из этих сумм. Суммы определять в подпрограмме - процедуре.
31. Заданны два одномерных массива чисел А размерностью 10 и В размерностью 15. Вычислить сумму максимальных элементов этих массивов и произведение их минимальных элементов. Вычисление максимальных и минимальных элементов производить в подпрограмме - процедуре.
32. Заданны три одномерных массива А, В, С размерностью 12. Вычислять сумму всех элементов массива, если в нем больше трех отрицательных элементов, сумму первых 10-ти элементов, если в нем меньше 3-х отрицательных элементов, и сумму первых 7 элементов, если в нем нет отрицательных элементов. Вычисление суммы производить в подпрограмме – процедуре.
33. Задан двумерный массив чисел Z размерностью 5 5. Образовать новый массив А элементами которого являются максимальные элементы столбцов массива Z. Используя подпрограмму - процедуру вычислить сумму и произведение элементов массива А.
34. Задан двумерный массив чисел Д размерностью 6 6. Найти минимальный элемент среди элементов главной диагонали и посчитать сумму и количество отрицательных элементов столбца, в котором находится этот минимальный элемент. Сумму и количество вычислять в подпрограмме - процедуре.
35. В квадратной матрице С размерностью 5 5 поменять местами столбец, в котором находится минимальный элемент. Максимальный и минимальный элементы найти с помощью подпрограммы – процедуры.
36. Заданы два одномерных массива чисел Р и R размерностью 10. Вычислить суммы положительных элементов этих массивов и их количество. В массиве с большей суммой элементов поменять местами максимальный и минимальный элементы. Вычисление суммы и количества производить в подпрограмме – процедуре.
37. Задана матрица Z размерностью 5 6. Переставить столбцы матрицы таким образом, чтобы они располагались в порядке возрастания в них количества отрицательных элементов. Подсчет количества отрицательных элементов производить в подпрограмме – процедуре.
38. Задан одномерный массив А из 15чисел. Вычислить сумму и количество элементов расположенных между первым и последним отрицательными числами массива. Упорядочить элементы массива в порядке возрастания. Сумму и количество вычислять в подпрограмме - процедуре.  
39. Заданны две квадратные матрицы А и В размерностью 3 3. В матрице, у которой больше произведение элементов главной диагонали поменять местами строки и столбцы, в другой матрице поменять местами строки и столбцы, в другой матрице поменять местами 1-й и 3-й столбцы. Произведение элементов вычислять в подпрограмме - процедуре.
40. Задана матрица чисел Д размерностью 5 6. Строки, в которых количество отрицательных элементов больше 2-х упорядочить по убыванию, остальные - по возрастанию. Количество отрицательных элементов подсчитать в подпрограмме – процедуре.
41. Задана матрица G размерностью 4 5. В каждом столбце матрицы найти максимальный элемент и заменить им отрицательные элементы этого столбца. Максимальный элемент находить с помощью подпрограммы - процедуры.
42. Задан одномерный массив чисел Е(16). Образовать массив А, элементами которого будут разности соседних четных элементов массива Е. В массиве А посчитать сумму и количество положительных элементов, используя подпрограмму – процедуру.
43. Дан вещественный массив чисел из 15 элементов. Вычислить разность между максимальным и минимальными элементами в массиве и разделить ее на произведение элементов, расположенных между ними. Произведение вычислять в подпрограмме - процедуре.
44. Дан одномерный массив чисел из 10 элементов. Вычислить среднее арифметическое положительных элементов массива и количество элементов больших этого среднего. Упорядочить массив по возрастанию. Среднее арифметическое вычислять в подпрограмме - процедуре.
45. В двумерном массиве Z(5,6) переставить местами столбец, в котором находится наибольшее количество нулевых элементов со столбцом, в котором находится наименьшее количество нулевых элементов. Подсчет нулевых элементов производится в подпрограмме - процедуре.
46. В двумерном массиве А(4,5) найти столбец с наименьшим произведением элементов и упорядочить ее по убыванию. Произведение вычислять в подпрограмме - процедуре.
47. Задан одномерный массив чисел В (12). Если в массиве меньше четырех отрицательных чисел, вычислить среднее арифметическое этого массива, если больше вычислить произведение положительных чисел и разделить его на минимальный элемент. Подсчет количества отрицательных чисел производить в подпрограмме - процедуре.
48. Дана матрица Х 3 5. Вычислить произведение и количество положительных элементов столбцов матрицы. Столбец, в котором наибольшее количество положительных элементов переставить на место 1-го столбца. Произведение и количество вычислять в подпрограмме - процедуре.
49. Задан одномерный массив чисел D(10). Вычислить сумму и количество элементов, стоящих после 1-го отрицательного элемента. Если их меньше 5, упорядочить элементы массива по убыванию, если больше 5-ти - по возрастанию. Сумму и количество вычислять в подпрограмме - процедуре.
50. Задана матрица R (5 5). Вычислить среднее арифметическое элементов матрицы, расположенных ниже главной диагонали и максимальный элемент среди элементов главной диагонали. Строку, где находится максимальный элемент поменять местами с первой строкой матрицы. Среднее арифметическое вычислять в подпрограмме - процедуре.

 

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



Поделиться:


Последнее изменение этой страницы: 2016-09-20; просмотров: 242; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.141.44 (0.024 с.)