Четверг, 28 Марта 2024, 18:08

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Дополнительные темы » Форумные игры » Алгоритмирование (Полезная игра)
Алгоритмирование
zmearДата: Пятница, 24 Августа 2012, 19:41 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Не знал где начинать тему тут, или в общих обсуждениях программистов, вот смысл:
Задается задача, и нужно составить алгоритм её решения:
Например(из задачника):

Программист:
Code

Есть три переменных А, Б, В,   
после ввода значений переменных, нужно Б присвоить значение А, В присвоить значение Б, А присвоить значение В.

Чувачек:
Code

решение(на php):   
<?php
   var $a, $b, $v, $in;
$in = $a;
$a = $v;
$v = $b;
$b = $in;
?>

Я день третий Пхп изучаю мог накосячить)
Значит задача:
напишите программу, определяющую по числу месяца день недели, 1-ое число = суббота.
Сначала ответ, потом ваша задача.
ответы пишем на любом япе, задачи задаем в пределах разумной сложности) Объясню разумную сложность, то что можешь решить сам за... минут 60)))





Сообщение отредактировал zmear - Пятница, 24 Августа 2012, 20:57
404notfoundДата: Пятница, 24 Августа 2012, 20:21 | Сообщение # 2
участник
Сейчас нет на сайте
zmear, сложность у твоих "задач" зашкаливает, смысл в них? Они решаются в 3.5 строчки кода.
zmearДата: Пятница, 24 Августа 2012, 20:29 | Сообщение # 3
почетный гость
Сейчас нет на сайте
так решай и предлагай свою, мы подумаем, я просто побоялся что-то серьезное писать)))


BigPenДата: Пятница, 24 Августа 2012, 20:35 | Сообщение # 4
почетный гость
Сейчас нет на сайте
не то

Сообщение отредактировал BigPen - Пятница, 24 Августа 2012, 20:35
TimKruzДата: Пятница, 24 Августа 2012, 20:47 | Сообщение # 5
старожил
Сейчас нет на сайте
Quote (zmear)
после ввода значений переменных
Quote (zmear)
решение(на php):

Ты в своём решении переменные местами меняешь, а откуда ты значения взял? biggrin И в PHP никаких var не нужно, интерпретатор сам создаёт новые переменные... wacko По крайней мере, это при использовании на сервере... А значения считывать из массивов get или post...
Quote (zmear)
напишите программу, определяющую по числу месяца день недели, 1-ое число = суббота.

Проще на калькуляторе посчитать. biggrin
Code
var m:byte;
begin
      write('Число месяца: ');
      readln(m); //Считываем число месяца
      while m>7 do m:=m-7; //Уменьшаем до интервала 1..7
      case m of
      1: writeln('Суббота');
      2: writeln('Воскресенье');
      3: writeln('Понедельник');
      4: writeln('Вторник');
      5: writeln('Среда');
      6: writeln('Четверг');
      7: writeln('Пятница');
      end;
end;


Quote (zmear)
и предлагай свою, мы подумаем

Задача: используя квантовый компьютер, рассчитать расстояния от Земли до каждого из ближайших трёх пульсаров по не более 6 фотографиям в формате B2MP ("вот вам мегапиксель") участка неба, полученных с разных приборов телескопа на орбите Плутона через ретранслятор на орбите Солнца, используя протокол 0Т-э (транспортировка электронов через гипертоннель) и передавая пакеты не более 1 ПБ (петабайт), с минимальными затратами энергии. Пока будете думать, как раз ретранслятор и всё остальное построят - будет практическое применение, как раз протестируем.
Ведь никаких ограничений на задачи не было, я не ошибся? smile




Сообщение отредактировал TimKruz - Пятница, 24 Августа 2012, 20:52
JeromKidДата: Пятница, 24 Августа 2012, 20:51 | Сообщение # 6
Permanent PM$
Сейчас нет на сайте
Quote (TimKruz)
Ведь никаких ограничений на задачи не было, я не ошибся?

Quote (zmear)
задачи задаем в пределах разумной сложности)

Плосковата щюточка получилась таки.


I can't draw, I can't code
I'm dumb, I'm hillbilly
But I can twerk
So, whatever
zmearДата: Пятница, 24 Августа 2012, 20:54 | Сообщение # 7
почетный гость
Сейчас нет на сайте
Quote (TimKruz)
Задача: используя квантовый компьютер, рассчитать расстояния от Земли до каждого из ближайших трёх пульсаров по не более 6 фотографиям (так уж и быть, в формате BMP) участка неба, полученных с разных приборов телескопа на орбите Плутона через ретранслятор на орбите Солнца, используя протокол 0Т-э и передавая пакеты не более 1 ПБ, с минимальными затратами энергии. Пока будете думать, как раз ретранслятор и всё остальное построят - будет практическое применение, как раз протестируем.
biggrin но
Quote (zmear)
задачи задаем в пределах разумной сложности)

Объясню разумную сложность, то что можешь решить сам за... минут 60)))





Сообщение отредактировал zmear - Пятница, 24 Августа 2012, 20:56
TimKruzДата: Пятница, 24 Августа 2012, 20:55 | Сообщение # 8
старожил
Сейчас нет на сайте
Quote (JeromKid)
Плосковата щюточка получилась таки.

А что, слишком сложно?.. sad Ладно.
Тогда написать программу для расчёта квадратных уравнений, но чтобы не было просто - с вычислением иррациональных корней и округлением строго до пятого знака. И обязательно - "защита от дурака" (проверка корректности ввода), без неё в наше время программы писать нельзя.


BigPenДата: Пятница, 24 Августа 2012, 20:55 | Сообщение # 9
почетный гость
Сейчас нет на сайте
Quote (TimKruz)
Задача: используя квантовый компьютер, рассчитать расстояния от Земли до каждого из ближайших трёх пульсаров по не более 6 фотографиям в формате B2MP ("вот вам мегапиксель") участка неба, полученных с разных приборов телескопа на орбите Плутона через ретранслятор на орбите Солнца, используя протокол 0Т-э (транспортировка электронов через гипертоннель) и передавая пакеты не более 1 ПБ (петабайт), с минимальными затратами энергии.

echo 'Hello World';

Задача: вычислите стоймость вашего трупа
zmearДата: Пятница, 24 Августа 2012, 20:59 | Сообщение # 10
почетный гость
Сейчас нет на сайте
BigPen, ты реши задачу потом выдавай свою сейчас очередь тима, а то что у меня под спойлером в 7 посту, я думал он ничего не задаст.
TimKruz, решаю)))



TimKruzДата: Пятница, 24 Августа 2012, 21:01 | Сообщение # 11
старожил
Сейчас нет на сайте
Quote (BigPen)
Задача: вычислите стоймость вашего трупа

А в качестве входных данных что, труп? Тогда тут всё просто:
Code
var data:TCorpse;
   r:extended;
begin
   r:=analyse_corpse(data);
   writeln('Этот труп стоит примерно ',r:0:2,' у.е.');
   delete_corpse(data);
end.


zmearДата: Пятница, 24 Августа 2012, 21:32 | Сообщение # 12
почетный гость
Сейчас нет на сайте
Quote (TimKruz)
Тогда написать программу для расчёта квадратных уравнений, но чтобы не было просто - с вычислением иррациональных корней и округлением строго до пятого знака. И обязательно - "защита от дурака" (проверка корректности ввода), без неё в наше время программы писать нельзя.

для меня это слишком мощно(( biggrin
Code
var x1,x2,x,a,b,c,d:real;
begin
readln(a); \\значит 1 коэффициент     
readln(b); \\значит 2 коэффициент
readln(c); \\значит 3 коэффициент
if a=0 then \\защита от балбесов
begin
x:=-c/b;
writeln('x = ',x:6:3);
end;
else
begin
d:=b*b-4*a*c; \\дискриминан
if d=0 then
begin
x:=-b/(2*a);
writeln(x:6:3);
end;
if d<0 then writeln('d<0');
if d>0 then
begin
x1:=(-b+sqrt(d))/2*a;
x2:=(-b-sqrt(d))/2*a;
writeln('x1 = ',x1:6:3);
writeln('x2 = ',x2:6:3);
end;
    end;
    end.

если правильно то

иначе ждем способного написать такую программу.
е мае если то иначе меня уже плющит wacko





Сообщение отредактировал zmear - Пятница, 24 Августа 2012, 21:34
TimKruzДата: Пятница, 24 Августа 2012, 22:19 | Сообщение # 13
старожил
Сейчас нет на сайте
Quote (zmear)
if a=0 then \\защита от балбесов

Нет, а если пользователь введёт даже не число, а какой-то недопустимый символ? У тебя будет ошибка ввода/вывода. Правильно будет сначала читать в строку, потом делать val(), и проверять возвращаемый этой процедурой код ошибки - в случае успеха должен быть ноль, в случае провала, если не ошибаюсь, номер ошибочного символа. Либо другой вариант - выключить проверку ввода/вывода (директива {$I-} в Паскале/Делфи, или через настройки среды), и после считывания числа (тут строку использовать не нужно) проверять результат функции ioresult (возвращает код ошибки последней операции ввода/вывода или ноль) - если ноль, данные введены верно.
Вот тогда будет настоящая защита.
Кстати, там у тебя перед else точка с запятой - ошибка. И почему ты пишешь :6:3? Ты получишь шесть знаков до запятой (пустые закрываются пробелами) и три после...
Quote (zmear)
Нужно сделать задачу: пользователь вводит число А (100000>А>0), компьютер должен написать число словами ввел я 553 он пишет "пятьсот пятьдесят три"

Хм... Вообще, конечно, можно написать, но что-то многовато получается... Это надо рассмотреть десятки отдельных случаев, типа "один", "одна", "одиннадцать" и так далее. sad


zmearДата: Суббота, 25 Августа 2012, 07:50 | Сообщение # 14
почетный гость
Сейчас нет на сайте
Quote (TimKruz)
Хм... Вообще, конечно, можно написать, но что-то многовато получается... Это надо рассмотреть десятки отдельных случаев, типа "один", "одна", "одиннадцать" и так далее.

почему? можно много сокращать:
11
"один" + "над" + "цать" это для 11 -19
20
"два" + "д" + "цать" это для 20 30
ну и так далее, структура станет сложнее, зато меньше констант.
но в любом случае:



RUNGOGET2THECHOPAHДата: Суббота, 25 Августа 2012, 15:14 | Сообщение # 15
участник
Сейчас нет на сайте
Quote (zmear)
Определить наибольший общий делитель двух заданных чисел, используя алгоритм Евклида

Code

int ar[2];
printf("A = "); scanf("%i", &ar[0]);
printf("B = "); scanf("%i", &ar[1]);
while (int r = ar[0]%ar[1])
  {
   ar[0]=ar[1];
   ar[1]=r;
  }
printf("NOD(A,B) = %i \n", ar[1]);

Форум игроделов » Дополнительные темы » Форумные игры » Алгоритмирование (Полезная игра)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг