Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаба 6 Подпрограмма.docx
Скачиваний:
20
Добавлен:
14.03.2016
Размер:
43.56 Кб
Скачать

Область видимости переменных

Следует отметить, что переменные, объявленные внутри функций, имеют область видимости только в пределах функции, и за ее пределами уже не доступны (не видны). Следующий пример программы демонстрирует механизм области видимости имен переменных в MatLab:

function MyFunc  x = 10;  disp(x);  MyFunc2();     function MyFunc2()  disp(x);

В результате на экране будет отображено

10  ??? Undefined function or variable 'x'.

Этот пример показывает, что переменная с именем x, объявленная в функции MyFunc, не доступна в функции MyFunc2. Это сделано с расчетом, чтобы переменные в разных функциях не влияли друг на друга даже если они имеют одни и те же имена. Однако в некоторых случаях требуется, чтобы переменная была видна за пределами функции, в которой объявлена. Это достигается путем обращения к переменной как к глобальной с помощью ключевого слова global, за которым следует имя глобальной переменной. Перепишем пример, представленный выше с использованием глобальной переменной:

function MyFunc  x = 10;  disp(x);  MyFunc2();     function MyFunc2()  global x;  disp(x);

Обратите внимание, что ключевое слово global написано в функции MyFunc2 и говорит о том, что переменная x уже объявлена ранее и нужно ее использовать внутри текущей функции.

Практическая часть

Лабораторное задание

        1. Выбрать задание, соответствующее номеру варианта.

        2. Составить алгоритм решения задачи.

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

        4. Выполнить программу на ЭВМ.

Задание для самостоятельной работы

1

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

  2. Написать программу, вычисляющую доход по вкладу. Исходными данными для вычисления являются: величина вклада, процентная ставка (годовых) и срок вклада (количество дней).

2

  1. Напишите программу поиска большего из четырех чисел с использованием функции поиска большего из двух чисел.

  2. Напишите программу, состоящую из трех функций и основной программы. Первая функция организует ввод двух целых чисел X и Y, вторая проверяет их сумму, третья выводи результат. Используйте эти функции в основной программе. Используйте X и Y как глобальные переменные.

3

  1. Даны координаты вершин многоугольника (x1, y1,x2,y2,…x10,y10). Напишите программу для вычисления его периметра (вычисление расстояния между вершинами оформить функцией).

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

4

  1. Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k.

  2. Напишите программу поиска большего из четырех чисел с использованием подпрограммы поиска большего из двух чисел.

5

  1. Напишите программу для вычисления числа сочетаний из N по M. Число сочетаний определяется по формуле N!/(M!*(N-M)!, где N – количество элементов перебора. Используйте подпрограмму вычисления факториала.

  2. Даны координаты вершин многоугольника (x1, y1,x2,y2,…x10,y10). Напишите программу для вычисления его периметра (вычисление расстояния между вершинами оформить функцией).

6

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

  2. Дано простое число. Составить функцию, которая будет находить следующее за ним простое число.

7

  1. Даны три целых числа. Определить, сумма цифр которого из них больше. Подсчет суммы цифр организовать через функцию.

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

8

  1. Составить программу для вычисления площади кольца по значениям внутреннего и внешнего радиусов, используя функцию вычисления площади круга.

  2. Даны натуральные числа K и N. Составить программу формирования массива А, элементами которого являются числа, сумма цифр которых равна K и которые не больше N.

9

  1. Составить программу для вычисления суммы факториалов всех четных чисел от m до n.

  2. Дан массив A(N) (N – четное).

Сформировать массив В(М), элементами которого являются средние арифметические соседних пар рядом стоящих в массиве А чисел. (Например, массив А состоит из элементов 1; 3; 5; -2; 0; 4; 0; 3. элементами массива В будут 2; 1,5; 2; 1,5).

10

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

  2. Составьте программу, которая в массиве A[N] находит второе по величине число (вывести на печать число, которое меньше максимального элемента массива, но больше всех других элементов).,