С Новым годом! Форум программистов, компьютерный форум, киберфорум
Haskell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Заблокирован

Вычислительная программа с пользовательским вводом

10.11.2015, 16:52. Показов 1332. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Коробка с яблоками.
Есть коробка (длина, высота, ширина и кг. яблок в ней). Рассчитать плотность заполнения коробки.
Вход: длина, высота, ширина, масса яблок.
Выход: масса яблок, обьем, плотность.
Помогите.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.11.2015, 16:52
Ответы с готовыми решениями:

Исправить ошибку в коде с пользовательским вводом
Здравствуйте. Я пытаюсь сделать что-то подобное этой задаче (в мопед вмещается 5 литров (полный бак). Задача: хватит ли у тебя денег...

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

Использование переключателей, списков, полос прокрутки для управления пользовательским вводом
Ввести список строк в компонент TListBox и предусмотреть три варианта вывода во второй компонент TListBox. Например вывод строк...

7
Модератор
 Аватар для Curry
5153 / 3466 / 536
Регистрация: 01.06.2013
Сообщений: 7,525
Записей в блоге: 9
10.11.2015, 18:04
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

Haskell
1
2
3
4
5
6
7
calc:: Double -> Double -> Double -> Double -> (Double,Double,Double)
calc length' height width weight =
    let volume=length' * height * width
    in (weight, volume, weight / volume)
    
main :: IO () 
main = print $ calc 0.4 0.25 0.3 1.5
1
Заблокирован
10.11.2015, 19:08  [ТС]
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
calc:: Double -> Double -> Double -> Double -> (Double,Double,Double)
calc length' height width weight =
* * let volume=length' * height * width
* * in (weight, volume, weight / volume)
main :: IO ()
main = print $ calc 0.4 0.25 0.3 1.
Как сделать, чтобы пользователь мог вводить данные.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38164 / 21099 / 4306
Регистрация: 12.02.2012
Сообщений: 34,687
Записей в блоге: 14
10.11.2015, 19:36
Лучший ответ Сообщение было отмечено MyLifeStyle как решение

Решение

MyLifeStyle, например, так:

Haskell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import System.IO
 
calc:: Double -> Double -> Double -> Double -> (Double,Double,Double)
calc length' height width weight =
    let volume=length' * height * width
    in (weight, volume, weight / volume)
    
main :: IO () 
main = do
       putStr "l="
       hFlush stdout
       sl <- getLine
       putStr "h="
       hFlush stdout
       sh <- getLine
       putStr "w="
       hFlush stdout
       sw <- getLine
       putStr "p="
       hFlush stdout
       sp <- getLine
       print $ calc (read sl :: Double) (read sh :: Double) (read sw :: Double) (read sp :: Double)
2
Модератор
 Аватар для Curry
5153 / 3466 / 536
Регистрация: 01.06.2013
Сообщений: 7,525
Записей в блоге: 9
10.11.2015, 19:40
Лучший ответ Сообщение было отмечено MyLifeStyle как решение

Решение

Haskell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
module Main where
 
import System.IO
 
-- Следующие 2 строки нужны только для ghc версий ниже 7.10
import Control.Monad
import Control.Applicative
 
calc:: Double -> Double -> Double -> Double -> (Double,Double,Double)
calc length' height width weight =
    let volume=length' * height * width
    in (weight, volume, weight / volume)
 
ask :: String -> IO Double
ask prompt = putStr prompt >> readLn
    
main :: IO () 
main = do
    hSetBuffering stdout NoBuffering
    (weight, volume, density) <- calc <$> 
        (ask "Length ? ") <*>
        (ask "Height ? ") <*>
        (ask "Width ? ") <*>
        (ask "Weight ? ") 
    putStrLn $ "Weight=" ++ (show weight) ++ 
               ", Volume=" ++ (show volume) ++
               ", Density=" ++ (show density)
Файл сохраняйте в кодировке UTF-8 без BOM. Или уберите комментарий на русском в коде.
3
13.11.2015, 14:12

Не по теме:


Строго говоря мы вычисляем плотность некорректно т.к. яблоки имеют не кубическую, а сферическую форму, а значит можно уместить больше яблок в коробку, внизу пруф. Т.е. 10 яблок высотой 10 см будут не 100 см в высоту, а 86, что позволит уместить еще полтора яблока.
Название: 1.png
Просмотров: 44

Размер: 7.3 Кб

0
0 / 0 / 0
Регистрация: 27.06.2013
Сообщений: 30
15.06.2016, 21:12
Кстати, а каким образом вывести результат в одну строку в данном случае -
Haskell
1
2
3
putStrLn $ "Weight=" ++ (show weight) ++ 
               ", Volume=" ++ (show volume) ++
               ", Density=" ++ (show density)
??
0
Модератор
 Аватар для Curry
5153 / 3466 / 536
Регистрация: 01.06.2013
Сообщений: 7,525
Записей в блоге: 9
15.06.2016, 23:09
Цитата Сообщение от Negoro Посмотреть сообщение
Кстати, а каким образом вывести результат в одну строку в данном случае
Так, в одну строку и выводится.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.06.2016, 23:09
Помогаю со студенческими работами здесь

Использование переключателей, списков, полос прокрутки для управления пользовательским вводом
Помогите, пожалуйста. Где ошибка в коде? Организовать ввод строк в список с позиции, на которой находится курсор (использовать компонент...

Использование переключателей, списков, полос прокрутки для управления пользовательским вводом
Организовать ввод элементов массива и вывод упорядоченного массива по возрастанию. Вводить только целые числа. Выводить сообщение об...

Мощная вычислительная программа. Инженерные расчёты
Здравствуйте. Я студент, инженер-строитель. Владею на среднем уровне программой MathCad. В связи с тем, что необходимо через год на шестом...

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

Программа с вводом чисел в строку
Программа с вводом чисел в строку: uses Crt; Var a: Real; c , i, S: Integer; begin ClrScr; writeln(‘ Ввод чисел:”); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru