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

Запись списочных структур в точечной нотации

27.04.2015, 09:12. Показов 5641. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!
Так как не являюсь знатоком и фанатом Haskel - обращаюсь в умное сообщество с просьбой решить задачу по Haskel...
Условие задачи...
Вариант 1
На языке Haskell разработать программу записи следующих списочных
структур в точечной нотации, т.е. используя конструктор списочных
структур ( : )
1. [a, b, c]
2. [[a, b], c]
3. [a, b, [c, d]]
4. [a]
5. [a, [b, c]]
6. [[]]
В качестве отчетности представить исходный код программы.


Заранее благодарен!!!

перевести в точечную нотацию могу... с кодом сложности....
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.04.2015, 09:12
Ответы с готовыми решениями:

Запись списочных структур в точечной записи
Всем привет. Можете проверить правильно ли я записал списочные структуры в точечной записи? ]] = a:(b:(((c:):):)) ,...

Превращение сложных списочных структур
Использование функций Лиспа, разрушающих структуры: проверка архитектуриструктур с помощью предикату eq.

Поддержка списочных структур в Atmel Studio 6.2 (Atmega8)
Вопрос в следующем. Имеется ли поддержка динамических структур данных при программировании микроконтроллеров? Для выполнения задачи, мне...

34
0 / 0 / 0
Регистрация: 27.04.2015
Сообщений: 6
29.07.2015, 06:32  [ТС]
Студворк — интернет-сервис помощи студентам
Большое спасибо!
0
0 / 0 / 0
Регистрация: 25.11.2017
Сообщений: 4
26.11.2017, 14:03
В дополнение к ответу КолодезногоДайвера преподаватель попросил показать вывод на экран результатов обращения к функциям, а с хаскелом у меня всё не просто плохо, а никак. Есть ли возможность у вас оказать содействие в данном вопросе?
0
Модератор
 Аватар для Curry
5171 / 3536 / 536
Регистрация: 01.06.2013
Сообщений: 7,691
Записей в блоге: 9
26.11.2017, 15:45
Haskell
1
2
3
4
5
6
7
8
9
10
11
*Main> fun1 1 2 3
[1,2,3]
*Main> fun2 'a' 'b' "cd"
["ab","cd"]
*Main> fun4 4
[4]
*Main> fun5 [5,6] 7 8
[[5,6],[7,8]]
*Main> fun6
[[]]
*Main>
1
0 / 0 / 0
Регистрация: 25.11.2017
Сообщений: 4
26.11.2017, 22:07
Премного благодарен.
0
02.12.2017, 14:02

Не по теме:

А преподаватель терпеливый - два года ждал! (С)

0
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 8
08.01.2018, 14:28
Как будет выглядеть вывод на экран для fun3?
Haskell
1
2
fun3::  [a] -> [a] -> a -> a -> [[a]]
fun3 a b c d = a:b:[c:[d]]
0
Модератор
 Аватар для Curry
5171 / 3536 / 536
Регистрация: 01.06.2013
Сообщений: 7,691
Записей в блоге: 9
08.01.2018, 14:53
Haskell
1
2
*Main> fun3 "Hellow" " worl" 'd' '!'
["Hellow"," worl","d!"]
1
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 8
08.01.2018, 15:56
Спасибо! Преподаватель поставил задачу отобразить результаты обращения ко всем функциям сразу после импорта модуля в GHCi. Как это можно сделать?
0
Модератор
 Аватар для Curry
5171 / 3536 / 536
Регистрация: 01.06.2013
Сообщений: 7,691
Записей в блоге: 9
08.01.2018, 16:58
Добавить в модуль функцию main
Haskell
1
2
3
4
5
main :: IO () 
main = do
  print $ fun1 1 2 3
  print $ fun2 'a' 'b' "cd"
  print $ fun3 "Hellow" " worl" 'd' '!'
и так далее. После загрузки модуля выполните :ma
1
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 8
08.01.2018, 17:11
В случае, если в fun6 нет никаких аргументов, то как её вызвать?

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
28
29
30
31
32
33
34
35
36
37
38
39
fun6:: [[a]]
fun6 = [[]]
 
main :: IO () 
main = do
  print $ fun1 1 2 3
  print $ fun2 'a' 'b' "cd"
  print $ fun3 "Hellow" " worl" 'd' '!'
  print $ fun4 4
  print $ fun5 [5,6] 7 8
  print $ fun6 
 
-- Возвращает: main.hs:28:3: error:
--    • Ambiguous type variable ‘a0’ arising from a use of ‘print’
--      prevents the constraint ‘(Show a0)’ from being solved.
--      Probable fix: use a type annotation to specify what ‘a0’ should be.
--      These potential instances exist:
--        instance Show Ordering -- Defined in ‘GHC.Show’
--        instance Show Integer -- Defined in ‘GHC.Show’
--        instance Show a => Show (Maybe a) -- Defined in ‘GHC.Show’
--        ...plus 22 others
--        ...plus 11 instances involving out-of-scope types
--        (use -fprint-potential-instances to see them all)
--    • In a stmt of a 'do' block: print $ fun6
--      In the expression:
--        do print $ fun1 1 2 3
--           print $ fun2 'a' 'b' "cd"
--           print $ fun3 "Hellow" " worl" 'd' '!'
--           print $ fun4 4
--           ....
--      In an equation for ‘main’:
--         main
--            = do print $ fun1 1 2 3
--                 print $ fun2 'a' 'b' "cd"
--                 print $ fun3 "Hellow" " worl" 'd' '!'
--                 ....
--   |
--28 |   print $ fun6
--   |   ^^^^^^^^^^^^
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38223 / 21155 / 4314
Регистрация: 12.02.2012
Сообщений: 34,769
Записей в блоге: 14
08.01.2018, 17:39
Вызвана она верно. Просто в определении вместо a нужно задать конкретный тип:

Haskell
1
2
3
4
5
6
fun6 :: [[Int]]
fun6 = [[]]
 
main :: IO () 
main = do
  print $ fun6
1
Модератор
 Аватар для Curry
5171 / 3536 / 536
Регистрация: 01.06.2013
Сообщений: 7,691
Записей в блоге: 9
08.01.2018, 17:48
Haskell
1
  print (fun6 :: [[Int]])
Вместо Int можно любой простой тип указать - без разницы.
2
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 5
22.04.2018, 14:27
Вот один из похожих вариантов:
Haskell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
fn:: a->a->[a]
fn a b =a:b:[]
 
fun::a->[a]
fun a =[a]
 
 
main=do 
print(fn 1 2)
print(fn [1] [2])
print (fn[1,2][3,4,5])
print(fn [10](fn 11 12))
 
print (fun 20)
print(fun [33])
print(fun[fn[13](fn 14 25)])
Я так понимаю, дано это
1. [a, b, c]
2. [[a, b], c]
3. [a, b, [c, d]]
4. [a]
5. [a, [b, c]]
6. [[]]

и на выходе должно выйти к примеру вот
[1,2]
[[1],[2]]
[[1,2],[3,4,5]]
[[10],[11,12]]
[20]
[[33]]
[[[[13],[14,25]]]]

это как в моем примере выше
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
22.04.2018, 19:43
SAMMAS, вопрос-то в чём?
Да, этот код действительно выводит то, что Вы ожидаете:
Code
1
2
3
4
5
6
7
8
9
10
11
12
GHCi, version 8.2.1: http://www.haskell.org/ghc/  :? for help
[1 of 1] Compiling Main             ( E:\Loc\Haskell\sammas.hs, interpreted )
Ok, 1 module loaded.
*Main> main
[1,2]
[[1],[2]]
[[1,2],[3,4,5]]
[[10],[11,12]]
[20]
[[33]]
[[[[13],[14,25]]]]
*Main>
0
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 5
22.04.2018, 20:05
Добавлено через 1 минуту
Black Fregat, Вопрос к задаче, которую задавал автор в начале темы. Сегодня делал похожую на его задачу. Но у его как понял все решилось.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.04.2018, 20:05

Создать массив структур без использования массивов и нотации массивов
Доброго времени суток! Есть задание, в котором нужно создать массив структур, имея следующую структуру: struct name { string...

Перевод списочных записей в точечные
Переведите следующие списочные записи в точечные: ((w) x); Спасибо.

Запись структур в файл
Здравствуйте! Необходимо записывать структуры, состоящие из QString и int в бинарники, а также считывать их. Вопрос №1: что считается...

Запись структур в файл
Здравствуйте! Имеется структура struct user { char login; char password; }; Записываю несколько таких в файл

Запись структур в файл
можно ли сделать так что бы структуру base, которую нужно записать несколько раз в файл а потом считать, без константы MAX и без ее...


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

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru