Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Задача на PHP

Сообщения:  [1-10]   [11-15] 

 
 автор: AlMag   (07.02.2007 в 21:33)   письмо автору
 
   для: PatriotRus   (06.12.2006 в 15:31)
 


Создать HTML-форму, в которой пользователь может ввести три числа, являющихся длинами сторон треугольника. Скрипт, обрабатывающий форму, должен вывести сообщение, является ли треугольник прямоугольным.


проверку можно сделать немного проще, чем это сделал [u] Unkind [/u]


<?php
  
if ($_POST['action'])
  {
    
$z=$_POST['first'];
    
$y=&_POST['second'];
    
$x=$_POST['third'];
    
$t=z;
    if (
$z<$y) { $z=$y$y=$t; }
    if (
$z<$x) { $z=$x$z=$t; }
    if (
$z*$z==$x*$x+$y*$y) echo("Треугольник прямоугольный.<br />\n");
                       else echo(
"Треугольник не прямоугольный.<br />\n"); 
  }
echo(
"<form action='".$_SERVER['PHP_SELF']."' method='post'>\n"); 
echo <<< 
FORM 
Первая сторона
:<br /> 
<
input type='text' name='first' /><br /> 
Вторая сторона:<br /> 
<
input type='text' name='second' /><br /> 
Третья сторона:<br /> 
<
input type='text' name='third' /><br /> 
<
input type='hidden' name='action' value='true'
<
input type='submit' value='Проверить'><br /> 
</
form
FORM
?>

   
 
 автор: AlMag   (07.02.2007 в 20:56)   письмо автору
 
   для: PatriotRus   (06.12.2006 в 15:31)
 

>Создать HTML-форму, в которой пользователь может ввести одно число. Скрипт, обрабатывающий форму, должен вывести факториал этого числа (считается, что пользователь не чайник и вводит только натуральные числа). Если число больше 10 – выдать сообщение об ошибке (слишком большое число).



<?php
 
echo("<Center>\n");
 if (isset(
$_POST['fact']))
 {
  
$n=(int)$_POST['fact'];
  
$fact=1;
  if (
$n>10) echo("Слишком большое число \n");
   else
  {
   for (
$i=1$i<=$n$i++) $fact*=$i;
   echo(
"Факториал числа $n равен $fact \n");
  }
  echo(
"<Br> <Br>");
 }
 echo(
"<Form action='' method='post'>\n");
 
printf("Введите число n <Input type='text' name='fact'> <Br>\n");
 
printf("<Br> <Input type='submit' value='Посчитать'>\n");
 
printf("</Form>\n");
 echo(
"</Center>\n");                                      
?>

   
 
 автор: AlMag   (07.02.2007 в 20:35)   письмо автору
 
   для: Unkind   (03.02.2007 в 15:10)
 

>Вывести (циклом!!!) индексы тех его элементов, которые делятся на 5.
>
>ведь $arr[$i] % 5 может быть не только ноль.
>"Делится" - значит остаток равен нулю. То, что нулю НЕ равно, то нам по условию НЕ нужно.

Ну правильно. Если остаток не равен нулю, условие If не выполнится и индекс не напечатается.

   
 
 автор: Unkind   (03.02.2007 в 15:10)   письмо автору
 
   для: Unknown   (31.01.2007 в 18:08)
 

Вывести (циклом!!!) индексы тех его элементов, которые делятся на 5.

ведь $arr[$i] % 5 может быть не только ноль.
"Делится" - значит остаток равен нулю. То, что нулю НЕ равно, то нам по условию НЕ нужно.

   
 
 автор: kasmanaft   (31.01.2007 в 18:52)   письмо автору
 
   для: Unknown   (31.01.2007 в 18:08)
 

>> ведь $arr[$i] % 5 может быть не только ноль.
Воть именно, а по условию нужен толкьо ноль, т.е. остаток от деления равен нулю.
Скрипт выведет индексы ...

   
 
 автор: Unknown   (31.01.2007 в 18:08)   письмо автору
 
   для: Unkind   (26.12.2006 в 14:31)
 

Unkind, твой предпоследний пример не понял. :)
ведь $arr[$i] % 5 может быть не только ноль. Этот скрипт не выведет ни одно из чисел 15, 25, 30, 10 и 5. Или я что-то не так понял.

   
 
 автор: Unkind   (26.12.2006 в 14:31)   письмо автору
 
   для: PatriotRus   (06.12.2006 в 15:31)
 

Создать HTML-форму, в которой пользователь может ввести три числа, являющихся длинами сторон треугольника. Скрипт, обрабатывающий форму, должен вывести сообщение, является ли треугольник прямоугольным.


<?php
    
if($_POST['action'])
    {
    
$first = (int) $_POST['first'];
    
$second = (int) $_POST['second'];
    
$third = (int) $_POST['third'];

    
$array = array($first$second$third);

    
$max max($first$second$third);

        for(
$i 0$i 3$i++)
        {
        if(
$array[$i] == $max) break;
        }

        switch(
$i)
        {
        case 
'0':
        
$x $array[1];
        
$y $array[2];
        break;

        case 
'1':
        
$x $array[0];
        
$y $array[2];
        break;
        
        case 
'2':
        
$x $array[0];
        
$y $array[1];
        break;
        }

        if((
$x $x $y $y) == $max $max)
        {
        echo(
"Треугольник прямоугольный.<br />\n");
        }
        else
        {
        echo(
"Треугольник не прямоугольный.<br />\n");    
        }
    }

echo(
"<form action='".$_SERVER['PHP_SELF']."' method='post'>\n");
echo <<< FORM
Первая сторона:<br />
<input type='text' name='first' /><br />
Вторая сторона:<br />
<input type='text' name='second' /><br />
Третья сторона:<br />
<input type='text' name='third' /><br />
<input type='hidden' name='action' value='true'>
<input type='submit' value='Проверить'><br />
</form>
FORM;
?>


Создать HTML-форму, в которой пользователь может ввести свое имя и пароль. Если пароль равен "secretkey", обрабатывающий форму скрипт должен поприветствовать пользователя. Если одно из полей пустое, должно быть выдано сообщение об ошибке. Если пароль неправильный, должно быть выдано соотв. уведомление.


<?php
    
if($_POST['action'])
    {
    
$username = (string) $_POST['username'];
    
$password = (string) $_POST['password'];

    
$error "";

    if(empty(
$username)) $error .= "Не введено имя пользователя.<br />\n";
    if(empty(
$password)) $error .= "Не введен пароль.<br />\n";

        if(!empty(
$error))
        {
        echo(
$error);
        }
        else
        {
            if(
$password == "secretkey")
            {
            echo(
"Привет, ".$username."!<br />\n");
            }
            else
            {
            echo(
"Неверный пароль.<br />\n");    
            }
        }
    }

echo(
"<form action='".$_SERVER['PHP_SELF']."' method='post'>\n");
echo <<< FORM
Имя пользователя:<br />
<input type='text' name='username' /><br />
Пароль:<br />
<input type='text' name='password' /><br />
<input type='hidden' name='action' value='true'>
<input type='submit' value='Проверить'><br />
</form>
FORM;
?>


Дан массив $arr = array(3,8,15,25,16,11,10,5,7,30). Вывести (циклом!!!) индексы тех его элементов, которые делятся на 5.


<?php
$arr 
= array(3815251611105730);
for(
$i 0$i count($arr); $i++)
{
if(
$arr[$i] % == 0) echo($i."<br />\n");
}
?>


Сгенерировать 3 случайных числа в диапазоне от 0 до 10. Если сумма этих чисел меньше 16, сгенерировать новую тройку.


<?php
do
{
$x rand(010);
$y rand(010);
$z rand(010);
}
while(
$x $y $z 16);
?>

   
 
 автор: DEM   (07.12.2006 в 14:49)   письмо автору
 
   для: AlexSol   (06.12.2006 в 20:58)
 

Поддерживаю... собствено из-за этого и спросил...

   
 
 автор: ddhvvn   (07.12.2006 в 09:22)   письмо автору
 
   для: AlexSol   (06.12.2006 в 20:58)
 

>вы учитесь или вопросы собираете?
>решите сами и покажите ваш вариант, будут ошибки - поправим.

полностью поддерживаю :)

   
 
 автор: AlexSol   (06.12.2006 в 20:58)   письмо автору
 
   для: PatriotRus   (06.12.2006 в 19:05)
 

вы учитесь или вопросы собираете?
решите сами и покажите ваш вариант, будут ошибки - поправим.

   

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования