Возможные ответы на задания для самостоятельного выполнения
Урок 1
print "Строка 1
"; print "Строка 2
"; 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 ''; print ' '; for($i=1;$i<=9;$i++){ print "
'; print "";"; 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 " "; } print '"; print "",$u*$i,""; print " "; } else {print ""; print "/ "} } print "
Ответ на вопрос: Если в теле цикла изменять переменную цикла таким образом, чтобы условие цикла всегда выполнялось, цикл станет вечным, а это является ошибкой программирования.
Урок 6
print ''; $i=1; while($i<=9){ $u=1; until($u>=9){ if(($u*$i)/10 < 1){print" "} unless($u*$i==1){print $u*$i}else{print" "} print " "; $u++; } print"
"; $i++; } print '';
Урок 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 " print "<a href=\"mailto:$i\">$i</a>\n";"; foreach $i('none@myhost.ru','admin@myhost.ru','user@myhost.ru'){} print "
----
$string="i like PERL-programming!"; print "\u$string";
Урок 10
$long=$ENV{'QUERY_STRING'}; if ($long==0 or ""){$long=5;} print ''; print ' '; for($i=1;$i<=$long;$i++){ print "
'; print "";"; 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 " \n"; } print '"; print "",$u*$i,""; print " "; } else {print ""; print "/ "} } print "
----
print $ENV{'QUERY_STRING'} unless ($ENV{'REMOTE_ADDR'} == "127.0.0.1");
Урок 11
&parse_form; print "\n"; if($FORM{'flag'} eq ""){ print < Step 1 END ; } elsif($FORM{'flag'} == 1){ if ($FORM{'value'} > 10){$FORM{'value'}=10} elsif ($FORM{'value'} < 3){$FORM{'value'}=3} print " Step 2
\n"; print '"; }elsif($FORM{'flag'} == 2){ print "Step 3
\n"; for ($i=1;$i<=$FORM{'lines'}-1;$i++){ if ($FORM{"c$i"}){print "$i. ",$FORM{"t$i"},"
\n"} } print ''; } print "";
Урок 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.=''; $i=1; while($i<=9){ $u=1; until($u>=9){ if(($u*$i)/10 < 1){$body.=" "} unless($u*$i==1){$body.=($u*$i)}else{$body.=" "} $body.=" "; $u++; } $body.="
\n"; $i++; } $body.=''; open (FV,">$file_path"); print FV $body; close FV; print "Открыть результат";
Урок 14
$file_path="../HTDOCS/index.htm"; if (-e $file_path){ open (FV,$file_path); @index= ; close FV; print @index;}
Урок 15
',"\n";} else{ if (-e $FORM{'file'}){ @true=stat($FORM{'file'}); foreach $i(@true){ print"$i&parse_form; if ($FORM{'flag'} eq ""){ print '
Урок 16
$file="counter.txt"; $use_flock="yes"; open(FILE,"$file"); flock (FILE,1) if $use_flock eq "yes"; $line= ; close(FILE); open(FILE,">$file"); flock (FILE,2) if $use_flock eq "yes"; $line++; print FILE "$line"; close FILE; print "$line"
Урок 17
Урок 18
"; }else{ $a=$FORM{"a$FORM{'n'}"}; $b=$FORM{"b$FORM{'n'}"}; $c=$FORM{"c$FORM{'n'}"}; sub info(){ $Ds=sqrt($D); print "D = $D, Sqtr(D) = $Ds&parse_form; srand; if ($FORM{'flag'} eq ""){ print '
Урок 20
&parse_form; print <
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=){ ($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 " "; }
"; print " "; print "$p1 $out1 $p2 $out2
Урок 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),"
";
Урок 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
\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] [приложение Б] [приложение В] [заключение] [благодарности]
|
![]() ![]() |