Иллюстрированный самоучитель по Turbo Pascal для начинающих

Решения (задачи 165-188)

Задача 177

{ Функция max возвращает максимальное из двух чисел
function max(a,b: integer): integer; begin
if a > b
then max: = a else max: = b; end;

Задача 178

{ Возвращает результат сравнения чисел
в виде символа отношения } function Compare(a,b: real): char; begin
if a > b then Compare: = '>' else
if a < b then Compare: = '<'
else Compare: = '='; end;
x1,x2: real; { сравниваемые числа }
res: char; { результат сравнения } begin
writeln('Введите два числа и нажмите Enter');
write(' › ');
readln(x1,x2);
res: = Compare(x1,x2); (вызов функции программиста }
writeln(xl:6:2,res,x2:6:2);
readln; end.

Задача 179

{ Вычисляет сопротивление электрической цепи }
function Sopr(r1,r2: real; t: integer):
real; (rl,r2 – величины сопротивлений t – тип соединения:
1 – последовательное;
2 – параллельное.
Если тип соединения указан неверно, то возвращает -1 }
begin
if t=1 then Sopr: = r1+r2;
if t=2 then Sopr: = r1*r2/(r1+r2)
else Sopr: = -1; { неверно указан тип соединения}
end;

Задача 180

{ Вычисление степени числа с использованием свойств логарифмов }
function InStep(a,b:real):real;
begin
(А в степени В равно С
Логарифмируем обе части равенства и получаем: В*In (A) = In (С)
Нас интересует значение С, поэтому вычисляем Е в степени В*In(А).
Значение этого выражения равно С,что и требовалось вычислить. }
InStep: = exp(b*ln(a)); end;
var
a: real; { число }
b: real; { степень }
с: real; { число в степени } begin
writeln('Введите число и показатель степени');
readln(a,b);
c: = InStep(a,b);
writeln(a:6:3,' в степени ',Ь:6:3,' = ',с:б:3);
readln; end.
{ вычисляет доход по вкладу }
function Dohod(sum: real; { сумма вклада }
stavka: real; { процентная ставка (годовых) } srok: integer { срок вклада (дней) }): real; begin
Dohod: = sum*(stavka/100/365)*srok; { 365 кол-во дней в году }
end;

Задача 183

{ Проверяет, является ли символ гласной буквой } Function Glasn(sim:char): boolean; const
{ гласные буквы }
ListOfGlasn:string ='АаЕеИиОоУуЫыЭэЮюЯя'; var
p: byte; { позиция проверяемого символа
в списке гласных } begin
p: = Pos(sim,ListOfGlasn); {!!!! } if p о 0 { символ найден в списке }
146
n Glasn: = True else Glasn: = False;
end;

Задача 184

{ Удаляет из строки начальные пробелы } function LTrim(st: string): string; begin
while (posC \st) = 1) and (length (st) > 0) do
delete(st,1.1); LTrim: = st; end;
{ проверка работы функции LTrim} var
s:string[80]; { строка } begin
writeln('Удаление из строки начальных пробелов.');
write('Введите строку – >');
readln (s);
write('Строка без начальных пробелов:',LTrim(s));
readln; end.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.