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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2013, 18:07   #1
temnot
Пользователь
 
Регистрация: 23.09.2013
Сообщений: 13
Восклицание Как решить?

4. Написать программу, вычисляющую скорость, с которой бегун пробежал дистанцию:
Введите длину дистанции (в метрах) = 1000
Введите время (мин.сек) = 3.25
Дистанция: 1000
Время (3 мин 25 сек) = 205 сек
Скорость: 17.56 км/ч
Код:
var d,s,a:real;c,b:integer;
begin
readln(s);
readln(a);
b:=a div 1;
c:=a mod 1;
d:=a/(b+c)*3600/1000;
writeln(d,' км/ч');
readln;
end.
не хочет принимать т.к. из вещественного a не хочет делать целое число b, как сделать по другому?

Последний раз редактировалось Stilet; 23.11.2013 в 18:50.
temnot вне форума Ответить с цитированием
Старый 23.11.2013, 18:16   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

К типу real, и вообще к нецелым нельзя применять div, mod
А вводить надо именно так - мин.сек , через точку ?
type_Oleg на форуме Ответить с цитированием
Старый 23.11.2013, 18:17   #3
temnot
Пользователь
 
Регистрация: 23.09.2013
Сообщений: 13
По умолчанию

к сожалению да, так бы я решил
temnot вне форума Ответить с цитированием
Старый 23.11.2013, 18:34   #4
salauat
Пользователь
 
Регистрация: 22.11.2013
Сообщений: 19
По умолчанию

лови
Код:
  
  program bred;
uses crt;
var d,s,a:real;c,b:integer;
begin
readln(s);
readln(a);
writeln((s/a)*3600/1000);
readln;
end.
salauat вне форума Ответить с цитированием
Старый 23.11.2013, 18:36   #5
salauat
Пользователь
 
Регистрация: 22.11.2013
Сообщений: 19
По умолчанию

вот убрал все левое
Код:
program bred;
uses crt;
var s,a:integer;
begin
readln(s);
readln(a);
writeln((s/a)*3600/1000);
readln;
end.
salauat вне форума Ответить с цитированием
Старый 23.11.2013, 18:37   #6
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

А если ввести 1.5, это как должно пониматься?
1 мин 5 сек, или 1 мин 50 сек?
Или 1 мин 5 сек надо 1.05 ?
type_Oleg на форуме Ответить с цитированием
Старый 23.11.2013, 18:40   #7
salauat
Пользователь
 
Регистрация: 22.11.2013
Сообщений: 19
По умолчанию

я думал ты в секундах будешь вводить
salauat вне форума Ответить с цитированием
Старый 23.11.2013, 18:42   #8
salauat
Пользователь
 
Регистрация: 22.11.2013
Сообщений: 19
По умолчанию

и вообще , если ты пишешь 1.5 мин, то подразумеваешь 1 мин, 30 сек
salauat вне форума Ответить с цитированием
Старый 23.11.2013, 18:44   #9
salauat
Пользователь
 
Регистрация: 22.11.2013
Сообщений: 19
По умолчанию

если тебе обязательно надо вводить мин.сек, можно попробовать так
Код:
program bred;
uses crt;
var s,a,b:integer;
begin
readln(s);
readln(a,b);
a:=a*60+b;
writeln((s/a)*3600/1000);
readln;
end.
salauat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с++ как решить? annaegorova Помощь студентам 0 20.05.2012 13:54
Как решить? Artem_85 Microsoft Office Excel 6 13.03.2012 12:45
Ко всем кто может хоть как-то подсказать как решить проблему porfonya Microsoft Office Access 1 26.05.2009 17:38