Фактические и формальные параметры

При описании процедуры (функции) может указываться список формальных параметров. Каждый параметр является локальным по отношению к описываемой процедуре (функции), к нему можно обращаться только в пределах данной процедуры (функции). Фактические параметры – это параметры, которые передаются процедуре (функции) при обращении к ней. Число и тип формальных и фактических параметров должны совпадать.

Локальные и глобальные переменные

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

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

Условие задачи:   Разработать программу перестановки значений переменных A, B, C в порядке возрастания, т.е. так, чтобы A<B<C.   Var A, B,C :Integer; Procedure SWAP(Var X,Y:Integer); Var T: Integer; Begin T:=X; X:=Y; Y:=T; End; Begin Readln(A, B,C); If A>B Then Swap(A,B); If B>C Then Swap(C,B); If A>B Then Swap(A,B); Writeln(A, B,C); End. Пояснение   При вызове процедуры Swap(A,B) управление передается на участок программного кода, занимаемый процедурой Swap. При этом значение переменной А присваивается переменной X, а значение переменной B становится значением переменной Y. При изменении переменной X произойдет изменение значения и переменной A. После выполнения процедуры осуществляется возврат на оператор основной программы, следующий за вызовом процедуры.
Условие задачи:   Разработать программу вычисления суммы трех чисел, используя функцию сложения двух чисел Var A,B,C :Integer; Function SUM (X,Y:INTEGER) : INTEGER; Begin SUM:=X+Y; End; Begin Readln(A, B, C); Writeln(SUM(SUM(A, B ), C) ); End. Пояснение При вызове функции SUM(A,B); управление вычислительным процессом передается на участок программного кода, занимаемый функцией SUM. При этом значение переменной А присваивается переменной X функции SUM, а значение переменной B становится значением переменной Y. Имени функции присваивается результат сложения и осуществляется возврат в основную программу. Результат, полученный после первого вызова функции, подставляется в качестве фактического параметра вместе с переменной С и выполняется второй вызов функции. После возврата из функции управление передается оператору Writeln, который выводит результат функции.

Контрольные вопросы

· Что такое процедура?

· Что такое функция процедура?

· В чем разница между функцией и процедурой?

· Как оформляются определенные в программе функции и процедуры?

· Что такое формальные и фактические параметры?

· Как в программе выполнить процедуру или функцию?

Варианты к лабораторной работе №9

(ваш номер по журналу соответствует номеру варианта)

Задание 1 (определение функции) Задание 2 (определение процедуры)
Для следующей программы написать функцию, которая определяет выполняется ли теорема Пифагора для трех величин. READLN( A,B,C); IF (PIF(A,B,C)=0 ) AND (PIF(B,C,A)=0) AND (PIF(A,C,B)=0) THEN WRITELN(‘НЕ ПРЯМОУГОЛЬНЫЙ» ELSE WRITELN(‘ПРЯМОУГОЛЬНЫЙ’);
Ввести три числа. У каждого числа поменять знак, использовать свою процедуру замены числа на такое же значение с изменением знака.
Ввести два числа. Определить в каком из них сумма цифр больше, используя функцию вычисления суммы цифр одного числа.
Ввести пять слов. В каждом слове заменить буквы А на О. Использовать процедуру замены в строке букв А на О.
Вычислить 4!+7!+2!, используя функцию вычисления факториала.
Ввести три числа. Вывести первые цифры чисел. использовать процедуру замены числа на его первую цифру.
Вычислить НОД(A,B)+НОД(C,B)+НОД(A,C), используя функцию нахождения НОД (наибольшего общего делителя) для двух чисел.
Ввести три числа. Каждое число заменить на остаток от деления числа на 8. Использовать процедуру замены числа остатком от деления на 8 (mod не использовать).
В пятиугольнике известны стороны и диагонали. Найти площадь пятиугольник, используя функцию вычисления площади треугольника по трем сторонам.
Ввести три числа. Каждое число заменить на целую часть от деления на 3. Использовать процедуру замены числа целой частью от деления на 3 (div не использовать).
Получить все шестизначные счастливые числа. Счастливым называют такое число, для которого сумма первых трех его цифр равна сумме последних трех его цифр. Использовать функцию определения суммы цифр трехзначного числа.
Ввести два числа. Найти сумму чисел из первых двух цифр каждого числа, используя процедуру , которая оставляет только первые две цифры числа. Например, даны 1234 и 5432,результат 12+54=66.
Ввести два числа. Найти количество цифр в двух числах, используя функцию вычисления количества цифр в одном числе.
Ввести четыре цифры. Из цифр получить наименьшее число, которое можно получить из этих цифр, используя процедуру перестановки местами значений двух величин.
Найти tg(2x)+tg(3x)/tg(x2), используя функцию вычисления тангенса.
В учебном заведении три компьютерных класса. Ввести площадь каждого класса и количество компьютеров в нем. Для каждого класса вывести сообщение нарушены или не нарушены требования (на 1 ПК не менее 6 кв.м) . использовать свою процедуру проверки и вывода сообщения.
Ввести стороны четырехугольника и его диагональ. Найти площадь четырехугольника, используя в качестве процедуры вычисление площади треугольника по трем сторонам (формула Геррона)
Ввести три слова. В каждом слове заменить буквы О на У. Использовать процедуру замены в строке букв О на У.
Вычислить 53+34+27, используя функцию возведения числа в степень
Отсортировать одномерный массив по убыванию, используя процедуру перестановки местами значений двух величин.
Даны стороны двух треугольников. Найти сумму их площадей, используя функцию вычисления площади треугольника по его сторонам
Разработать программу перестановки значений переменных A, B, C в порядке убывания возрастания, т.е. так, чтобы A>B>C , используя процедуру перестановки двух значений.
Вычислить s=min(a,b,c)+max(b,c)/min(a,c).
Ввести четыре числа. Каждое число заменить на остаток от деления числа на 7. Использовать процедуру замены числа остатком от деления на 7(mod не использовать).
В круглой заготовке радиуса R вырезаны два круглых отверстия радиусы которых R1 и R2. Найти площадь круглой заготовки, используя функцию вычисления площади окружности
Ввести три целых числа каждое число заменить его модулем, используя свою процедуру замены числа на его модуль. (встроенной функцией ABS не пользоваться).
Вычислить z=min(a,3b)*min(2a,-b,2b), используя функцию вычисления минимума из двух значений.
Ввести пять чисел. В каждом числе удалить «хвостовые» цифры 5. (например, дано 2355, результат 23). Использовать процедуру замены исходного числа на значение, полученное после удаления «хвостовых» 5.
Ввести два числа. Найти сумму всех цифр первого и второго числа, используя функцию нахождения суммы одного числа.
Разработать программу перестановки значений переменных A, B, C,D в порядке возрастания, т.е. так, чтобы A<B<C<D.
Ввести пять чисел. Найти сумму максимального и минимального, используя две функции: нахождения минимума из двух значений и максимума из двух значений.
Ввести три цифры. Из цифр получить наименьшее число, которое можно получить из этих цифр, используя процедуру перестановки местами значений двух величин.
Вычислить НОД(A,B,C)+НОД(A,B,C,D), используя функцию нахождения НОД (наибольшего общего делителя) для двух чисел.
Ввести три числа. Найти сумму первых цифр каждого числа, используя процедуру , которая оставляет только первую цифру числа. Например, даны 12 , 520, 231 ,результат 1+5+2=8
Вычислить s=max(a,b)/min(a,c)+max(b,c).
Ввести три числа. Вывести последние цифры чисел. Использовать процедуру замены числа на его последнюю цифру.
Вычислить Y=MIN(A,3B)*MIN(2A-B, 2B), используя функцию нахождения минимума для двух чисел.
Ввести три даты (день, месяц). Для каждой даты вывести сообщение правильно ли дата определена (не существует 32 дня и 13 месяца). Использовать свою процедуру проверки и вывода сообщения.
Даны шесть чисел. Найти максимальное, используя функцию нахождения максимума из двух значений
Ввести четыре числа. В каждом числе удалить «хвостовые» единицы. (например, дано 2311, результат 23). Использовать процедуру замены исходного числа на значение, полученное после удаления «хвостовых» единиц.
Вычислить Фактические и формальные параметры - student2.ru , используя функцию вычисления Фактические и формальные параметры - student2.ru
Ввести три даты (день, месяц). Для каждой даты вывести дату предыдущего дня . Использовать свою процедуру замены введенной даты на дату предыдущего дня.
Вычислить 3!+6!+4!, используя функцию вычисления факториала.
Ввести четыре слова. В каждом слове заменить буквы Е на Н. Использовать процедуру замены в строке букв Е на Н.
Вычислить z=sign(x)+sign(y), где Sign( a)= Фактические и формальные параметры - student2.ru
Отсортировать одномерный массив по возрастанию, используя процедуру перестановки местами значений двух величин.
Ввести десять чисел. Найти минимальное, используя функцию нахождения минимума из двух значений.
Ввести пять вещественных чисел. Каждое число округлить до ближайшего целого. Использовать процедуру замены числа результатом его округления (встроенной функцией ROUND не пользоваться).
Ввести два числа. Определить в каком числе больше цифр, используя функцию определения количества цифр для натурального числа.
Ввести три цифры. Из цифр получить наибольшее число, которое можно получить из этих цифр, используя процедуру перестановки местами значений двух величин.
Ввести шесть различных чисел. Найти максимальное, используя функцию нахождения максимума из двух значений.
Ввести три числа. Вывести сумму цифр каждого числа. Использовать процедуру замены числа на сумму его цифр.
Даны три квадратных уравнения AX2+BX+C=0 BX2+AX+C=0 CX2+AX+B=0 Определить, сколько из них имеют вещественные корни, используя функцию вычисления корней квадратного уравнения.
Ввести четыре цифры. Из цифр получить наибольшее число, которое можно получить из этих цифр, используя процедуру перестановки местами значений двух величин.
Вычислить A3+B4+C7, используя функцию возведения числа в целую степень
Разработать программу перестановки значений переменных A, B, C,D в порядке убывания возрастания, т.е. так, чтобы A>B>C>D.
Вычислить Фактические и формальные параметры - student2.ru , используя функцию вычисления Фактические и формальные параметры - student2.ru
Ввести три числа – номера месяцев. Вывести количество дней в каждом месяце. Использовать свою процедуру замены номера месяца на количество дней в нем
Вычислить tg(x)+tg2(5x)/tg(x2), используя функцию вычисления тангенса.
Ввести три числа. Каждое число заменить на целую часть от деления на 3. Использовать процедуру замены числа целой частью от деления на 3 (div не использовать).
Вычислить s=max(a,b)+min(a,b,c)+max(a,c)
Ввести три числа. В каждом числе удалить «хвостовые» нули. (например, дано 2300, результат 23). Использовать процедуру замены исходного числа на значение, полученное после удаления «хвостовых» нулей.
Ввести восемь чисел. Найти максимальное, используя функцию нахождения максимума из двух значений.
Ввести три даты (день, месяц). Для каждой даты вывести дату следующего дня. Использовать свою процедуру замены введенной даты на дату следующего дня.



ЛАБОРАТОРНАЯ РАБОТА № 10

Тема: Чтение и запись текстовых файлов в программе на TurboPascal 7.0

Цель работы:Изучение особенностей чтения и записи текстовых файлов

Пояснения к работе

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

Наши рекомендации