Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Структура процедуры и функции. ⇐ ПредыдущаяСтр 7 из 7
Процедуры и функции, известные под общим именем как подпрограммы могут быть описаны в любом месте программы, но до тела главной программы. Формат процедур:
Procedure имя процедуры (параметры); Label Метки; Const Объявление констант; Type Объявление типов данных; Var Объявление переменных; Procedure, function; Begin Тело главной процедуры; End.
Функции имеют такой же формат, как и процедуры, только они начинаются с заголовка function и заканчиваются типом данных возвращаемого значения:
Function имя функции (параметры): тип данных;
Имеются только два различия между программами, процедурами и функциями: - процедуры и функции имеют заголовок procedure или function, соответственно, а не program; - процедуры и функции заканчиваются точкой с запятой (;), а не точкой (.). Процедуры и функции могут иметь описание своих констант, типов данных, переменных и свои процедуры и функции. Но все эти элементы могут быть использованы только в тех процедурах и функциях, где они объявлены.
Пример программы.
Рассмотрим версию программы DORATIO, в которой используются процедура получения двух значений и функция, определяющая их отношение:
Program DoRatio; Var A, B: Integer; Ratio: Real;
Procedure GetData (var X, Y: Integer); Begin Writeln (‘Введите два числа:’); Readln (X, Y); End;
Function GetRatio (I, J: Real); Begin GetRatio := I / J; End;
Begin GetData (A, B); Ratio:= GetRatio (A, B); Writeln (‘Отношение равно’, Ratio); End.
Это, конечно, не улучшение первоначальной программы, так как она имеет большой размер и медленнее выполняется. Но она показывает как используются и работают процедуры и функции. После компиляции и запуска программы первым выполняется оператор GetData (A, B). Этот тип оператора известен как вызов процедуры. При обработке вызова выполняются операторы в GetData, при этом X и Y (формальные параметры) заменяются на А и В (фактические параметры). Ключевое слово var перед X и Y в операторе вызова GetData говорит о том, что фактические переменные должны быть переменными и что значения переменных могут быть известны и возвращены вызывающей программе. При завершении работы GetData управление возвращается в главную программу на опрератор, следующий за вызовом GetData. Следующий оператор – вызов функции GetRatio. Отметим некоторые отличия. Во-первых, GetRatio возвращает значение, которое должно быть использовано; в этом случае оно присваивается Ratio. Во-вторых, значение присваивается GetRatio в главной программе, этим функция определяет, какое значение возвращается. В-третьих, нет ключевого слова var перед формальными параметрами I и J. Это означает, что они могут быть любыми целочисленными выражениями, такими как Ratio:= GetRatio (A+B, 300); и что если даже их значения будут изменены в функции, то новые значения не возвратятся обратно в вызывающую программу. Кстати, это не является отличием процедуры от функции. Можно использовать оба типа параметров для обоих типов программ.
Комментарии.
Иногда бывает необходимо вставить в программу замечания, напоминающие или информирующие о том, что означает переменная, какое действие выполняет функция или оператор. Эти замечания называют комментариями. Паскаль позволяет вставить в программу сколько угодно комментариев. Комментарий начинается левой фигурной скобкой ({). Она указывает компилятору: игнорировать все, пока не встретится правая фигурная скобка (}). Комментарий может занимать несколько строк:
{Это пример длинного комментария, занимающего несколько строк}
Кроме того, существует альтернативная форма комментария. Начинается “(*” и заканчивается “*)”. Комментарий, начинающийся с “(*” игнорирует все фигурные скобки, и наоборот.
КОНТРОЛЬНЫЕ ЗАДАНИЯ
Вариант №1 1.1 Составить программу определения катета прямоугольного треугольника по известным значениям гипотенузы и второго катета В. 2.1 Разработать программу вычисления функции Предусмотреть вывод данных на экран. 3.1. Вычислить функцию у = 2х2 - 8Sinх (-2< х >3). Найти ее минимум и максимум. Вывести в виде таблицы результаты вычислений. 4.1. С клавиатуры задается последовательность чисел. Найти сумму чисел, предшествующих первому отрицательному в задаваемой последовательности. Вывести сумму чисел, а также те из них, которые лежат в интервале от 1 до 5. Найти число таких чисел.
Вариант№2 1.2 Составить программу вычисления объема полого цилиндра с внешним радиусом R и внутренним r. Высота цилиндра H. 2.2 Ввести с клавиатуры 3 числа, найти среди них наименьшее. Предусмотреть выводы данных на дисплей. 3.2. Вычислить функцию у = Sin 3х (-p< х < p). Предусмотреть вывод данных в виде таблиц. 4.2. Дано положительное число e, и последовательность а1, а2, а3. . . , образованная по следующему закону:
Найти первый член последовательности, для которого выполняется условие: abs(an-an-1)<e. Вывести на экран an и n.
Вариант №3 1.3 Составить программу для определения расстояния пройденного физическим телом за время t. Тело движется с постоянным ускорением А и имеет начальную скорость V. 2.3 Ввести с клавиатуры 4 числа. Найти среди них числа, больше полусуммы введенных чисел. Предусмотреть выводы данных на дисплей. 3.3. Вычислить функцию у = Cos2x (-p< х < p). Предусмотреть вывод данных в виде таблиц. 4.3. Начав тренировки, спортсмен в первый день пробежал х км. Каждый следующий день он увеличивал норму на 10 % от предыдущего дня. Через сколько дней спортсмен будет пробегать больше у км.?
Вариант №4 1.4 Составить программу для определения площади поверхности цилиндра с радиусом основания R и высотой H. 2.4 Ввести с клавиатуры 7 чисел. Вывести на дисплей четные и нечетные числа, указать число четных и нечетных чисел. 3.4. Вычислить функцию у = 2х2 - 6Sinх (-2< х >3). Найти ее минимум и максимум. Вывести таблицу функции. 4.4 Составить таблицу степеней числа 3: 3n, n=1, 2, 3...i Прекращать печатать таблицу, когда 3n превысит заданное число D. Вычисления проводить не используя операцию возведения в степень.
Вариант №5 1.5 Составить программу для определения расстояния на плоскости между двумя точками М1(х1, у1) и М2(х2, у2). 2.5 Ввести с клавиатуры 8 чисел. Найти их среднее значение. Найти числа большие среднего значения и меньшие среднего значения, подсчитать количество тех и других. Предусмотреть выводы данных на дисплей. 3.5. Задать двумерный массив размером 4*3. Просуммировать элементы его столбцов. Результаты представить в виде одномерного массива размером 3. Вывести исходный массив в виде таблицы, полученный в виде строки. 4.5.В очередном году урожайность ячменя составила 20ц с гектара. В среднем каждые два года урожайность увеличивается на 5%. Определить через сколько лет урожайность превысит Nц с га.
Вариант №6 1.6 Составить программу расчета гипотенузы прямоугольного треугольника по известным значениям катетов А и В. 2.6 Ввести с клавиатуры 4 числа, найти среди них наибольшее и наименьшее. Предусмотреть выводы данных на дисплей. 3.6. Задать двумерный массив размером 4*4. Вывести массив в виде таблицы. Предусмотреть вывод элементов задаваемого столбца и задаваемой строки массива. 4.6.Среди последовательности чисел 1, 1+1/2, 1+1/2+1/3, . . . найти первое , большее заданного числа а. Вывести на экран само число и его номер.
Вариант №7 1.7 Разработать программу вычисления объема цилиндра с радиусом основания R и высотой H. 2.7 Ввести с клавиатуры 3 числа. Найти среди них число, расположенное между наименьшим и наибольшим. Предусмотреть выводы данных на дисплей. 3.7. Задать двумерный массив размером 5*5. Вывести массив в виде таблицы. Предусмотреть вывод элементов задаваемого столбца и задаваемой строки массива. 4.7.Вычислить сумму последовательности натуральных чисел. Вычисления прекратить, когда сумма превысит заданное значение N. Вывести сумму и число натуральных чисел, вошедших в вычисленную сумму.
Вариант №8 1.8 Составить программу для определения площади трапеции с высотой h, основанием a и противолежащей стороной b. 2.8 Разработать программу вычисления корней квадратного уравнения ax2+bx+c=0. 3.8. Вычислить функцию у = Sin 3х (-p< х < p). Предусмотреть вывод данных в виде трех таблиц. 4.8. Вычислять произведение последовательности натуральных чисел. Вычисления прекратить, когда произведение превысит заданное значение N. Вывести значение произведения и количество натуральных чисел, вошедших в произведение.
Вариант №9 1.9 Составить программу вычисления площади квадрата, вписанного в окружность радиусом r. 2.9 Ввести с клавиатуры три пары чисел. Определить сумма какой из пар чисел больше. Предусмотреть выводы данных на дисплей. 3.9. Вычислить функцию у = Cos2x (-p< х < p). Предусмотреть вывод данных в виде трех таблиц. 4.9. Цена некоторого изделия ежемесячно возрастает на n%. Определить через сколько месяцев она возрастет в P раз.
Вариант №10 1.10 Составить программу вычисления площади равностороннего треугольника, вписанного в окружность радиусом r. 2.10 Ввести с клавиатуры три пары чисел. Найти произведение каждой пары и определить какое из них минимально. Предусмотреть выводы данных на дисплей. 3.10. Вычислить функцию у = Sin 3х (-3p< х < 3p). Вывести данные в виде таблицы. 4.10. Дано действительное b. Найти среди чисел 1, 1+1/2, 1+1/3.... первое большее b. Определить номер этого числа. |
Последнее изменение этой страницы: 2019-05-08; Просмотров: 157; Нарушение авторского права страницы