Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Minmax(min_t,max_t,number,min_t,max_t)




Break

Begin

End.

Примеры применения подпрограмм

Рассмотрим примеры использования подпрограмм для решения задач.

Пример 1. Разработать программу, в которой осуществляется:

a) ввод основания степени а (положительное вещественное число) и показателя степени х (вещественное число),

б) расчет значения степени аx и вывод его на экран.

В программе должна быть функция degree, обеспечивающая возведение в вещественную степень x положительного вещественного числа a путем применения формулы аx = exр(x ×ln a).

Решение. В основной программе вводим глобальные переменные osn (основание)и pok (показатель). Код программы с подробными комментариями:

var osn, pok: real; { глобальные параметры программы}

function degree (a, x: real): real;

begin {начало описания функции }

degree:= exp (x * ln (a));{ присвоение имени функции результата вычислений}

end; { завершение описания функции }

begin {начало основной программы }

writeln(’Vvedite osnovanie stepeni (>0)’);read(osn); {запрос на ввод, ввод основания}

writeln (’Vvedite pokazatel stepeni’); read (pok); {запрос на ввод, ввод показателя}

writeln (’Znachenie stepeni = ’, degree (osn, pok)); {вывод результата}

Пример 2. Разработать программу, в которой осуществляется:

a) неограниченный по количеству итераций циклический ввод целых чисел,

б) среди них определяется минимальное (min) и максимальное (max) значения,

в) после каждого ввода числа на экран выводится сводка о текущих значениях min и max,

г) после окончания работы программы на экран выводится итоговый результат.

В начале каждой итерации цикла необходимо выдать запрос на ввод:

a) символа “s”, по которому производится окончание работы программы,

б) целого числа, которое используется в расчетах программы.

В программе предусмотреть использование процедуры minmax (a,b,c,min,max), которая выбирает минимальное и максимальное значения из входных параметров a,b,c и присваивает их выходным параметрам min,max. Если в программе не было введено ни одного числа, в результирующем выводе указать: “min,max is not defined” (не определены).

Решение. Введем в основной программе глобальные параметры: number – вводимое число, min_t, max_t - текущие значения min и max, символьную переменную stop для запроса об окончании работы программы, дополнительный логический признак pr, который равен True, если хотя бы одно число введено в программу, False - если числа не вводились. Для обеспечения “бесконечного” цикла используем конструкцию while True do. Код программы с подробными комментариями:

var number,min_t,max_t:integer; stop:char; pr:boolean; { глобальные параметры}

procedure minmax(a,b,c:integer; var min,max:integer);

begin {начало описания процедуры }

if a<=b then begin min:=a; max:=b end else begin min:=b; max:=a end;

if min>c then min:=c; if max<c then max:=c;

end; { завершение описания процедуры }

begin {начало основной программы }

pr:=false;

while True do {оглавление бесконечного цикла}

begin {открытие тела бесконечного цикла}

Write(’Enter request to cycle stop(s-yes, others-no)’); {запрос окончания цикла}

Readln(stop); {получение ответа от пользователя}

if(stop='s')then { действия при выходе из цикла}

Writeln(’LOOP EXIT!’);

If pr then Writeln(’Rezult: min=’, min_t, ’ max=’, max_t)

else Writeln(’Rezult: min, max is not defined!’);

end;

Write(’Enter integer:’);Readln(number); {Ввод запроса и получение целого числа}

if pr then { Действия при получении второго и всех следующих чисел}

else {Действия при получении первого числа}

begin pr:=true; min_t:= number; max_t:= number end;

Writeln(’Current: min=’, min_t, ’ max=’, max_t);

end; { выход из бесконечного цикла}

end. {выход из основной программы }

Практическое задание.

1. Разработать программу, в которой производится расчет произведенияпричем сos(x) рассчитывается в отдельной функции сosx по приближенной формуле: сos(x)»1-0,5 x 2. Результат вывести с точностью до 20 десятичных знаков.




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 345; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.