Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2013, 22:17   #1
натал
 
Регистрация: 11.01.2013
Сообщений: 3
Печаль Задачи на ветвление

Доброго времени суток.
С Паскалем приходится работать почти впервые,потому как для дела надо.Имеются 3 задачи,которые непонятны.Сложные,по крайней мере,для меня.Буду век благодарна может не за решения,но хотя бы простые и полезные для будущего советы.
Задача первая:Даны два целых числа - координаты точки в декартовой системе координат. Определить, в какой четверти находится точка.
Входные данные:
Во входном потоке заданы два целых ненулевых числа, значение которых по модулю не превышают 30000.
Выходные данные:
В выходной поток вывести единственное целое число.
Задача вторая:В каждый подарочный набор входит 1 ручка, 2 линейки и 4 тетради. На складе имеется a ручек, b линеек и c тетрадей. Сколько всего подарочных наборов можно собрать?
Входные данные:
Во входном потоке в первой строке задано три целых числа: a, b и c. (0 < a, b, c < 30000)
Выходные данные:
В выходной поток вывести единственное целое число.
Задача третья(код есть,однако правильность относительна,некоторые тесты на сайте не проходит):Определить номер подъезда девятиэтажного дома по указанному номеру квартиры N. Считать, что на каждом этаже находится M квартир.
Входные данные:
Во входном потоке задано единственное целое трехзначное число.
Выходные данные:
В выходной поток вывести единственное целое трехзначное число.
Огромное спасибо за ваше внимание и желание помочь.
натал вне форума Ответить с цитированием
Старый 11.01.2013, 22:45   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Даны два целых числа - координаты точки в декартовой системе координат. Определить, в какой четверти находится точка.
Входные данные:
Во входном потоке заданы два целых ненулевых числа, значение которых по модулю не превышают 30000.
Выходные данные:
В выходной поток вывести единственное целое число.
Примерно так:
Код:
var x,y:integer;
begin
 readln(x);readln(y);
 if (x>0) then    if y>0 then writeln(1) else writeln(2);
 else     if y>0 then writeln(3) else writeln(4);
end.
Цитата:
Определить номер подъезда девятиэтажного дома по указанному номеру квартиры N.
Было уже на форуме. Давай в поиск заряди слово "квартира" или "подьезд"
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.01.2013, 22:58   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

А не так ли ? :
Код:
if (x>0) then    if y>0 then writeln(1) else writeln(4);
 else     if y>0 then writeln(2) else writeln(3);
Задача № 2
Код:
ReadLn (a, b, c);

b := b div 2;
c := c div 4;

// теперь ищем наименьшее из a, b, c и выводим это наименьшее
Poma][a вне форума Ответить с цитированием
Старый 11.01.2013, 23:09   #4
натал
 
Регистрация: 11.01.2013
Сообщений: 3
По умолчанию

Все задачи проходить стараюсь на сайте.Однако третья упорно не хочет пролазить.Все мозги пропарились,причем не у меня одной.Для ясности:есть пример входных данных,обозначенный как input.txt и пример выходных(output.txt).Получается некий такой код:
var input,output:text;
OutPutResult:Integer;
N,M,res:Real;
begin
Assign(input,'input.txt');
Reset(input);
Read(input,n);
Read(input,m);
Close(input);
if N<=1 then Exit;
if M>=1000000000 then Exit;
Res := N/(M*9);
if Res<1.0 then OutPutResult := 1 else
begin
if frac(Res) > 0 then OutPutResult := Trunc(res+1);
if frac(Res) = 0 then OutPutResult := Trunc(res);
end;
Assign(output,'output.txt');
Rewrite(output);
Write(output,Outputresult);
Close(output);
end.


И все равно,3 теста из 10 не проходят.
натал вне форума Ответить с цитированием
Старый 11.01.2013, 23:30   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,427
По умолчанию

Номер подъезда - http://programmersforum.ru/showthread.php?t=214375
Код:
p := (n - 1) div (9 * m) + 1;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 11.01.2013 в 23:34.
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поправьте мой код задачи (Pascal ABC, ветвление) DesignFootball.Ru Паскаль, Turbo Pascal, PascalABC.NET 6 08.06.2011 22:07
Ветвление Raphael Помощь студентам 2 13.10.2010 23:03
Ветвление Woxx Паскаль, Turbo Pascal, PascalABC.NET 6 07.09.2010 17:26
ветвление beygul Помощь студентам 11 25.08.2010 13:20
Несложные задачи на Паскале.Вычислительные операции,цикл,ветвление,массивы. Herenvarno Помощь студентам 16 14.01.2010 18:21