-
Порядок выполнения работы
Для выполнения данной работы необходимо написать программу на языке Pascal, которая будет демонстрировать работу созданной процедуры/функции. Полученное задание необходимо выполнить с помощью процедуры и функции.
Обязательные требования, предъявляемые к созданию процедур и функции
-
Процедуры и функции не должны зависеть от имен глобальных переменных.
-
Названия переменных, констант, процедур, функций должны быть логически обоснованны и давать понятие о том, что в них предполагается хранить или обрабатывать.
-
Программа должна запрашивать входные данные и выводить итоговый результат с пояснениями.
Приведем пример выполнения задания
Задача: Необходимо написать программу на языке Pascal, которая будет находить корни квадратного уравнения. Нахождение корней уравнения необходимо реализовать с помощью процедуры и функции.
Uses Crt;
Var a, b, c: double;
x1, x2: double;
error : boolean;
Procedure PFindSquareRoots(_a, _b, _c: double; var _x1, _x2: double; var err: boolean);
Var D: double;
Begin
D:=sqr(_b)-4*_a*_c;
if (D<0) then
begin
err:=true;
exit;
end;
_x1:=(-_b+sqrt(D))/(2*_a);
_x2:=(-_b-sqrt(D))/(2*_a);
err:=false;
End;
{///////////////////////////////////}
Function FFindSquareRoots(_a, _b, _c: double; var _x1, _x2: double): boolean;
Var D: double;
Begin
D:=sqr(_b)-4*_a*_c;
if (D<0) then
begin
FFindSquareRoots:=false;
exit;
end;
_x1:=(-_b+sqrt(D))/(2*_a);
_x2:=(-_b-sqrt(D))/(2*_a);
FFindSquareRoots:=true;
End;
{///////////////////////////////////}
BEGIN
ClrScr;
Writeln('Данная программа находит корни квадратного уравнения');
Writeln('Введите коэффициенты квадратного уравнения');
Readln(a, b, c);
if (not FFindSquareRoots(a, b, c, x1, x2)) then
Writeln('Function: Error D<0') else Writeln('Function: X1=', x1:5:3, ' X2=', x2:5:3);
PFindSquareRoots(a, b, c, x1, x2, error);
if (error) then Writeln('Procedure: Error D<0')
else Writeln('Procedure: X1=', x1:5:3, ' X2=', x2:5:3);
Readln;
END.
-
Список заданий
Таблица 1
№ варианта |
Задание |
Необходимо создать процедуру и функцию, которая: |
|
|
возводит число в степень; число и степень типа double; |
|
“вырезает” из строковой переменной цифры; |
|
определяет, правильно ли записан брянский телефонный номер; |
|
считает сумму цифр в строковой переменной; |
|
переворачивает строковую переменную; |
|
определяет количество определенных букв в строковой переменной; буква и строковая переменная передаются через фактические параметры; |
Окончание табл. 1
№ варианта |
Задание |
|
вычисляет размер графического растрового файла, если известно ширина, высота и количество памяти на 1 пиксел; результат возвращается в той же структуре (record), что и пришла с данными; |
|
преобразовывает системную дату в следующий формат: 11.07.2003; системную дату можно получить с помощью стандартной процедуры GetDate, которая находится в модуле Dos; |
|
преобразовывает системную дату в следующий формат: 11 февраля 2003г; системную дату можно получить с помощью стандартной процедуры GetDate, которая находится в модуле Dos; |
|
генерирует случайное выпадение одной из сторон монеты: «орел» или «решка»; |
|
вычисляет сумму капитала, положенного в банк под определенный процент; сумма вложения и процентная ставка, а также срок вложения задаются во входных параметрах; каждый год сумма, с которой начисляют проценты, меняется в зависимости от текущего капитала; |
|
определяет процент в рублях от задаваемой суммы; процент и сумма задаются во входных параметрах; |
|
распознает буквенные обозначения аккордов; определяется только минор, мажор, септаккорд; пример: Am7 Формат вывода результата: Септаккорд в Ля минор; |
|
вычисляет необходимое время для передачи файла; известна скорость сети в Кбит/с, размер файла, который необходимо переправить по сети, а также известно, что каждый четвертый пакет размером в 1 байт теряется в сети; |
|
переводит полярные координаты в декартовы; |
|
переводит декартовы координаты в полярные; |
|
определяет, возможен ли такой треугольник, если даны размеры трех сторон треугольника; |
|
выводит уравнение прямой в строковом типе, если известны координаты двух точек; |
|
строит таблицу умножения; |
|
переводит логические координаты в физические; соотношение их между собой задается константой; |
|
определяет, есть ли заданная буква в слове и если есть, то какой ее порядковый номер; |
|
вычисляет количество слогов в слове; |
|
выводит информацию о значении строковой переменной: количество гласных, согласных букв, количество цифр; |