Возможные ответы на задания для самостоятельного выполнения

Урок 1

print "Строка 1<br>";
print "Строка 2<br>";
print "Строка 3";

Урок 2

Урок 3

$var1="text1";
$var2="text2";
$var3="text3";
$var4=$var1.$var2.$var3;

Урок 4

$temperature="300";
if ($temperature < 0){$msg="Неверное значение температуры"}
elsif ($temperature >= 0 and $temperature <= 273){$msg="Лед"}
elsif ($temperature > 273 and $temperature < 373){$msg="Вода"}
elsif ($temperature >=373){$msg="Пар"}
print $msg;
unless ($var%2 != 1){$mess="не четное"}else{$mess="четное"}
print "$var -$mess число";

Урок 5

print '<font size="4" face="comic sans ms">';
print '<table border="1">';
for($i=1;$i<=9;$i++){
print "<tr>";
	for($u=1;$u<=9;$u++){
	unless($u*$i==1){
if ($u==1 or $i==1){$color="black"}
elsif(($u+$i)%2){$color="red"}
else{$color="green"}
	print "<td bgcolor=\"$color\">";
	print "<font color=\"white\">",$u*$i,"</font>";
	print "</td>";
	}
	else {print "<td align=\"center\" bgcolor=\"black\">";
	print "<font color=\"white\">/</font></td>"}
	}
print "</tr>";
}
print '</table>';
print "</font>";

Ответ на вопрос: Если в теле цикла изменять переменную цикла таким образом, чтобы условие цикла всегда выполнялось, цикл станет вечным, а это является ошибкой программирования.

Урок 6

print '<font face="courier new">';
$i=1;
while($i<=9){
	$u=1;
	until($u>=9){
		if(($u*$i)/10 < 1){print"&nbsp;"}
		unless($u*$i==1){print $u*$i}else{print"&nbsp;"}
		print "&nbsp;";
		$u++;
	}
print"<br>";
$i++;
}
print '</font>';

Урок 7

foreach $i(-28..53){	# см. урок 8
	$flag=1;
	if ($i>0){
	for ($u=$i-1;$u>=2;$u--){
		unless($i%$u){$flag=0;last}
	}
	}else{
	for ($u=$i+1;$u<=-2;$u++){
		unless($i%$u){$flag=0;last}
	}
	}
print "$i " if $flag==1;
}

----

for ($i=-28;$i<=53;$i++){
	unless(($i*($i+1))%7){
	print "($i x ";
	print ($i+1);
	print ") ";
	$i+=2;
	}
}

Урок 8

Можно написать программу с использованием только 2-х переменных, без использования флага.

Урок 9

print "<pre>";
foreach $i('none@myhost.ru','admin@myhost.ru','user@myhost.ru'){
	print "<a href=\"mailto:$i\">$i</a>\n";
}
print "</pre>";

----

$string="i like PERL-programming!";
print "\u$string";

Урок 10

$long=$ENV{'QUERY_STRING'};
if ($long==0 or ""){$long=5;}
print '<font size="4" face="comic sans ms">';
print '<table border="1">';
for($i=1;$i<=$long;$i++){
print "<tr>";
 for($u=1;$u<=$long;$u++){
 unless($u*$i==1){
if ($u==1 or $i==1){$color="black"}
elsif(($u+$i)%2){$color="red"}
else{$color="green"}
 print "<td bgcolor=\"$color\">";
 print "<font color=\"white\">",$u*$i,"</font>";
 print "</td>";
 }
 else {print "<td align=\"center\" bgcolor=\"black\">";
		print "<font color=\"white\">/</font></td>"}
 }
print "</tr>\n";
}
print '</table>';
print "</font>";

----

print $ENV{'QUERY_STRING'} unless ($ENV{'REMOTE_ADDR'} == "127.0.0.1");

Урок 11

&parse_form;

print "<html><head><style>\n";
print "h1{text-align:center}\n";
print "</style></head><body>\n";

if($FORM{'flag'} eq ""){
print <<END;
<h1>Step 1</h1>

END
;
}
elsif($FORM{'flag'} == 1){
if ($FORM{'value'} > 10){$FORM{'value'}=10}
elsif ($FORM{'value'} < 3){$FORM{'value'}=3}
print "<h1>Step 2</h1>\n";
print '<form method="post" action="long.pl">',"\n";
for ($i=1;$i<=$FORM{'value'};$i++){
 print "$i. <input type=\"text\" name=\"t$i\">";
	 print "<input type=\"checkbox\" name=\"c$i\" value=\"1\"><br>\n";
}
print "<input type=\"hidden\" name=\"lines\" value=\"$i\">\n";
print "<input type=\"hidden\" name=\"flag\" value=\"2\">\n";
print "<input type=\"submit\">";
print"</form>";
}elsif($FORM{'flag'} == 2){
print "<h1>Step 3</h1>\n";
for ($i=1;$i<=$FORM{'lines'}-1;$i++){
 if ($FORM{"c$i"}){print "$i. ",$FORM{"t$i"},"<br>\n"}
}
print '<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="long.pl" method="post">';
print '<input type="submit" value="Step 1"></form>';
}

print "</body></html>";

Урок 12

%hash=(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);

@array=%hash;
$size=@array;
for($i=0;$i<=$size;$i++){
	$key=$array[$i];
	$value=$array[$i+1];
	$array[$i]=$value;
	$array[$i+1]=$key;
	$i++;
}
%hash=@array;

Урок 13


$file_path="../HTDOCS/piftable.htm";		# Полный либо относительный путь к файлу
$file_url="http://local.net/piftable.htm";	# URL путь к файлу

$body.='<font face="courier new">';
$i=1;
while($i<=9){
 $u=1;
 until($u>=9){
 if(($u*$i)/10 < 1){$body.="&nbsp;"}
 unless($u*$i==1){$body.=($u*$i)}else{$body.="&nbsp;"}
 $body.="&nbsp;";
 $u++;
 }
$body.="<br>\n";
$i++;
}
$body.='</font>';

open (FV,">$file_path");
print FV $body;
close FV;

print "<a href="javascript:if(confirm('http://pgbook.dax.ru/ \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://pgbook.dax.ru/'"$file_url/"'" tppabs="http://pgbook.dax.ru/"$file_url/"" target=\"_blank\">Открыть результат</a>";

Урок 14

$file_path="../HTDOCS/index.htm";

if (-e $file_path){
open (FV,$file_path);
@index=<FV>;
close FV;
print @index;}

Урок 15

&parse_form;

if ($FORM{'flag'} eq ""){
print '<form action="long.pl">',"\n";
print 'Имя файла: <input type="text" name="file">',"\n";
print '<input type="hidden" name="flag" value="1">',"\n";
print ' <input type="submit"></form>',"\n";}
else{
if (-e $FORM{'file'}){
@true=stat($FORM{'file'});
foreach $i(@true){
 print"$i<br>\n";
}}else{print "Файла $FORM{'file'} не существует."}
}

Урок 16

$file="counter.txt";
$use_flock="yes";

open(FILE,"$file");
flock (FILE,1) if $use_flock eq "yes";

$line=<FILE>;
close(FILE);
open(FILE,">$file");
flock (FILE,2) if $use_flock eq "yes";

$line++;
print FILE "$line";
close FILE;
print "$line"

Урок 17

Урок 18

&parse_form;

srand;
if ($FORM{'flag'} eq ""){
print '<form method="post" action="long.pl">',"\n";
for ($i=1;$i<=10;$i++){
 if ($i==1){$ch="checked"}else{$ch=""}
 do {$a=int(rand(30)-15)} until ($a>0);
 do {$b=int(rand(30)-15)} while ($b==0);
 $c=int(rand(30)-15);
 print "<input type=\"hidden\" name=\"a$i\" value=\"$a\">";
 print "<input type=\"hidden\" name=\"b$i\" value=\"$b\">";
 print "<input type=\"hidden\" name=\"c$i\" value=\"$c\">";
 if ($a==1){$a=""}
 if ($b==1){$b=" + "}elsif($b==-1){$b=" - "}
 elsif($b>0){$b=" + $b"}else{$b=" - ".abs($b)}
 if ($c==0){$c=""}
 elsif($c>0){$c=" + $c"}else{$c=" - ".abs($c)}
 $ura=$a."x&sup2;".$b."x".$c." = 0";
 print "<input disabled type=\"text\" name=\"ur$i\" value=\"$ura\">";
 print "<input type=\"radio\" name=\"n\" value=\"$i\" $ch>";
 print "<br>\n";
}
print "<input type=\"hidden\" name=\"flag\" value=\"1\">";
print "<br><input type=\"submit\" value=\"Решить!\">";
print "</form>";
}else{
$a=$FORM{"a$FORM{'n'}"};
$b=$FORM{"b$FORM{'n'}"};
$c=$FORM{"c$FORM{'n'}"};

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))
}
print '<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="long.pl" method="post">';
print '<input type="submit" value="решить новое ур-ие"></form>';
}

Урок 20

&parse_form;

print <<STOP;
<form method="post" action="long2.pl">
<input type="text" name="a"><br>
<input type="text" name="b"><br>
<input type="text" name="c"><br>
<input type="submit"></form>
STOP
;
unless ($FORM{'a'} eq "" or $FORM{'b'} eq "" or $FORM{'c'} eq ""){
open (FV,">>file.txt");
print FV "$FORM{'a'}++$FORM{'b'}++$FORM{'c'}\n";
close FV;

open (FV,"file.txt");
while ($i=<FV>){
 ($s1,$s2,$s3)=split(/\+\+/,$i);
 if (length($s1)>length($p1)){$p1=$s1;$out1=$s3}
 if (length($s2)>length($p2)){$p2=$s2;$out2=$s3}
}
close FV;

print "<table><tr>";
print "<td>$p1</td><td>$out1</td></tr>";
print "<tr><td>$p2</td><td>$out2</td></tr></table>";
}

Урок 22

sub longout($$){
my (@words,@out,$size);
@words=split(/ /,$_[0]);
$size=@words;
for ($i=0;$i<=$size-1;$i++){
 if (length($words[$i])>$_[1]){@out=(@out,$i+1)}
}
return @out
}

# ПРИМЕР ВЫЗОВА

print longout('This is a lesson number 22',4),"<br>";

Урок 24

srand;
$cells="200";
for ($i=0;$i<=$cells-1;$i++){
 $array[$i]=rand(25);
 $collect+=$array[$i];
}
$center = ($collect/$cells);

for ($i=0;$i<=$cells-1;$i++){
 if ($array[$i] >= $center){@array2=(@array2,$array[$i])}
}
@array=sort(@array2);
foreach $i(@array){
$u++;
print "$u. $i<br>\n"
}

[Содержание]  [Вступление]  [необходимое для начала изучения]  [урок 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]  [приложение Б]  [приложение В]  [заключение]  [благодарности] 


107643

104
15

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


Copyright © ClericICN, 2002 - 2003