![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Unknown |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 11.8.2003 Репутация: нет Всего: нет |
наткнулся на некоторые "глупые" вопросы в литературе ("глупыми" я считаю вопросы, которые либо не понимаю, либо ответ на них очевиден)
. Их у меня пока всего два : . 1. Почему знак умножения всегда выписывается явно? 2. Почему запись формул на языке Паскаль линейна? . (взято из О.Ф Усковой, "Программирование на языке Паскаль" задачник) . и вот такая задача "Не прибегая к помощи компьютера определите результат выполнения программы :" . var j, n : word; a, b, c : LongInt; begin n := 25: a := 1; b := 1; for j:= 3 to n do begin c := b; b := a + b; a := c; end; WriteLn('F_', n, ' = ', b); ReadLn; end. (С.А. Немнюгин, "Turbo Pascal", учебник, стр.49, упр.1.4) *********************** прошу комментарии, варианты ответов. |
|||
|
||||
dvamaster |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 559 Регистрация: 30.6.2004 Где: Россия : Курган Репутация: 3 Всего: 10 |
Неужели задача про числа фибоначи. -------------------- Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/ Что же я сделал не так? /Король Лир/ Я делаю это для твоего же блага! /Любой родитель и палач/ PKUNZIP.ZIP /неизвестный/ |
|||
|
||||
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Похоже на то. Надо с листком бумаги посидеть несколько минут... ответ и выйдет.
По вопросам: интересно, а что имелось в виду в первом вопросе?! По второму: читаться компилятором не будет ![]() |
|||
|
||||
Unknown |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 11.8.2003 Репутация: нет Всего: нет |
to dvamaster : На первый - да и я так думаю, синтаксис языка таков, что непозволяет такую запись. вот я и думаю что имелось ввиду во втором вопросе? Вообще эти воросы любят задавть преподаватели в институтах, потому как любой ответ можно считать неправильным(неизвестно что конкретно имеется ввиду.)
. to Pakshin A. S. : несколько минут?! да там 22 прохода!!! ******************************************* задаю эти вопросы здесь, потому как знаю за собой такой грешок : когда задача трудная, стараюсь обойти ее всевозможными способами, например, говорю себе, что воросы "глупые, неточные, неконкретные". В (0) самообман? или же действительно тупняк? |
|||
|
||||
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Такие проходы делаются за пять-десять минут (максимально) с калькулятором. А если догадаться про Фибоначи, то можно этот ряд ещё быстрее записать.
|
|||
|
||||
Unknown |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 11.8.2003 Репутация: нет Всего: нет |
да, но это задание дано после ПЕРВОГО урока в Немнюгине. Короче чтобы изучать Пас по Немнюгину, надо знать Пас.
. еще вопрос : "Почему запись формул на языке Паскаль линейна?" и "Чему равен результат вычисления выражения (a div b)*b + (a mod b)?" оба они из Усковой. |
|||
|
||||
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
выражениt (a div b)*b скорее всего равно a
|
|||
|
||||
dvamaster |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 559 Регистрация: 30.6.2004 Где: Россия : Курган Репутация: 3 Всего: 10 |
Pakshin A. S.
Ты не знаешь целочисленную двоичную математику, если думаешь что точно так будет. Но ты сомневался, и это правильно. -------------------- Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/ Что же я сделал не так? /Король Лир/ Я делаю это для твоего же блага! /Любой родитель и палач/ PKUNZIP.ZIP /неизвестный/ |
|||
|
||||
Unknown |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 11.8.2003 Репутация: нет Всего: нет |
если бы там "*b" не было, то выражение равно а/b. а так?
. вопрос про "9!" снят, задача снята. остальные вопросы остаются. |
|||
|
||||
Zaman |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 28.6.2004 Репутация: нет Всего: 2 |
Pakshin A. S.
Если B>A то не будит A, мне так кажеться. Добавлено @ 14:22 так же есть другие варианты, когда A>B но А не кратно В, тоже будит другой результат |
|||
|
||||
Calypso |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 30.6.2004 Репутация: нет Всего: нет |
Таких вещей я избегаю. т.к.Лучше применить (a*c) div b (этому меня Немнюгин в книге научил) (a div b)*b <> a (a div b)*b + (a mod b) = a ![]() |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Потому что встретив "ab" не возможно определить это переменная с именем ab или a*b. Компиллятор в отличие от человека строится по принципам максимальной однозначности, это оберегает от многих ошибок... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
Unknown |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 11.8.2003 Репутация: нет Всего: нет |
Ясно, всем спасибо. Остается последний (пока я дальше не стал двигаться..) вопрос : "2. Почему запись формул на языке Паскаль линейна?"
|
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
А что покажет строка "showmessage(inttostr(i));" без компа кто может сказать?
![]()
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
Unknown |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 11.8.2003 Репутация: нет Всего: нет |
эх, приболел я малясь. но уже все. ангина.
. так почему все таки "Запись формул на языке Паскаль линейна?" |
|||
|
||||
x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
что значит линейна? и как выглядит "нелинейная" формула?
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
Unknown |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 11.8.2003 Репутация: нет Всего: нет |
а вот это ХЗ. афтар (Ускова) не уточняет. в том то и дело!
|
|||
|
||||
December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
Может, в смысле что запись формулы не рекурсивна? то есть ты не можешь использовать переменную или функцию, пока её не объявишь?
|
|||
|
||||
Unknown |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 11.8.2003 Репутация: нет Всего: нет |
наверно да. тогда вопрос будет выглядеть так : "Почему на языке Паскаль нельзя использовать переменную или фукнцию, пока ее не объявишь?"
. но ведь рекурсия в Паскале есть! |
|||
|
||||
December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
я аллегорически выразился |
|||
|
||||
Berill |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.7.2004 Где: Баку, Азербайджан Репутация: нет Всего: нет |
Если я с утра не торможу, то покажет 6. Добавлено @ 07:33
Так уж Паскаль устроен, и мы ничего не можем изменить. Хотя с другой стороны очень даже удобно. Я например уже заранее при этом знаю что и где мне понадобиться. |
||||||
|
|||||||
Berill |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.7.2004 Где: Баку, Азербайджан Репутация: нет Всего: нет |
Насчет того, что покажет 6 я не прав.
Кто-нибудь может объяснить, почему после GOTO 1, значение J становиться "-1". Это сообщение отредактировал(а) Berill - 27.7.2004, 15:39 |
|||
|
||||
Unknown |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 11.8.2003 Репутация: нет Всего: нет |
это, конечно так, но я бы посмотрел как ьы это преподу на экзамене скажешь... |
||||||||
|
|||||||||
Cheba |
|
||||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
Ничего оно не должно показывать. Тут применяется GoTo и Label (перед begin'ом). Получается как бы бесконечный цикл. Кстати, из-за этого его и не рекомендуют использовать. Его даже так и переводят на русский: "Иди на ...". ![]() |
||||
|
|||||
p0s0l |
|
||||||||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Почему не покажет ? Я проверил - у меня показало 8... Теперь попытаюсь объяснить:
Goto тут смущает тем, что не происходит инициализация переменной цикла (оператором FOR), но она делается до этого принудительно (j := 0;). Но цикл всё равно получился кастрированным, т.к. кроме j у него есть еще внутренняя невидимая переменная, отвечающая за количество оставшихся шагов цикла, она получается неинициализированной, поэтому если бы break не было, то цикл выполнялся бы фиг знает сколько шагов (зависит от мусора в стеке)...
Если я правильно тебя понял, то ты неправильно понял ![]() -------------------- С уважением, г-н Посол. |
||||||||||
|
|||||||||||
Berill |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.7.2004 Где: Баку, Азербайджан Репутация: нет Всего: нет |
Понятно, что мой ответ не очень информативен. ![]() Могу только посоветовать(причем и себе тоже) прочитать о структуре компилятора Паскаля. |
|||
|
||||
Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
|
|||
|
||||
Unknown |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 11.8.2003 Репутация: нет Всего: нет |
я бы посоветовал Усковой (и вообще всем преподам) _конкретнее_ задавать вопрос.. . а тем временем...... у меня еще один тупой вопрос : "Какие обозначения используются в форматах вывода?" этот вобще кандидат на первое место в Top10Shit |
||||
|
|||||
AriX |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 16.6.2003 Репутация: 5 Всего: 19 |
Unknown
кстати про
результата не будет - там ошибка - n :=25: (надо точку с запятой) ![]() |
|||
|
||||
December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
Это типа форматирование строки в writeln? %d, %f или чё-то такое? |
|||
|
||||
Cheba |
|
||||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
Нет это скорее о выводе real'ов. Типа такого:
Если так, то вот выдержка их доков от Delphi:
|
||||
|
|||||
Blacksnow |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 3.8.2004 Где: Санкт-Петербург Репутация: нет Всего: нет |
Задача к программированию, если честно сказать имеет малое отношение. Единственное, что требуеться увидеть в ней числа Фибонначи (если знать что это такое ![]() Далее можно выписать все числа до 25, можно меньше, если знать свойство: Fn+m=Fn-1*Fm+Fn*Fm+1. В нашем случаи разбиваем как 13+12 и получаем, что F25=F12*F12+F13*F13=F12^2+F13^2. Если человек не первый раз видит ряд, то можно вспомнить, что F10=55, F12=144, F13=233 (я вспомнил ![]() Таким образом, задача имеет математический характер. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |