Помогите с заданиями

Книга адресована школьникам средних и старших классов, желающим испытать себя в «олимпийских схватках». Может быть полезна студентам-первокурсникам и преподавателям информатики.

Модераторы: Oleg_D, Модераторы

Re: Помогите с заданиями

Сообщение Oleg_D » 27.12.2012 08:29:41

Вот рабочая ссылка для скачивания:

ftp://freepascal.stack.nl/pub/fpc/dist/2.6.0/i386-win32/fpc-2.6.0.i386-win32.exe

Остальное смотрите в главе 4.

Добавлено спустя 3 минуты 34 секунды:
И после установки новой версии сотрите в рабочей директории старые версии файлов FP.CFG и FP.DSK.
Oleg_D
постоялец
 
Сообщения: 390
Зарегистрирован: 09.05.2011 11:28:36

Re: Помогите с заданиями

Сообщение A.N.Onim » 27.12.2012 16:55:48

Обновил.
Но что-то отладка всё равно не выходит... :?
Вот смотрите:
Запускаю, открываю :
Изображение
Нажимаю «Ctrl+F7»:
Изображение
Нажимаю ок и F7:
Изображение
Это же не так как в книге?
A.N.Onim
новенький
 
Сообщения: 17
Зарегистрирован: 24.12.2012 00:18:52

Re: Помогите с заданиями

Сообщение Paster Fob » 27.12.2012 19:52:51

либо сразу на вкладке Debug выбери Watches,либо это окно само появиться после добавления в него переменной.Затем выбери вкладку Window => Tile открытые окна появяться рядом друг с другом.После нажатия f7 или f8 запустится пошаговое выполнение программы.Введи строку нажми enter 2 раза.нажимай f7 и наблюдай как меняются значения переменных.
Аватара пользователя
Paster Fob
постоялец
 
Сообщения: 188
Зарегистрирован: 22.02.2011 21:53:36
Откуда: Новосибирск.

Re: Помогите с заданиями

Сообщение Oleg_D » 27.12.2012 22:30:01

A.N.Onim писал(а):Но что-то отладка всё равно не выходит...

Попробуйте, как Paster Fob прописал, у вас окно Watch должно появиться.
И завтра сообщите: вышло или нет.
Oleg_D
постоялец
 
Сообщения: 390
Зарегистрирован: 09.05.2011 11:28:36

Re: Помогите с заданиями

Сообщение A.N.Onim » 28.12.2012 00:15:43

Не выходит.
Что бы Вам было понятнее постараюсь как можно детальнее описать то что я делаю.
И так :
1. Запускаю Free Pascal :D .
Изображение
2. Открываю нужный файл .pas (смотрите первый скрин последнего моего поста).
3. Ставлю курсор под переменную k :
Изображение
4. Нажимаю «Ctrl+F7» (см. второй скрин моего последнего поста).
5. Нажимаю ОК:
Изображение
6. Нажимаю F7(см. третий скрин моего посл. поста)
7. Ввожу QAAAP нажимаю энитер и так три раза:
Изображение
Потом нажимаю ёще раз энтер знизу появляется : QAAAPте строку, потом жму ёщё раз энтер:
Изображение
A.N.Onim
новенький
 
Сообщения: 17
Зарегистрирован: 24.12.2012 00:18:52

Re: Помогите с заданиями

Сообщение Paster Fob » 28.12.2012 08:31:42

Отладчик в FPC очень глючный.К нему подход надо знать.Я приловчился мало-мальски.Если несколько readln(); нормально прочитать не может введённые данные
Аватара пользователя
Paster Fob
постоялец
 
Сообщения: 188
Зарегистрирован: 22.02.2011 21:53:36
Откуда: Новосибирск.

Re: Помогите с заданиями

Сообщение Oleg_D » 28.12.2012 09:20:46

A.N.Onim писал(а):Не выходит. Что бы Вам было понятнее постараюсь как можно детальнее описать то что я делаю.


В целом у вас работает, как и должно, только непонятно, что внутри процедуры происходит.
Повторю ваши шаги со своими дополнениями.

1. Запускаю Free Pascal :D .
2. Открываю нужный файл .pas (смотрите первый скрин последнего моего поста).
2-а Здесь надо откомпилировать файл (F9). Даже повторно откомпилировать не помешает.
3. Ставлю курсор под переменную k :
4. Нажимаю «Ctrl+F7» (см. второй скрин моего последнего поста).
5. Нажимаю ОК:
5-а Здесь надо расположить окна друг под другом: Menu --> Window --> Tile
6. Нажимаю F7(см. третий скрин моего посл. поста)
7. Ввожу QAAAP нажимаю энтер и так три раза:
Тут хотелось бы увидеть скрин в тот момент, когда отладчик вошёл внутрь процедуры.
Oleg_D
постоялец
 
Сообщения: 390
Зарегистрирован: 09.05.2011 11:28:36

Re: Помогите с заданиями

Сообщение Paster Fob » 28.12.2012 09:35:04

Попробовал я понаблюдать за переменной S в данном коде и вот что у меня вышло.
При первой интерации введённое слово попало в переменную s,далее в процедуру,т.е. всё нормально. :)
Вторая интерация выдала сюрприз переменная s оказалась пустой. :?:
При третьем прохождении цикла в переменную s попало предидущее значение. :cry:
Разве так должно быть?
Аватара пользователя
Paster Fob
постоялец
 
Сообщения: 188
Зарегистрирован: 22.02.2011 21:53:36
Откуда: Новосибирск.

Re: Помогите с заданиями

Сообщение Oleg_D » 28.12.2012 10:21:03

Да, у меня то же самое: первая итерация -- нормально, а потом глюки. Ну, тут уж только на разработчиков надежда, что исправят со временем. Если есть возможность, поработайте с отладчиком в Borland Pascal. Там, а также в Дельфи, всё работает, как положено. На крайняк, не зацикливайтесь на этой главе, отладчик нужен далеко не всегда.
Oleg_D
постоялец
 
Сообщения: 390
Зарегистрирован: 09.05.2011 11:28:36

Re: Помогите с заданиями

Сообщение Brainenjii » 28.12.2012 10:29:07

Чуть-чуть оффтопну ^_^ Есть очень хорошая штука - автоматизированное тестирование. И связанная с ней техника "Разработка через тестирование" (TDD - Test Driven Development), одним из "побочных" эффектов которой является минимизация задействования отладчика, даже для начинающих разработчиков. ИМХО, было бы ОЧЕНЬ круто, если бы в книжках по обучению программированию разработка рассматривалась именно в контексте TDD, чтобы прививать у программистов привычку к хорошему изначально. Как-то так ^_^
А отладчик с FPC временами просто сводил с ума.
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Помогите с заданиями

Сообщение Oleg_D » 28.12.2012 11:00:52

Brainenjii писал(а):Чуть-чуть оффтопну ^_^

Тогда и я сделаю то же самое :) Тестирование (серьёзное) -- слишком объёмная и сложная тема, поэтому я почти не касаюсь её в книге для начинающих. Её надо отдельно изучать, уже на базе некоторого опыта. Отладка -- это другое, она помогает при поиске "глупых" ошибок, вроде опечаток, недосмотров. В данной главе через отладчик показано, что будет при пропуске ключевого слова VAR (такой недосмотр может допустить и опытный).
Brainenjii писал(а):А отладчик с FPC временами просто сводил с ума.

Вот-вот! Пусть наша программка послужит тестом для разработчиков FP. :D

Добавлено спустя 23 минуты 21 секунду:
----------
Да, по поводу тестов ещё пару слов. Если заметили, решение многих задач в этой книге оформляется в виде процедур и функций, а главная программа служит для их тестирования. Мне кажется, начинающим это уже прививает некоторую привычку к тестированию своих поделок, а со временем они разовьют её.
Oleg_D
постоялец
 
Сообщения: 390
Зарегистрирован: 09.05.2011 11:28:36

Re: Помогите с заданиями

Сообщение A.N.Onim » 28.12.2012 23:25:10

Извиняюсь, сегодня не было времени что-то делать.
Вы можете дать ссылку на скачивание Борланд Паскаль?(буду там делать отладку)
A.N.Onim
новенький
 
Сообщения: 17
Зарегистрирован: 24.12.2012 00:18:52

Re: Помогите с заданиями

Сообщение bormant » 28.12.2012 23:59:09

На сайте embarcadero (правопреемника inprise (правопреемника borland)) есть turbo pascal 5.5, бесплатный для личного некоммерческого использования (правда редактор/отладчик там несколько иные, но для учебных целей вполне годные). Или в сети поискать файлик tp55.zip.
Аватара пользователя
bormant
постоялец
 
Сообщения: 407
Зарегистрирован: 21.03.2012 11:26:01

Re: Помогите с заданиями

Сообщение Oleg_D » 29.12.2012 08:35:41

A.N.Onim писал(а):Вы можете дать ссылку на скачивание Борланд Паскаль?(буду там делать отладку)

По фразе "скачать Borland Pascal" гуглится море ссылок.
По фразе "Turbo Pascal School Pak" -- тоже, эта штука работает даже на Windows-7,8.
Oleg_D
постоялец
 
Сообщения: 390
Зарегистрирован: 09.05.2011 11:28:36

Re: Помогите с заданиями

Сообщение A.N.Onim » 05.01.2013 20:47:31

Приложение И. Стандартная кодировка символов MS-DOS.
Может странный вопрос но всё же: почему русский алфавит(маленькие буквы) идёт с 160 по 175 потом только с 224 по 239 ? И что между 175 и 224 за знаки?
A.N.Onim
новенький
 
Сообщения: 17
Зарегистрирован: 24.12.2012 00:18:52

Пред.След.

Вернуться в Книга "Песни о Паскале"

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru