IPB

Здравствуйте, гость ( Вход | Регистрация )

4 страниц V  < 1 2 3 4 >  
Ответить в эту темуОткрыть новую тему
> Как научиться программировать?, Кто хочет стать настоящим программистом?
A(Mil)
сообщение 27.11.2006, 14:41
Сообщение #51





Группа: Пользователи
Регистрация: 26.11.2006
Пользователь №: 17 389



Нда. Кнут - конечно наш евангелист, но чёто посмотрел я на его ЕВАНГЕЛИЕ ОТ КНУТА angel2.gif без пряника и решил, что почитаю этот трудный труд на досуге. fishing.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Gall
сообщение 27.11.2006, 15:42
Сообщение #52





Группа: Пользователи
Регистрация: 18.7.2004
Из: Мосгорка
Пользователь №: 2 341



В Ахо-Ульмане те же алгоритмы, а написаны проще.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
A(Mil)
сообщение 27.11.2006, 17:33
Сообщение #53





Группа: Пользователи
Регистрация: 26.11.2006
Пользователь №: 17 389



Надо будет найти. пасиба. horse.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
WulfGANG
сообщение 15.3.2007, 19:11
Сообщение #54





Группа: Пользователи
Регистрация: 24.10.2005
Пользователь №: 5 973



Цитата(Gall @ 18.5.2006, 13:00) *

Задача 1. Ханойские башни.

Имеется три стержня. На одном стержне нанизана пирамидка из дисков (внизу самый большой, сверху самый маленький). Требуется перенести эту пирамидку на другой стержень. Каждый раз можно перекладывать только один диск, причем можно класть маленькитй диск на большой, а большой на маленький нельзя.
1. Доказать, что для любого числа дисков перекладывание возможно.
2. Определить, за какое время можно переложить N дисков.
3. Написать программу, перекладывающую диски. Если не лень - можно рисовать палки и диски на экране. Если лень - достаточно печатать строки "переложить диск оттуда-то туда-то".

доказать то доказал, мат индукцией.
а вот прогу написать не могу, ваще не могу сообразить в каком направлении двигаться. подскажите плз +)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Gall
сообщение 15.3.2007, 21:16
Сообщение #55





Группа: Пользователи
Регистрация: 18.7.2004
Из: Мосгорка
Пользователь №: 2 341



Цитата(WulfGANG @ 15.3.2007, 19:11) *

доказать то доказал, мат индукцией.
а вот прогу написать не могу, ваще не могу сообразить в каком направлении двигаться. подскажите плз +)

Решение по индукции одновременно является работающей рекурсивной программой.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
WulfGANG
сообщение 16.3.2007, 14:47
Сообщение #56





Группа: Пользователи
Регистрация: 24.10.2005
Пользователь №: 5 973



Цитата(Gall @ 15.3.2007, 21:16) *

Решение по индукции одновременно является работающей рекурсивной программой.

хмммм...
как реализовать модель то? вместо стержней взять массивы?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Gall
сообщение 17.3.2007, 12:38
Сообщение #57





Группа: Пользователи
Регистрация: 18.7.2004
Из: Мосгорка
Пользователь №: 2 341



Цитата(WulfGANG @ 16.3.2007, 14:47) *

хмммм...
как реализовать модель то? вместо стержней взять массивы?

В принципе можно вообще не хранить положение дисков, тебе нужны только номера палок. Допустим, палки имеют номера 1, 2 и 3. Номер промежуточной палки можно вычислить как 6-a-b, поскольку 1+2+3=6. Вот псевдокод:

Код
procedure переложить (N, a, b)
{
    if (N == 0) return;
    c = 6 - a - b;
    переложить (N - 1, a, c);
    переложить_один (N, a, b);
    переложить (N - 1, c, b);
}

procedure переложить_один (N, a, b)
{
    print ("переложить диск номер ", N, " с ", a, " на ", b);
}
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
WulfGANG
сообщение 17.3.2007, 14:11
Сообщение #58





Группа: Пользователи
Регистрация: 24.10.2005
Пользователь №: 5 973



жесткое смешение паскаля и С ))))))
пасибо, пойду доделывать.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Alukard6
сообщение 10.4.2007, 18:00
Сообщение #59





Группа: Пользователи
Регистрация: 1.4.2007
Пользователь №: 22 943



Цитата(Gall @ 18.5.2006, 22:19) *
Задача 3. Квадратный корень.
Процессор обычно знает только 4 действия арифметики. Задача: извлечь квадратный корень из числа, пользуясь только 4 действиями арифметики.


Может быть просто разложим в ряд Тейлора? smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Uzer
сообщение 13.4.2007, 20:02
Сообщение #60





Группа: Пользователи
Регистрация: 7.11.2004
Пользователь №: 3 101



Цитата(Alukard6 @ 10.4.2007, 19:00) *
Может быть просто разложим в ряд Тейлора? smile.gif
а чё бы нет brows.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ParadiGM
сообщение 6.5.2007, 21:04
Сообщение #61





Группа: Пользователи
Регистрация: 13.5.2006
Из: Мензоберранзан
Пользователь №: 11 846



Цитата(Alukard6 @ 10.4.2007, 19:00) *
Может быть просто разложим в ряд Тейлора? smile.gif

Можно с помощью рекуррентной формулы, предел которой является корень квадратный из числа а: x(n+1)=(1/2)*(x(n)+[a/x(n)]), тут n и n+1 стоят по идее как индексы. Подбирая необходимое число итерации можно вычислить искомое с заданной точностью. Где х можно брать с сегмента от 1 до 2. Там на самом деле сложнее формула для определения первого члена, ну понейй для точности 10^-10 понадобилось бы всего 3 итерации.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
854221
сообщение 7.7.2007, 22:25
Сообщение #62





Группа: Пользователи
Регистрация: 6.7.2007
Пользователь №: 26 011



Цитата(Gall @ 18.5.2006, 14:00) *
К этому моменту следующие три задачи уже не должны вызывать особых трудностей.

Задача 1. Ханойские башни.

Имеется три стержня. На одном стержне нанизана пирамидка из дисков (внизу самый большой, сверху самый маленький). Требуется перенести эту пирамидку на другой стержень. Каждый раз можно перекладывать только один диск, причем можно класть маленькитй диск на большой, а большой на маленький нельзя.
1. Доказать, что для любого числа дисков перекладывание возможно.
2. Определить, за какое время можно переложить N дисков.
3. Написать программу, перекладывающую диски. Если не лень - можно рисовать палки и диски на экране. Если лень - достаточно печатать строки "переложить диск оттуда-то туда-то".

всё, что ты написал до этого, я, честно, говоря, не читал- не было необходимости; а поэтому могу не знать, что ты имел ввиду, говоря (см. цитату до условия задачи). Но: реализовать алгоритм- попыхтеть пришлось, скажу я тебе... Далее: известное тебе решение отличается от приведённого в книге: Г. Г. Рапакова и С.Ю. Ржеуцкой "Turbo Pascal для студентов и школьников"? (Моё отличается, смею думать, принципиально).Если отвлёк от дел, не серчай сильно
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kodess
сообщение 29.9.2007, 20:08
Сообщение #63





Группа: Пользователи
Регистрация: 24.9.2007
Пользователь №: 28 368



Цитата(Uzer @ 13.4.2007, 10:02) *
а чё бы нет brows.gif



bash.gif

Кому то пора открыть учебник по мат.анализу снова: производные квадратного корня не выражаются через рациональные функции а снова являются корнями smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Ботаник
сообщение 11.1.2008, 23:22
Сообщение #64





Группа: Новички
Регистрация: 11.1.2008
Пользователь №: 31 423



Учусь Паскалю по учебнику и практикуму Павловской Т.А.К сожалению не все понятно!Помогите кто-нибудь с такой задачей:
Список студенческой группы записан на диске как текстовый файл.Каждая строка списка содержит фамилию студента и три экзаменационные оценки,при чем список никак не упорядочен.Составить программу,которая корректирует список и сортирует его либо по алфавиту,либо по среднему балу,либо по оценкам по заданному предмету!
список записывается в файл либо под старым, либо под новым именем!


Вопрос:Нужно отдельно массив делать под баллы?То есть для каждой строки будет свой массив?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Silver Ghost
сообщение 11.1.2008, 23:49
Сообщение #65





Группа: Пользователи
Регистрация: 29.12.2005
Пользователь №: 7 442



да, для каждой строки свой "массив", только состоящий не из одного типа данных, а из нескольких. до типа record дочитал?
ЗЫ:ну это я бы через record попробовал по крайней мере, как по-настоящему правильно не знаю =/

Сообщение отредактировал Silver Ghost - 11.1.2008, 23:50
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Запятая
сообщение 12.1.2008, 13:36
Сообщение #66





Группа: Новички
Регистрация: 12.1.2008
Пользователь №: 31 432



Я изучала программирование с языка C++ по книжке
Лафоре Р. - Объектно-ориентированное программирование в С++.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Ботаник
сообщение 12.1.2008, 16:28
Сообщение #67





Группа: Новички
Регистрация: 11.1.2008
Пользователь №: 31 423



Спасибо, SILVER_GHOST!Через record и делаю!Надеюсь что-нибудь получиться! rolleyes.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MotorE1
сообщение 2.3.2008, 23:06
Сообщение #68





Группа: Новички
Регистрация: 2.3.2008
Пользователь №: 32 845



Всем привет!

Я хочу научиться писать программы, прошу помощи - в программировании я пока "полный ноль", но это только пока wink.gif

Расскажите и подскажите: с чего мне начать, если можите сразу выложите литературу + весь необходимый для этого софт, буду очень признателен rolleyes.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
San
сообщение 3.3.2008, 10:18
Сообщение #69





Группа: Пользователи
Регистрация: 17.8.2005
Из: ЕкатеринбургА
Пользователь №: 5 093



Цитата(MotorE1 @ 2.3.2008, 23:06) *
с чего мне начать

С прочтения этой темы с самого начала flower.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ШутНик
сообщение 8.5.2009, 19:53
Сообщение #70





Группа: Новички
Регистрация: 8.5.2009
Пользователь №: 41 963



Начать программировать можно с языка PureBasic
В его состав входит более 800 встроеных функций и их число можно с увеличить, что позволяет программировать даже без знаний API.
Язык расчитан для написания консольных, оконных и игровых программ для Windows, Linux, MacOS.
У него довольно простой синтаксис и выучить за короткое время можно даже по справке.
Вот пример программы, создающей окно с надписью
Код
OpenWindow(1,200,250,200,50,"Заголовок окна",#PB_Window_MinimizeGadget)
CreateGadgetList(WindowID(1))
TextGadget(2,70,16,180,15,"Привет мир!")

Repeat
Event=WaitWindowEvent()
Until Event=#PB_Event_CloseWindow
End


Размер скомпилированого исполняемого файла получается небольшим - всего 10КБ и для его работы не нужны никакие внешние файлы - все в EXE.
Вот скрин проги из примера
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Dreamer
сообщение 8.5.2009, 21:46
Сообщение #71





Группа: Пользователи
Регистрация: 6.10.2004
Пользователь №: 2 843



Не знаю с чего лучше тебе начать, но я начинал с простейших игрушек на подобие теннис, галаксиан, тетрис(когда немного прокачался) и тп. Первый год своего программирования я не написал ни одной программы, которая не рисовала какой либо графический примитив - меня иное просто не интересовало.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
JustDo
сообщение 8.5.2009, 22:23
Сообщение #72





Группа: Пользователи
Регистрация: 18.10.2008
Пользователь №: 37 512



а я на эрланге начал писать сразу-) видимо это оставило отпечаток теперь на всю жизнь.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Pandora_
сообщение 3.9.2009, 16:04
Сообщение #73





Группа: Новички
Регистрация: 3.9.2009
Пользователь №: 45 390



Хай пипл))

Program proba;
uses CRT;
var a,b,c:real; S,V:real;
{a,b,c - длина, ширина и высота параллепипеда}
begin
ClrScr;
Write('Введите длину, ширину и высоту');
ReadLn(a,b,c);
S:=(a*b+b*c+a*c)*2;
V:=a*b*c;
Write('S=',S:10:2,' V=',V:10:2); {Объясните что це за хрень? почему именно S:10:2??}
repeat
until KeyPressed
end.

Заранее благодарна. flower.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
}{UNTER
сообщение 3.9.2009, 16:10
Сообщение #74





Группа: Модераторы
Регистрация: 26.7.2006
Из: за кабинета злой
Пользователь №: 13 854



вроде вывод до 10 целых знаков и 2 сотых thinking.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Silver Ghost
сообщение 3.9.2009, 18:45
Сообщение #75





Группа: Пользователи
Регистрация: 29.12.2005
Пользователь №: 7 442



Цитата(Pandora_ @ 3.9.2009, 17:04) *
Хай пипл))

Program proba;
uses CRT;
var a,b,c:real; S,V:real;
{a,b,c - длина, ширина и высота параллепипеда}
begin
ClrScr;
Write('Введите длину, ширину и высоту');
ReadLn(a,b,c);
S:=(a*b+b*c+a*c)*2;
V:=a*b*c;
Write('S=',S:10:2,' V=',V:10:2); {Объясните что це за хрень? почему именно S:10:2??}
repeat
until KeyPressed
end.

Заранее благодарна. flower.gif

Под вывод числа отводится 10 символов, из которых 2 - разряды после запятой.
Именно S:10:2, потому что так захотелось.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

4 страниц V  < 1 2 3 4 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 20.1.2018, 19:55
Блог КАБiNET