Вернуться на сайт гостевой книги Power Perl Educaton Help Download Links Off-line version

Урок 18. Работа с числами

Функция ABS

Возвращает абсолютное значение выражения

Функция COS

Возвращает косинус выражения в радианах

Функция EXP

Возвращает e (основание натурального логарифма) в степени выражения

Функция HEX

Воспринимает выражение как строку шестнадцатеричных цифр и возвращает десятичное значение

Функция INT

Возвращает целую часть выражения

Функция LOG

Возвращает натуральный логарифм выражения

Функция OCT

Возвращает десятичное число, представленное восьмеричными цифрами

Функция SCALAR

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

Функция SIN

Возвращает в радианах синус выражения

Функция SQRT

Возвращает корень квадратный выражения

Функция Rand

Возвращает псевдослучайное число в диапазоне от 0 до значения, указанного в аргументе. Если аргумент отсутствует, то от 0 до 1.

Функция Srand

Задает начальное значение для генератора случайных чисел. Если аргумент отсутствует, то используется текущее машинное время.

* * * *

Напишем программу, находящую корни квадратного уравнения:

#!/usr/bin/perl
# programm 18

print "Content-type: text/html\n\n";

&parse_form;

$a=$FORM{'a'};
$b=$FORM{'b'};
$c=$FORM{'c'};

print <<EOF;
<form action="javascript:if(confirm('http://www.wallst.ru/err/error.phtml?err=404 \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.wallst.ru/err/error.phtml?err=404'" tppabs="big.pl?a=&b=&c=" method="get">
<input size="1" name="a">X<sup>2</sup>
+ <input size="1" name="b">X
+ <input size="1" name="c"> = 0
<br><input type="submit">
</form>
EOF
;

sub info(){
$Ds=sqrt($D);
print "<i><b>D</b></i> = $D, <b><i>Sqtr(D)</i></b> = $Ds<BR>\n";
}

print "<b>A=$a, B=$b, C=$c</b><br><br>\n";

$D=(($b**2)-4*$a*$c);
if ($D<0){print "Ур-ие корней не имеет"}
elsif ($D==0){
info;
print "Ур-ние имеет один корень:";
print ((-$b+$Ds)/(2*$a));
}
elsif ($D>0){
info;
print "Первый корень: ",((-$b+$Ds)/(2*$a));
print "<br>\n";
print "Второй корень: ",((-$b-$Ds)/(2*$a))
}

На мой взгляд, это единственная программа, реализованная абсолютно на всех языках программирования.

* * * *

Введите проверку деления на 0 в программе 18.

Напишите программу, которая создает 10 случайных квадратных уравнений и предлагает пользователю выбрать какое из них она будет решать. Диапазон колебания значений a,b,c - (-15..15) включительно, с шагом 1.

[Содержание]  [Вступление]  [необходимое для начала изучения]  [урок 1]  [урок 2]  [урок 3]  [урок 4]  [урок 5]  [урок 6]  [урок 7]  [урок 8]  [урок 9]  [урок 10]  [урок 11]  [урок 12]  [урок 13]  [урок 14]  [урок 15]  [урок 16]  [урок 17]  [урок 18]  [урок 19]  [урок 20]  [урок 21]  [урок 22]  [урок 23]  [урок 24]  [урок 25]  [урок 26]  [урок 27]  [урок 28]  [правила хорошего тона]  [приложение A]  [приложение Б]  [приложение В]  [заключение]  [благодарности] 


107630

91
15

HOLMS.ru Counter -эфхъё ЎшЄшЁютрэш  Counter CO.KZ


Copyright © ClericICN, 2002 - 2003