Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алг яз Лаб 5(I-ИСТ).doc
Скачиваний:
3
Добавлен:
05.11.2018
Размер:
154.11 Кб
Скачать
  1. Порядок выполнения работы

Для выполнения данной работы необходимо написать программу на языке Pascal, которая будет демонстрировать работу соз­данной процедуры/функции. Полученное задание необходимо выпол­нить с помощью процедуры и функции.

Обязательные требования, предъявляемые к созданию процедур и функции

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

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

  3. Программа должна запрашивать входные данные и выводить итоговый результат с пояснениями.

Приведем пример выполнения задания

Задача: Необходимо написать программу на языке 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. Список заданий

Таблица 1

варианта

Задание

Необходимо создать процедуру и функцию, которая:

возводит число в степень; число и степень типа double;

“вырезает” из строковой переменной цифры;

определяет, правильно ли записан брянский телефонный номер;

считает сумму цифр в строковой переменной;

переворачивает строковую переменную;

определяет количество определенных букв в строковой перемен­ной; буква и строковая переменная передаются через фактические параметры;

Окончание табл. 1

варианта

Задание

вычисляет размер графического растрового файла, если известно ширина, высота и количество памяти на 1 пиксел; результат возвра­щается в той же структуре (record), что и пришла с данными;

преобразовывает системную дату в следующий формат: 11.07.2003; системную дату можно получить с помощью стандартной проце­дуры GetDate, которая находится в модуле Dos;

преобразовывает системную дату в следующий формат: 11 февраля 2003г; системную дату можно получить с помощью стандартной процедуры GetDate, которая находится в модуле Dos;

генерирует случайное выпадение одной из сторон монеты: «орел» или «решка»;

вычисляет сумму капитала, положенного в банк под определенный процент; сумма вложения и процентная ставка, а также срок вложения задаются во входных параметрах; каждый год сумма, с которой начисляют проценты, меняется в зависимости от текущего капитала;

определяет процент в рублях от задаваемой суммы; процент и сумма задаются во входных параметрах;

распознает буквенные обозначения аккордов; определяется только минор, мажор, септаккорд; пример: Am7 Формат вывода резуль­тата: Септаккорд в Ля минор;

вычисляет необходимое время для передачи файла; известна скорость сети в Кбит/с, размер файла, который необходимо пере­править по сети, а также известно, что каждый четвертый пакет раз­мером в 1 байт теряется в сети;

переводит полярные координаты в декартовы;

переводит декартовы координаты в полярные;

определяет, возможен ли такой треугольник, если даны размеры трех сторон треугольника;

выводит уравнение прямой в строковом типе, если известны коор­динаты двух точек;

строит таблицу умножения;

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

определяет, есть ли заданная буква в слове и если есть, то какой ее порядковый номер;

вычисляет количество слогов в слове;

выводит информацию о значении строковой переменной: количес­тво гласных, согласных букв, количество цифр;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]