Страница: 1 | 2 | 3 | 4 |
Вопрос: Соцопрос
Добавлено: 20.02.07 10:48
Автор вопроса: Black Berill
Ответы
Всего ответов: 59
Номер ответа: 46
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #46
Добавлено: 15.04.07 12:13
2BUMM, давай не будем голословными. Приводи пример хотя бы одного тупого языка.
2Brand, а с чего ты взял, что brainfuck тупой язык? Давай, напиши на нём хотя бы hello world. Потом выясним кто тупой
Вот вам ещё интересные языки программирования:
Графический язык Piet
http://99-bottles-of-beer.net/language-piet-1269.html
Malbolge, for those not familiar with it, is a language designed to be difficult
http://99-bottles-of-beer.net/language-malbolge-995.html
"Язык коровы" коровы. Всё состоит только из одного Му.
http://99-bottles-of-beer.net/language-cow-146.html
Язык Шекспира.
http://99-bottles-of-beer.net/language-shakespeare-664.html
Язык из непечатных символов:
http://99-bottles-of-beer.net/language-whitespace-154.html
Язык четырех.
http://99-bottles-of-beer.net/language-hq9+-1334.html
Номер ответа: 47
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #47
Добавлено: 15.04.07 12:27
2UU - Читай номер ответа 39
)))
++++++++++
[>+++++++>++++++++++>+++>+<<<<-] The initial loop to set up useful values in the array
>++. Print 'H'
>+. Print 'e'
+++++++. Print 'l'
. Print 'l'
+++. Print 'o'
>++. Print ' '
<<+++++++++++++++. Print 'W'
>. Print 'o'
+++. Print 'r'
------. Print 'l'
--------. Print 'd'
>+. Print '!'
>. Print newline
UU ты ссылку читал?
Номер ответа: 48
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #48
Добавлено: 15.04.07 12:35
А, сори - это был не ты
А про хеловорлд - давай сам пиши, а не гугли
Номер ответа: 49
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #49
Добавлено: 15.04.07 12:44
А чем там сложного писать? Всего-то 8 команд...
Вот MD5 - это да, посложнее будет...
Номер ответа: 50
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #50
Добавлено: 15.04.07 18:19
Программа написана за 10 минут рабочего времени, заработала после второго запуска (невнимательно спецификацию читал).
Возможно, реализация не идеальна тем не менее работает.
Module Module1
Sub Main()
Console.WriteLine("BrainFuck .NET by Black Brand"
Dim Program As String = Console.ReadLine
Dim Stack As New System.Collections.Generic.Stack(Of Integer)
Dim ProgramPosition As Integer = 0
Dim DataPosition As Integer = 0
Dim Data(Int16.MaxValue - 1) As Byte
Do While ProgramPosition < Program.Length
Select Case Program(ProgramPosition)
Case ">"c
 ataPosition += 1
If DataPosition < 0 Or DataPosition >= Data.Length Then
Console.WriteLine("выход за пределы допустимого массива данных, позиция {0}", ProgramPosition)
Exit Do
End If
Case "<"c
 ataPosition -= 1
If DataPosition < 0 Or DataPosition >= Data.Length Then
Console.WriteLine("выход за пределы допустимого массива данных, позиция {0}", ProgramPosition)
Exit Do
End If
Case "+"c
If Data(DataPosition) = 255 Then
 ata(DataPosition) = 0
Else
 ata(DataPosition) = CByte(Data(DataPosition) + 1)
End If
Case "-"c
If Data(DataPosition) = 0 Then
 ata(DataPosition) = 255
Else
 ata(DataPosition) = CByte(Data(DataPosition) - 1)
End If
Case "["c
If Data(DataPosition) <> 0 Then
Stack.Push(ProgramPosition)
Else
Dim BC As Integer = 0
For i = ProgramPosition + 1 To Program.Length - 1
If Program(i) = "["c Then
BC += 1
ElseIf Program(i) = "]"c Then
BC -= 1
If BC = -1 Then
ProgramPosition = i + 1
Continue Do
End If
End If
Next
Console.WriteLine("лишняя [, позиция {0}", ProgramPosition)
Exit Do
End If
Case "]"c
If Stack.Count > 0 Then
If Data(DataPosition) <> 0 Then
ProgramPosition = Stack.Peek + 1
Continue Do
End If
Else
Console.WriteLine("лишняя ], позиция {0}", ProgramPosition)
Exit Do
End If
Case "."c
Console.Write(Convert.ToChar(Data(DataPosition)))
'System.Threading.Thread.Sleep(100)
Case ","c
 ata(DataPosition) = CByte(Console.Read())
End Select
ProgramPosition += 1
Loop
Console.WriteLine("Program terminated"
Console.ReadLine()
Console.ReadLine()
End Sub
End Module
Надеюсь сомнений что я смогу написать Hello World нету?
Номер ответа: 51
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #51
Добавлено: 15.04.07 19:27
Согласно спецификации языка Brainfuck, лента, как и в машине Тьюринга, бесконечна в обе стороны. Уже программа < даст на твоем эмуляторе сбой.
Номер ответа: 52
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #52
Добавлено: 15.04.07 19:37
В том документе который читал я было написано что изначально длина ленты была - 30 000 символов, и головка спозиционирована на 0-й. Все реализации должны поддерживать 30 000 и более для совместимости прогармм.
Может я не совсем верно понял - ленту нужно "склеить" с двух сторон, или что с ней сделать?
Номер ответа: 53
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #53
Добавлено: 15.04.07 19:37
Brainfuck предполагает ограниченный размер ленты, судя по данным на
wikipedia:
besides the program, of an array of 30,000 byte cells initialized to
zero
Номер ответа: 54
Автор ответа:
someone
Вопросов: 215
Ответов: 1596
Web-сайт:
Профиль | | #54
Добавлено: 15.04.07 19:44
1)13
2)8==== )))))))))
3)3
4)2
5)Самоучка, самообучающийся методом самотыка ))
6)VB6, легкообучаем скриптовым языкам
7)Незаконч. среднее
8)Сам себе начальник -)
9)Украина, Черкассы
Номер ответа: 55
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #55
Добавлено: 15.04.07 20:19
Это его первоначальная реализация такая была, а реализация и стандарт вещи разные. По стандарту, brainfuck - это облегченная машина Тьюринга, лента которой бесконечна в обе стороны. Даже если делать ограниченную ленту, надо как минимум ее закольцевать, как, например, в Brainfuck Developer (http://4mhz.de/bfdev.html)
Номер ответа: 56
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #56
Добавлено: 16.04.07 00:16
Как лента может быть неограниченой? Как минимум объемом ОЗУ должна быть ограничена
Короче если есть любители брэйнфака, за 20 WMZ или что-то другое что меня заинтерисует проведу мастер-класс по закольцовыванию ленты
Номер ответа: 57
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #57
Добавлено: 16.04.07 01:05
Хехе, иди ботай разреженные массивы и узнаешь, как лента может быть длиннее ОЗУ
Номер ответа: 58
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #58
Добавлено: 16.04.07 03:44
Методом чего? o_O Ты же ещё маленький! ))
Номер ответа: 59
Автор ответа:
someone
Вопросов: 215
Ответов: 1596
Web-сайт:
Профиль | | #59
Добавлено: 17.04.07 19:36
ехехе )) я хотел написать методом тыка ))