PHP-практикум. Қисми 1. Массив

Печать

Дар ин қисм ҳалли баъзе мисолҳои стандартӣ аз асосҳои барномасозӣ бо истифодаи забони барномасозии PHP оварда шудаанд.

M001. Массиви ададҳо а0,...,аn-1 дода шудааст. Муайян карда шавад, ки оё дар массиви додашуда ду адади мусбати паси ҳам омада мавҷуданд. Миқдори чунин ҷуфтҳо шуморида шавад.

<?php
$x=array();
for($i=0;$i<10;$i++)
$x[$i]=rand(-50,50);
$n=count($x);
echo "N=$n<br>";
$p=0;
for($i=0;$i<$n-1;$i++){
echo"$i|$x[$i]<br>";
if($x[$i]>0 and $x[$i+1]>0) $p++;
}
echo"$i|$x[$i]<br>";
echo "Миқдори ҷуфтҳо - $p";
?>

M002. Ададҳои ҳақиқии а0,...,аn-1 дода шудаанд. Суммаи аъзоҳои мусбат ва ҳосили зарби аъзоҳои ҷуфти массиви додашуда ҳисоб карда шаванд. Агар чунин аъзоҳо мавҷуд набошанд, паём бароварда шавад.

<?php
$n=10;
$x=array();
for($i=0;$i<$n;$i++)
$x[$i]=rand(-50,50);
$s=0;
$p=1;
for($i=0;$i<$n;$i++){
echo "$i|$x[$i]<br>";
if($x[$i]>0) $s+=$x[$i];
$r=2*(int)($x[$i]/2);
if($x[$i]==$r) $p*=$x[$i];
}
if($s==0)
echo "Ададҳои мусбат вуҷуд надоранд<br>";
else
echo "Суммаи ададҳои мусбат: $s <br>";
if($p==1)
echo "Ададҳои ҷуфт вуҷуд надоранд<br>";
else
echo "Ҳосили зарби ададҳои ҷуфт: $p";
?>

M003. Агар дар массиви додашудаи ададҳои ҳақиқии а0,...,аn-1 ақалан якто аъзои аз -2 хурд мавҷуд бошад, он гоҳ ҳамаи аъзоҳои манфӣ бо квадраташон иваз карда шаванд.

<?php
$x=array();
for($i=0;$i<10;$i++)
$x[$i]=rand(-15,50);
$n=count($x);
for($i=0;$i<$n;$i++)
echo "$i|$x[$i]<br>";
$fl=0;
$i=0;
while($fl==0 && $i<$n){
if($x[$i]<-2) $fl=1;
$i++ ;
}
echo "<p>";
if($fl==1){
for($i=0;$i<$n;$i++)
if($x[$i]<0) $x[$i]*=$x[$i];
}
for($i=0;$i<$n;$i++)
echo "$i|$x[$i]<br>";
?>

M004. Дар барнома массиви иборат аз ададҳои бутуни аз 2 то N сохта шавад. Суммаи квадрати ададҳои ҷуфт ва суммаи квадрати ададҳои тоқ ҳисоб карда шаванд.

<?php
$N=12;
$N-=1;
for($i=0;$i<$N;$i++)
$x[$i]=$i+2;
for($i=0;$i<$N;$i++)
echo "$i|$x[$i]<br>";
$sum_even=0;
$sum_odd=0;
for($i=0;$i<$N;$i+=2)
$sum_even+=$x[$i]*$x[$i];
for($i=1;$i<$N-1;$i+=2)
$sum_odd+=$x[$i]*$x[$i];
echo "Суммаи квадрати ададҳои ҷуфт: $sum_even<br>";
echo "Суммаи квадрати ададҳои тоқ: $sum_odd<br>";
?>

M005. Массиви а0,...,а23 маълумот оиди ченкунии ҳарорати ҳаво дар давоми рӯзро дарбар мегирад. Ҳароратҳои максималӣ, минималӣ ва миёнаи ҳаво ёфта шаванд.

<?php
$N=24;
for($i=0;$i<$N;$i++)
$x[$i]=rand(22,38);
for($i=0;$i<$N;$i++)
echo "$i, $x[$i]<br>";
$max=$x[0];
$min=$x[0];
$s=$x[0];
for($i=1;$i<$N;$i++){
if($max<$x[$i]) $max=$x[$i];
if($min>$x[$i]) $min=$x[$i];
$s+=$x[$i];
}
$avg=$s/$N;
echo "Max = $max<br>";
echo "Min = $min<br>";
echo "Қимати миёна = $avg<br>";
?>

M006. Массиви ададҳои бутуни а0,...,аn-1 дода шудааст. Муайян карда шавад, ки оё дар массиви додашуда ақалан якто адади тоқи манфӣ мавҷуд аст ва мавқеи он дар массив муайян карда шавад.

<?php
$N=10;
for($i=0;$i<$N;$i++)
$x[$i]=rand(-22,22);
for($i=0;$i<$N;$i++)
echo "$i, $x[$i]<br>";
$i=0;
$flag=true;
while($i<$N && $flag){
if($x[$i]<0){
$r=2*(int)($x[$i]/2);
if($x[$i]<>$r) $flag=false;
}
$i++;
}
if(!$flag) echo "INDEX: ",$i-1;
?>

M007. Массиви ададҳои бутуни а0,...,аn-1 дода шудааст. Миқдор ва суммаи он аъзоҳои массив, ки ба 5 тақсим мешаванду лекин ба 7 тақсим намешаванд, ёфта шаванд.

<?php
$n=10;
$x=array();
for($i=0;$i<$n;$i++)
$x[$i]=rand(1,40);
for($i=0;$i<$n;$i++)
echo"$i|$x[$i] <br>";
$i=0;
$p=0;
$s=0;
while($i<$n ) {
$r=5*(int)($x[$i]/5);
if($x[$i]==$r)
if($r<>7*(int)($r/7)) {
$s+=$r;
$p++;
}
$i++;
}
echo "Миқдор: $s<br>";
echo "Сумма: $p<br>";
?>

M008. Массиви ададҳои ҳақиқии а0,...,аn-1 дода шудааст. Миқдори аъзоҳои манфии массиви додашуда ва ҳосили зарби аъзоҳои ба порчаи [b,d] тааллуқ дошта ҳисоб карда шаванд.

<?php
$n=10;
for($i=0;$i<$n;$i++)
$x[$i]=rand(-10,20);
for($i=0;$i<$n;$i++)
echo "$i|$x[$i]<br>";
$b=1;
$d=10;
$k=0;
$p=1;
for($i=0;$i<$n;$i++){
$r=$x[$i];
if($r<0) $k++;
if($r>=$b && $r<=$d) $p*=$r;
}
echo "Миқдори аъзоҳои манфӣ: $k";
echo "Ҳосили зарби аъзоҳои аз [b,d]: $p<br>";
?>

M009. Массиви ададҳои бутуни а0,...,аn-1 дода шудааст. Ҳамаи ҷуфтҳои (аii+1), ки аi<=3 ва аi+1<0 ҳастанд, ёфта шаванд. Агар чунин ҷуфтҳо мавҷуд набошанд, паём бароварда шавад.

<?php
$N=10;
for($i=0; $i<$N; $i++)
echo $i,": ",$x[$i]=rand(-20,20),"<br>";
$fl=0;
for($i=0; $i<$N-1; $i++) {
if($x[$i]<=3 && $x[$i+1]<0) {
$fl=1;
echo "x[",$i,"]=",$x[$i]," x[",$i+1,"]=",$x[$i+1],"<br>";
}
}
if(!$fl)
echo "Ҷуфтҳои талабшаванда нестанд<br>";
?>

M010. Массиви ададҳои бутуни а0,...,аn-1 дода шудааст. Ҳамаи ҷуфтҳои (аii+1), ки аi=0 ва аi+1 ба 2 каратӣ ҳастанд, ёфта шаванд.

<?php
$N=10;
for($i=0; $i<$N; $i++)
echo $i,": ",$x[$i]=rand(-8,8),"<br>";
for($i=0; $i<$N-1; $i++)
if($x[$i]==0 && $x[$i+1]==2*(int)($x[$i+1]/2))
echo "x[",$i,"]=",$x[$i]," x[",$i+1,"]=",$x[$i+1],"<br>";
?>

Произведение «OFTOB.COM» публикуется на условиях лицензии Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Непортированная.