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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2012, 17:23   #1
Ксения Григорьева
Новичок
Джуниор
 
Регистрация: 18.10.2012
Сообщений: 6
По умолчанию Pascal ABC

1. Дано два числа a и b. Выведите гипотенузу треугольника с заданными катетами.
2. Электронные часы показывают время в формате h:mm:ss, то есть сначала записывается количество часов, потом обязательно двузначное количество минут, затем обязательно двузначное количество секунд. Количество минут и секунд при необходимости дополняются до двузначного числа нулями.
С начала суток прошло n секунд. Выведите, что покажут часы.
3. Дано четырехзначное число. Определите, является ли его десятичная запись симметричной. Если число симметричное, то выведите 1, иначе выведите любое другое целое число. Число может иметь меньше четырех знаков, тогда нужно считать, что его десятичная запись дополняется слева незначащими нулями.
При решении этой задачи нельзя пользоваться условной инструкцией if и циклами
Ксения Григорьева вне форума Ответить с цитированием
Старый 18.10.2012, 17:38   #2
Ксения Григорьева
Новичок
Джуниор
 
Регистрация: 18.10.2012
Сообщений: 6
По умолчанию

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

program z1;
var a,b,c:real;
begin
readln (a,b);
c:=sqrt(a*a+b*b);
writeln (c:1:1);
end.
Ксения Григорьева вне форума Ответить с цитированием
Старый 18.10.2012, 17:39   #3
Ксения Григорьева
Новичок
Джуниор
 
Регистрация: 18.10.2012
Сообщений: 6
По умолчанию

program z;
var n:integer;
h,mm,ss:integer;
begin
readln (n);
h:=n div 3600;
mm:=(n mod 360)div 60;
ss:=(n mod 60);
write (h mod 24,':');
if mm<10 then write ('0',mm,':')
else write (mm,':');
if ss<10 then write ('0',ss)
else write (ss);
end.
Ксения Григорьева вне форума Ответить с цитированием
Старый 18.10.2012, 17:39   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,318
По умолчанию

3я - http://programmersforum.ru/showpost....4&postcount=11
Код:
program z3;
var
  a: integer;
begin
  readln(a);
  writeln(integer((a div 1000 = a mod 10) and (a div 100 mod 10 = a div 10 mod 10)));
end.
Есть кнопочка "Правка", с ее помощью можно дописывать свои сообщения.
А что за сайт?
Код:
program z1;
var
  a, b, c: double;
begin
  readln(a, b);
  c := sqrt(a*a+b*b);
  writeln(c);
end.
Попробуйте так - должно проходить (посмотрел - у меня почти такое же решение прошло все тесты. Все дело в формате вывода).

Для оформления кода используйте кнопочку #.

Вторая задача у Вас, вроде, нормально работает, а что говорит сайт?

Update Зря игнорируете совет про Правку - можно и предупреждение схлопотать.
Знакомый сайт
Скажите тогда и номера задачек.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 18.10.2012 в 17:53.
BDA вне форума Ответить с цитированием
Старый 18.10.2012, 17:39   #5
Ксения Григорьева
Новичок
Джуниор
 
Регистрация: 18.10.2012
Сообщений: 6
По умолчанию

program z1;
var a, b: longint;
begin
readln(a);
b:= a;
a:= a div 1000;
b:= b mod 1000;
case a of
11, 22, 33, 44, 55, 66, 77, 88, 99: writeln(' ',a );
end;
writeln(' ',a);
writeln(' ',b);
end.
Ксения Григорьева вне форума Ответить с цитированием
Старый 18.10.2012, 17:48   #6
Ксения Григорьева
Новичок
Джуниор
 
Регистрация: 18.10.2012
Сообщений: 6
По умолчанию

http://informatics.mccme.ru
Пишет что неправильный ответ
Дистанционная подготовка / ► Ввод-вывод / ► Задачи на ввод-вывод и арифметические операции/задачи L и T
про часы задача прошла, а про гипотенузу нет

Последний раз редактировалось Ксения Григорьева; 18.10.2012 в 18:07.
Ксения Григорьева вне форума Ответить с цитированием
Старый 18.10.2012, 17:56   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,318
По умолчанию

1) Проходила все тесты в 2010 году
Код:
var
  a,b:integer;
  c:real;
begin
  readln(a, b);
  c := sqrt(a*a+b*b);
  write(c);
end.
2)
Код:
var
  n: longint;
begin
  readln(n);
  write(n div 3600 mod 24,':',
  n mod 3600 div 60 div 10, n mod 3600 div 60 mod 10,':',
  n mod 60 div 10, n mod 60 mod 10);
end.
3) Еще 1 вариант решения
Код:
var
  n, a, b, c, d, s: integer;
begin
  readln(n);
  a := n div 1000;
  b := n mod 1000 div 100;
  c := n mod 100 div 10;
  d := n mod 10;
  s := (1 div (1 + abs(a - d))) * (1 div (1 + abs(b - c)));
  write(s);
end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 18.10.2012 в 18:00.
BDA вне форума Ответить с цитированием
Старый 18.10.2012, 18:12   #8
Ксения Григорьева
Новичок
Джуниор
 
Регистрация: 18.10.2012
Сообщений: 6
По умолчанию

все задачи прошли кроме гипотенузы, если не сложно поможешь еще?
1. В каждую крайнюю клетку квадратной доски поставили по фишке. Могло ли оказаться, что выставлено ровно k фишек? (Например, если доска 2 x 2, то выставлено 4 фишки, а если 6 x 6 - то 20).
Вводится одно натуральное число k.
2. По данному числу n закончите фразу "На лугу пасется..." одним из возможных продолжений: "n коров", "n корова", "n коровы", правильно склоняя слово "корова".
Формат входных данных
Дано число n (n<100).
Формат выходных данных
Программа должна вывести введенное число n и одно из слов (на латинице): korov, korova или korovy, например, 1 korova, 2 korovy, 5 korov. Между числом и словом должен стоять ровно один пробел.
3. Билет на одну поездку в метро стоит 15 рублей, билет на 10 поездок стоит 125 рублей, билет на 60 поездок стоит 440 рублей. Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов – минимальна.
Формат входных данных
Дано одно число n - количество поездок.
Формат выходных данных
Выведите три целых числа, равные необходимому количеству билетов на 1, на 10, на 60 поездок.

Последний раз редактировалось Ксения Григорьева; 18.10.2012 в 18:14.
Ксения Григорьева вне форума Ответить с цитированием
Старый 18.10.2012, 18:31   #9
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,318
По умолчанию

Странно, что гипотенуза не проходит.
1)
Код:
var
  k: integer;
BEGIN
  readln(k);
  If (k mod 4 = 0) or (k = 1) then write('YES') else write('NO');
end.
2)
Код:
var
  n:integer;
begin
  readln(n);
  If (n >= 11) and (n <= 14) then write(n, ' korov') else
  case n mod 10 of
    0, 5..9: write(n, ' korov');
    1: write(n,' korova');
    2..4: write(n, ' korovy');
  end;
end.
А до третьей я тогда не дошел
Так что Вам придется поломать голову над ней.
Кстати, у последней задачи есть разбор - осталось только его запрограммировать.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программы в Pascal, среда pascal ABC. Лабораторные работы Одинокая Волчица Фриланс 8 10.02.2012 20:09
Pascal ABC Photocor Паскаль, Turbo Pascal, PascalABC.NET 0 17.12.2011 13:21
Неудобство ABC Pascal и глюк Borland Pascal proser93 Помощь студентам 0 19.11.2011 19:01
pascal ABC saharok Помощь студентам 1 14.10.2011 21:10
Turbo Pascal or Pascal ABC Ikram Паскаль, Turbo Pascal, PascalABC.NET 0 27.04.2010 13:44