| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Object Pascal: кроссплатформенные технологии > Дайте задание |
| Автор: Рыжий 6.3.2005, 17:36 |
| Всем привет! Значит так, мне нужно выучить Паскаль или хотябы самое важное в нем за буквально 1,5 месяца! Из школы я знаю команды типа writeln и readln ну и еще десяток. Литературу собственно я достал и уже приступил к изучению. Но вот даже и не знаю что с этим делать, всмысле со знаниями, может кто нибудь придумает для меня задачку? Только не типа вывести "Hello world!" на экран а что-то посложнее чтобы во время выполнения этой задачи я бы смог много чему научиться! Зарание спасибо |
| Автор: SPrograMMer 6.3.2005, 18:14 |
| Хм... попался ты мне. вот держи: Задача №1 (простенькая....) Даны два числа m и n. Известно, что m/n - неправильная дробь. Задача: сократить эту дробь и выделить целую часть. Входные параметры - два числа (m,n). выходные - целая часть и оставшаяся несократимая правильная дробь. Пример: Вход: 33 6 Выход:5 1 2 (5 - челая часть, и дробь 1/2) Как решишь дам еще задачку... |
| Автор: Рыжий 6.3.2005, 19:56 | ||
| хм у мне есть 2 вопроса: 1) А как ты можешь выдать дробь подобную 1/2 ведь паскаль считает все в десятичных то есть в данном случае он выведт 0,5! 2) Составил прогу (конечно алгоритм не самый лучший) но что то она глючит насчет последнего действия:
Очень странно если проследить по действиям то все должно работать в принципе! Может это какая то специфика языка? Или я чето торможу? |
| Автор: Fedor 6.3.2005, 22:28 |
| PHP-Script Вот тебе подборка задач, по которым меня учил преподаватель. Это - основа основ. Ты начни с самого простого (это именно типа Hello World). Решай, выкладывай сюда решения, а я буду проверять. Добавлено @ 22:29 З.Ы. Переименуй файл Simple в файл Simple.rar |
| Автор: Zero 6.3.2005, 22:29 | ||||
Вот так:
|
| Автор: Fedor 6.3.2005, 22:31 |
| PHP-Script И еще: насколько я понял, тебе это для олимпиады нужно? Тогда не используй модуль CRT. Но олимпиадах это запрещено. Тем более, это нужно только для того, чтоб очистить экран. Добавлено @ 22:33 Да. Тебе еще нужно узнать не в первую, но во вторую очередь, как работать с текстовыми файлами. Прочитай в книге либо создай тему, я объясню. Добавлено @ 22:37 Вот те задачи которые я тебе дал - за два-три дня порешай. А то и быстрее. А потом я тебе еще олимпиадных подкину. |
| Автор: Pakshin A. S. 6.3.2005, 22:37 | ||
может это более прозрачный код... Добавлено @ 22:38 Про CRT... Это еще зависит от конкретной олимпиады и комиссии... Иногда можно и юзать... |
| Автор: Рыжий 6.3.2005, 22:45 |
| Ну спасибо вам - решили задачку я аж поумнел все паскаль знаю на 100% |
| Автор: Pakshin A. S. 6.3.2005, 22:45 | ||||
Вот тебе еще две задачи на закуску...
|
| Автор: Fedor 7.3.2005, 00:12 |
| Да, кстати, PHP-Script, зайди на acm.timus.ru - зарегься и поздавай там задачи. Очень полезно при подготовке к олмпиаде. |
| Автор: Рыжий 7.3.2005, 01:38 | ||||||
| Итак решил такие задачки: Глава 3 программа CountODD Подсчитывает все нечетные числа вводимые пользователем:
Дальше папка 3 задание MAX Выводит максимальное число вводимое пользователем:
И папка 3 задание whileODD вводим числа до тех пор пока не введем четное:
Ну понятно что иду я не попорядку а так по значению |
| Автор: Fedor 7.3.2005, 01:59 | ||
| CountOdd зачем c - real? достаточно integer или byte. К тому же в паскале есть функция
Она принимает true когда число нечетное и false когда четное. Max Задача вообще прдполагала решение без массива. WhileOdd Ну намудрил! Вообще, наличие лейблов и goto в любом языке (может кроме асма) считается плохим стилем программирования. И лучше этими гото пользоваться только при крайней необходимости если они действительно упрощают программу. Добавлено @ 02:05 И еще к задаче Max Если ты делаешь массив и тебе нужно по нему пройтись и ты знаешь колличество елементов в нем, то лучше использовать цикл for. Это как минимум нагляднее. |
| Автор: Рыжий 7.3.2005, 05:01 |
| Да спасибо огромное - хорошая критика. Все понятно, учту в будущем! |
| Автор: Fedor 7.3.2005, 08:47 |
| PHP-Script там в одной из папок есть задача subsets. Попробуй - интересная. В этой задаче есть уже не только техника, но нужно и идею найти |
| Автор: Рыжий 7.3.2005, 21:12 |
| Слушай а у меня вопрос - как можно в турбо паскале писать на русском языке?? или нужен другой компилятор?? |
| Автор: Pakshin A. S. 7.3.2005, 21:15 |
| Из-под виндов... вряд ли... если через дос (во всяком случаем через хорошую эмеляцию), то попробуй стандартную комбинацию по переключению раскладки клавиатуры в досе... Но лучше скачай Turbo Pascal Fpr Windows... Все то же, но для виндов... |
| Автор: Makarofff 8.3.2005, 01:00 | ||
keyrus да и всё |
| Автор: Pakshin A. S. 8.3.2005, 11:49 |
| Но он не всегда должным образом работет... у меня паскалевские проги с кейрусом под ХР иногда некорректно себя ведут... |
| Автор: Alex 8.3.2005, 11:58 | ||
И в чем заключается не корректность? |
| Автор: Pakshin A. S. 8.3.2005, 12:00 |
| не выводит русские шрифты... а сама оболочка так у меня и не захотела печатать на русском языке... |
| Автор: Fedor 8.3.2005, 15:26 |
| PHP-Script Pakshin A. S. Специально прикреплена тема. Там есть ссылки на русификаторы. После этого у меня заработала нормально и в полноэкранном режиме, и в оконном. А вообще давайте не оффтопить |
| Автор: Рыжий 8.3.2005, 17:27 |
| Так еще побродил по нету - нашел еще кучу задач ниче если я их буду тут выкладывать? вы будете проверять - находить ошибки, подсказывать.. 2Fedor Ну блин subsets так это задача!!!! пока не знаю решения но буду думать может с опытом прийдет.... а все же интерестная задачка |
| Автор: Alex 8.3.2005, 18:08 |
| Fedor, я очень извиняюсь за оффтоп. http://forum.vingrad.ru/index.php?showtopic=40764 |
| Автор: Fedor 8.3.2005, 18:11 | ||
Выкладывай. Только лучше создавай отдельную тему для каждой задачи. |
| Автор: ~FoX~ 11.3.2005, 11:20 |
| PHP-Script Дык, так и пиши на русском, только кодировка будет DOS страничка 866 кажется. Или он у тебя просто не переходит на русский? Если так, то нужно драйверок подгружать ака keyrus, atrusk или так: 1. В autoexec.nt добавить: lh %systemroot%\system32\kb 16.com ru,866, %systemroot%\system32\key01.sys 2. В реестре во всех ветках DosKeybCodes изменить значение параметра 00000409 c US на RU |
| Автор: Dr.No_xXx 14.3.2005, 22:46 |
| Fedor можешь скинуть мне задачи на e-mail ,а то скачать че-то не получается [email protected] и если можно то олимпиады тоже |
| Автор: Fedor 16.3.2005, 09:14 |
| Послал |
| Автор: Guest 17.3.2005, 13:19 |
| Написать программу на языке Pascal (Turbo Pascal) для решения следующей задачи: Дан одномерный числовой массив, состоящий из известного количества элементов. Для этого массива в соответствии с Вашим вариантом: 0. Представить массив чисел в обратном порядке, возводя в квадрат положительные элементы массива и в куб отрицательные. |
| Автор: Fedor 18.3.2005, 08:48 |
| Guest ну и что здесь интересного? Или ты хочешь чтоб мы за тебя это решили? |
| Автор: Рыжий 18.3.2005, 12:47 | ||
| Вот задачку решил вроде работает код:
|
| Автор: Негодяй 18.3.2005, 16:01 |
| PHP-Script sqr вместо a[i]:=a[i]*a[i]; и в кубе подругому не помню возведение числа в степень так: y:=exp(n * ln(x)); |
| Автор: Рыжий 18.3.2005, 16:14 |
| для того чтобы возводить в куб - нет команды а sqr я чето сам забыл |
| Автор: Негодяй 18.3.2005, 16:32 | ||
ну причём тут куб, я же написал, как возвести в степень |
| Автор: Fedor 18.3.2005, 16:54 | ||
зачем мудрить в такой задаче, где главное простота и наглядность. Если бы тебе нужно было в 100-ю степент возводить или нецелую, то эта формула очень хороша. |
| Автор: Рыжий 18.3.2005, 17:37 |
| вы бы лучше сказали как решение - работает? у меня хорошо вроде алгоритм я взял нормальный то есть я в паскале начал что-то понимать? |
| Автор: Негодяй 18.3.2005, 18:33 | ||
1) многие переменные нигде не используются; 2) вместо значения "10" используй в самом начале const n=10 (постоянная переменная n=10). |