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

Разное

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Решить задачу на Pascal с исп. Boolean
 
 автор: Alexx   (12.04.2007 в 00:22)   письмо автору
 
 

Нужно решить задачу с исп Boolean.

1 Даны три целых числа: A, B, C. Проверить истинность высказыва-
ния: "Ровно одно из чисел A, B, C положительное"

2 Даны четыре целых числа, одно из которых отлично от трех других, рав-
ных между собой. Определить порядковый номер числа, отличного от ос-
тальных.

3 Элементы равностороннего треугольника пронумерованы следующим
образом: 1 — сторона a, 2 — радиус R1 вписанной окружности (R1 =
= 3 /6 a ), 3 — радиус R2 описанной окружности (R2 = 2•R1), 4 — площадь
S = 2 3 /4 a . Дан номер одного из этих элементов и его значение. Вывести
значения остальных элементов данного треугольника (в том же порядке). 23

4 Дано целое число N (> 0). Найти произведение
N! = 1•2•…•N
(N–факториал). Чтобы избежать целочисленного переполнения, вычис-
лять это произведение с помощью вещественной переменной и вывести
его как вещественное число.

   
 
 автор: ddhvvn   (12.04.2007 в 18:31)   письмо автору
 
   для: Alexx   (12.04.2007 в 00:22)
 

Ну так решайте! :))

В чем проблема? Вы НЕ на xаlyava.ru :D

   
 
 автор: Alexx   (12.04.2007 в 18:46)   письмо автору
 
   для: ddhvvn   (12.04.2007 в 18:31)
 

Может ктонибудь поможет? Найти оптимальный вариант для 1 ой задачи? и для остальных?

   
 
 автор: SHAman   (12.04.2007 в 19:19)   письмо автору
 
   для: Alexx   (12.04.2007 в 00:22)
 

1) Проверяем поочереди числа. Ведем счетчик положительных чисел. Если число положительно, то наращиваем счетчик. Если счетчик равен 1(или 2, в зависимости от чего считаем), то возвращаем false, ибо уже есть два положительных числа, а не одно, как требуется.

2) Берем первое число, сравниваем со вторым.
Если равны, то сравниваем другие два, они будут не равны.
Когда числа не равны, берем одно из них и сравниваем с каким угодно другим, но не с тем же самым. Если они равны, значит оставшееся число - и есть то самое, искомое.

3) лень читать задание

4) Пишем простую рекурсивную функцию. Классическая задачка. Думаю, если набрать в гугле "рекурсия", можно наткнуться на решение как раз задачи про факториал : )

   
 
 автор: Trianon   (12.04.2007 в 19:28)   письмо автору
 
   для: SHAman   (12.04.2007 в 19:19)
 

4) Пишем простую рекурсивную функцию. Классическая задачка. Думаю, если набрать в гугле "рекурсия", можно наткнуться на решение как раз задачи про факториал : )

Если за рекурсивное вычисление факториала преподаватель не поставит двойку - его надо уволить по профнепригодности.
Потому что факториал - классический пример задачи, которую нельзя решать рекурсией.

   
 
 автор: SHAman   (13.04.2007 в 18:04)   письмо автору
 
   для: Trianon   (12.04.2007 в 19:28)
 

Ваш вариант?

   
 
 автор: Trianon   (13.04.2007 в 18:40)   письмо автору
 
   для: SHAman   (13.04.2007 в 18:04)
 

На С:

double fac(int arg) 
{ double x = 1.0; while(arg > 0) x *= arg; return x; }


Паскаль давно не трогал , могу и подзабыть. Но как-то так:

procedure fac(arg:integer):real;
var x:real; i:integer; 
begin x:= 1.0; i = arg; while i > 0 do x := x * i; fac := x; end;

Или Вы о примере, которым можно иллюстрировать рекурсию?
Квиксорт, Функция аккермана, обход дерева в глубину. альфа-бета-процедура.
Этих примеров, к сожалению, слишком много, чтоб к ним еще и искусственные добавлять.

   
 
 автор: SHAman   (13.04.2007 в 18:50)   письмо автору
 
   для: Trianon   (13.04.2007 в 18:40)
 

Да, прошу прощения. Я думал, там в условии задачи сделать рекурсией :) Тем не менее, сколько ни слышал про рекурсию - всегда разбирают факториалы, как самый простой пример, хоть и надуманный.

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

   
Rambler's Top100
вверх

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