Краткое содержание с рекомендациями 6 Часть I. Необходимые сведения о компьютере и программе 8




НазваниеКраткое содержание с рекомендациями 6 Часть I. Необходимые сведения о компьютере и программе 8
страница25/33
Дата публикации07.07.2013
Размер4.28 Mb.
ТипКраткое содержание
zadocs.ru > Информатика > Краткое содержание
1   ...   21   22   23   24   25   26   27   28   ...   33
^

Часть IV. Работа в Паскале на компьютере


В этой части мы не будем изучать программирование. Мы будем учиться, как написанные заранее программы вводить в компьютер, отлаживать и выполнять.
^

Что нужно знать и уметь к моменту выполнения первой программы?


  • Вы должны иметь работающий компьютер с установленным на жестком диске Паскалем. Вы должны знать, где у компьютера кнопка включения. Очень желательно, чтобы кто-то опытный сказал вам, что Паскаль работает нормально, и показал, как его запускать. Если опытных рядом нет, я с грехом пополам попробую рассказать вам, как запустить Паскаль («с грехом пополам» потому, что для запуска Паскаля нужно иметь минимальные навыки работы или в Windows или в Norton или в чем-нибудь подобном, а это тема отдельной книги).

  • Вы должны уметь работать с текстом в простейшем текстовом редакторе. Если не умеете, то вам вполне достаточно изучить приложение П1, где вам будут даны все необходимые навыки.

  • Считаю совершенно необходимым, чтобы вы сохраняли все ваши программы, даже самые маленькие, на диске. Поэтому вы должны заранее знать, что такое каталоги (папки) и файлы. Если не знаете, то вам вполне достаточно прочитать приложение П2, где вы узнаете все необходимое.

  • Вы должны знать имя каталога Паскаля и дорожку к нему (что это такое, читайте там же – П2).
^

Порядок работы в Паскале


  1. Запустите Паскаль

  2. Введите программу

  3. Сохраните программу на жестком диске

  4. Выполните программу

    Если результаты вас удовлетворяют, перейдите к пункту 6

  1. Исправьте ошибки в программе

    Вернитесь к пункту 3

  1. Отдыхайте


Рассмотрим подробно и по порядку пункты этого алгоритма.

^

(1) Запуск Паскаля


Итак, вы в отчаянном положении. Вы хотите запустить Паскаль, но не знаете, как это сделать, и некому вам объяснить. Я сейчас попробую вам помочь, но шансы на успех – 50 на 50.

Прежде всего прочитайте приложение П2 и параграфы (2) и (3) из этой главы, так как они помогут вам путешествовать по каталогам (обратите, кстати, внимание на двойную точку (..)). Напомню, что вы должны знать имя каталога Паскаля на вашем компьютере и дорожку к нему. Если не знаете, то могу вам подсказать, что скорее всего имя каталога – TP или TP70 или PASCAL или что-то очень близкое (если у вас Borland Pascal, то, возможно, BP). А находится этот каталог скорее всего в корне одного из логических дисков. Если его нет в корне, то он – внутри какого-нибудь каталога, скажем, PROGRAMS. Только не ищите его в каталоге WINDOWS, это опасно, да и не бывает его там. Вы должны также знать имя запускающего файла в каталоге Паскаля. Это turbo.exe (если у вас Borland Pascal, то bp.exe). Он может находиться не в самом каталоге Паскаля, а в его подкаталоге BIN.

А теперь вперед:

Включите компьютер, если он еще не включен. Некоторое время по черному экрану бегут белые слова – это компьютер рапортует вам о том, как он сам себя проверяет, загружает операционную систему (ОС) и, возможно, другие программы. Затем на экране устанавливается и замирает картинка. Ее вид зависит от ОС и других загруженных программ. В подавляющем большинстве случаев возможны три варианта:
А) Независимо от ОС, у вас автоматически загружается операционная оболочка Norton Commander. Это было бы легче всего.

Б) Ваша ОС – Windows 95.

В) Ваша ОС – Windows 3.1 или 3.11.
Рассмотрим все эти три варианта.
А) Загружен Norton Commander. Его вы узнаете по синему экрану, разделенному по вертикали пополам на две “панели”. На каждой панели – список файлов и подкаталогов какого-нибудь каталога какого-нибудь логического диска вашего компьютера. Имена каталогов приведены заглавными буквами, а имена файлов с расширениями – строчными. Обе панели совершенно равноправны. Это просто два независимых “окна”, глядящие внутрь ваших дисков. Наверху каждой панели написана дорожка к каталогу, внутренность которого вы лицезреете на панели.

Для начала щелкните по клавише ^ F2. Возможно, в открывшемся меню вы сразу найдете Паскаль. Если нет, то при помощи клавиши Esc уберите меню с экрана.

При помощи клавиш , , , , Tab, Enter попробуйте добраться до каталога Паскаля на манер того, как я вам советую в параграфе (3) добраться до вашего каталога. Только вместо полос прокрутки пользуйтесь мышкой или клавишами , , , , а вместо двойного щелчка мышкой можете пользоваться клавишей Enter. Если вы хотите посмотреть содержимое другого логического диска, то, удерживая нажатой клавишу Alt, щелкните по клавише F1 или F2 и из появившегося меню выберите нужный диск.

Вот вы нашли Паскаль. Зайдите внутрь каталога Паскаля. Здесь вам нужно найти запускающий файл. Запустите Паскаль, щелкнув по этому файлу клавишей Enter. Дело сделано.
Б) Загружена ОС Windows 95. Попробуйте найти на экране значок с надписью Turbo Pascal или близкой, и если нашли, щелкните по ней мышкой дважды. Если двойной щелчок не получается, щелкните один раз, а затем нажмите клавишу Enter. Дело сделано.

Если значок не нашли, найдите в левом нижнем углу экрана «кнопку» Пуск или «подковырните» ее оттуда мышкой. Щелкните по ней мышкой. Щелкните в выпавшем меню слово Программы, а там – Проводник. Откроется окно, в котором вы попробуйте добраться до каталога Паскаля на манер того, как я вам советую в параграфе (3) добраться до вашего каталога. Но рычаги управления здесь другие. В левой половине окна Проводника вы увидите дерево, похожее на то, что я описывал в П2. Пользуясь полосами прокрутки, найдите на нем значок нужного вам логического диска и если слева от него стоит значок “+”, щелкните по плюсу. Из логического диска “выскочат” ветки-каталоги. Щелкните по значку нужного каталога. В правой половине окна Проводника вы увидите список файлов и подкаталогов этого каталога. Каталоги изображены значками в виде желтых папочек, файлы – любыми другими. Найдите запускающий файл в виде белого прямоугольника с нужным именем и щелкните его дважды.

Может так случиться, что Паскаль заартачится, не захочет запускаться, начнет предупреждать и жаловаться на что-то. Мой совет – попробуйте запустить Norton Commander. Для этого повторите все описанные действия, но не для запуска Паскаля, а для запуска Нортона. Его запускающий файл – nc.exe, находится он в каталоге, имя которому, скорее всего, NC или NC50 или Norton или близкий. Затем перейдите к пункту А).
В) Загружена ОС Windows 3.1 или 3.11. Перед вами – окно с надписью “Диспетчер программ”. Если окна нет, значит – значок с такой надписью. Щелкните по нему дважды, чтобы он превратился в окно. Если двойной щелчок не получается, щелкните один раз, а затем щелчок по слову «Развернуть». Окно раскрылось.

Щелкните по слову “Файл”. В выскочившем из него меню – по слову “Выполнить”. В узеньком окошке с названием “Командная строка” мигает курсор. Наберите на клавиатуре дорожку до Паскаля (например, c:\tp\turbo.exe) и щелкните по клавише ввода. Если дорожка верна, то дело сделано. Если нет, то Windows сообщит вам, что файл она не нашла. Щелкните по сообщению “ОК” на экране и попробуйте найти Паскаль, щелкнув на экране по кнопке “Пролистать”. Выберите мышкой “устройство” (нужный диск). Затем попробуйте найти “каталог”, щелкая дважды по значкам кажущихся вам подходящими каталогов. Начните с самого верхнего значка. Если двойной щелчок не получается, щелкайте один раз, а затем щелчок по слову «ОК». При этом в левом окне внимательно просматривайте имена файлов, входящих в выбранный вами каталог. В окне “Каталоги” значки каталогов-родителей расположены чуть левее, а каталогов-“детей и внуков” – правее. Пользуйтесь прокруткой. Заметив в левом окне запускающий файл Паскаля, щелкайте по нему – и ОК. И еще раз ОК. Дело сделано.
^

(2) Начало работы. Ввод программы. Выход из Паскаля


Итак, вы запустили Паскаль и первое, что вы увидели, это пустой синий экран. В верхнем левом углу мигает черточка – курсор. Значит, Паскаль приглашает вас вводить текст программы. Это пустое синее пространство, со всех сторон взятое как бы в рамочки, называется окном редактора.

И
ногда Паскаль настроен так, что при запуске вместо окна редактора показывает бессмысленное серое пространство - рабочий стол. Курсора нигде не видно, программу вводить некуда. Не огорчайтесь - дело легко поправить. Поправить или мышкой или с клавиатуры.

М
ышкой быстрее - щелкните по слову File в главном меню наверху экрана, а затем в выпавшем из него другом меню - по слову New.

Если с клавиатуры, то нажмите клавишу F10, затем клавишами или подсветите слово File и нажмите клавишу ввода. Затем клавишами или подсветите слово New и снова нажмите клавишу ввода.

Можно вводить программу. Напоминаю, что вводится она, как обычный текст в простейшем текстовом редакторе. Если вы этого не умеете, то вам вполне достаточно изучить приложение П1, где вы получите все необходимые навыки.

(В дальнейшем для краткости я не буду писать, как выбирать пункты меню. Я просто напишу File  New).
Выход из Паскаля - File  Exit.
^

(3) Сохранение программы на диске. Загрузка программы с диска


Итак, у вас на экране программа, готовая к выполнению. Во время выполнения может произойти неприятная вещь – компьютер может зависнуть. Это означает, что изображение на экране замрет, и никакими клавишами или мышкой вы не сможете вывести компьютер из ступора. Придется компьютер выключать и вновь включать. Поскольку ваша программа находится пока только на экране и в оперативной памяти, то при выключении компьютера она пропадет и вам придется вводить ее снова. Чтобы избежать лишней работы, вы должны перед выполнением программы записать (сохранить) ее на диск.

Для этого в меню ^ File есть опция Save. Как только вы ее выберете, перед вами появится диалоговое окно – Паскаль предлагает вам выбрать каталог, в который вы хотите записать программу, и имя, которое вы хотите дать файлу вашей программы (Если вы не очень хорошо знаете, что такое файл и каталог, то сейчас самое время прочесть приложение).





Если вас не устраивает каталог, который предлагает Паскаль, то пролистайте его, щелкнув по стрелкам полосы прокрутки, чтобы найти две точки (..), которые служат выходной дверью из каталога. Щелкните по ним дважды – и вы окажетесь в родительском каталоге. Интерфейс Паскаля менее удобен, чем интерфейс Windows, но вы сможете все-таки отличать имена подкаталогов от имен файлов по косой черте (BackSlash) в конце имени подкаталога.

Путешествуя подобным образом по каталогам, вы в конце концов дойдете до нужного. Дважды щелкните по нему и вы окажетесь внутри него. После этого щелкните внутри поля для имени файла. Там замигает курсор. Сотрите все, что там написано, и введите туда придуманное вами имя файла. После этого нажмите клавишу ввода или щелкните на экране по кнопке OK. Ваша программа записана на диск. В качестве подтверждения заголовок вашего листа изменился с NONAME00.PAS на имя вашего файла с расширением PAS.

Теперь программу можно запускать на выполнение.

После выполнения программу обычно исправляют и дополняют и перед следующим выполнением опять сохраняют: File  Save. Но в этот раз диалоговое окно не появляется. Паскаль, ни о чем вас не спрашивая, стирает с диска всю вашу старую программу и на ее место записывает с тем же именем ту, что вы видите на экране (и то, что вы видите, прокрутив окно, конечно). Так поступают все современные программные продукты.

Если старый вариант программы вам по каким-то соображениям дорог и вы не хотите его стирать, вам нужно выполнить File  Save as… На экране возникает то же самое диалоговое окно, предлагающее вам то же самое имя файла в том же самом каталоге. Измените имя или каталог и щелкните по кнопке OK. Ваша программа с экрана будет записана в другое место диска, а старый файл будет нетронут.
Загрузка программы с диска. Предположим, вы вчера сохранили свою программу, а сегодня хотите продолжить с ней работу. Вы включаете компьютер, запускаете Паскаль, перед вами пустое окно редактора. Ваши действия: File  Open. На экране появляется диалоговое окно, очень похожее на то, что появляется при сохранении программы:

И
действия ваши очень похожи: вы должны отыскать в окне файл вашей сохраненной вчера программы, для чего вам придется попутешествовать по каталогам. Найдя файл, щелкните по нему дважды или один раз по нему, один раз по Open. Ваша программа появляется на экране.
^

(4) Выполнение программы


Перед тем, как выполнить программу, убедитесь, что курсор мигает внутри окна этой программы или что это окно обведено двойной, а не одинарной рамочкой. Я об этом упоминаю потому, что если вы работаете с несколькими окнами (о чем речь ниже), то курсор может мигать в любом из них.

Выберите пункт главного меню ^ Run. В выскочившем подменю щелкните по опции Run. Все остальное делает компьютер. Начинает он с того, что за долю секунды компилирует вашу программу. После этого, не прерываясь ни на мгновение, он начинает выполнять откомпилированную программу. При этом окно редактора уходит с экрана и на нем возникает черное окно пользователя, на котором Паскаль и будет печатать и рисовать все, что прикажет программа. Если программа короткая и не содержит остановок и пауз, то Паскаль мгновенно печатает и рисует все, что приказано, и возвращает на экран окно редактора. Поскольку все произошло мгновенно, то создается впечатление, что ничего и не произошло – на экране было окно редактора, потом что-то мелькнуло, - и снова на экране окно редактора, а результатов никаких и не видно.

Чтобы увидеть результаты, можно пойти двумя путями:

  • После того, как программа уже выполнилась, выбрать опцию ^ User Screen. В Турбо-Паскале 7.0 она находится в пункте меню Debug. Если вам не хочется искать ее в меню, нажмите Alt-F5. На экране возникнет окно пользователя с результатами. Этот способ плох при работе в графическом режиме: изображение или искажено, или вообще не просматривается.

  • Гораздо удобнее использовать в программе оператор ^ ReadLn. В этом случае, наткнувшись во время выполнения программы на ReadLn, Паскаль останавливает программу, окно пользователя с экрана не пропадает, и вы можете смотреть на результаты, сколько хотите. Программа продолжит работу с места остановки, когда вы нажмете на клавишу ввода.


Прокрутка окна пользователя. Если ваша программа печатает много результатов, то все они могут и не поместиться на экране. В этом случае Паскаль начинает прокручивать окно пользователя, и самые верхние результаты исчезают из окна (их уж не вернуть!). Поскольку прокрутка обычно идет быстро, то вы просто не успеваете рассмотреть бегущие по экрану и убегающие наверх результаты. Спокойно посмотреть на них вы сможете только при остановке программы (по ReadLn или по окончанию работы). Чтобы результаты не успели убежать нерассмотренными наверх, используйте не один, а несколько ReadLn, расставив их в нужных местах программы.
Зацикливание. Нормальная программа, выполнив все, что нужно, заканчивает работу. Однако, если вы допустили ошибку и в программе выполняется бесконечный цикл, то программа не завершится никогда. Вы вечно будете смотреть на экран, по которому бесконечно бегут непонятные числа или слова или рисуются графические объекты, а возможно и ничего не происходит, экран пустой – все зависит от характера ошибки.

Для прерывания работы программы (в том числе и зациклившейся) существует комбинация клавиш Ctrl-Break. На экран возвращается окно редактора. Строка программы, на которой она была прервана, выделяется полосой белого цвета. Если вы снова запустите программу, она продолжит работу с прерванного места. Чтобы начать сначала, уберите полосу с экрана клавишами Ctrl-F2.
^

(5) Исправление ошибок. Отладка программы.


Сообщения об ошибках. Ошибки в программах делятся на те, которые Паскаль замечает, и на те, что не замечает и в принципе заметить не может. К первым относятся все синтаксические погрешности, например, BIGIN вместо BEGIN. Их Паскаль замечает еще на стадии компиляции. На стадии выполнения он замечает такие ошибки, как Sqrt(-25), то есть квадратный корень из ‑25. Но вот, если вы, желая возвести число a в куб, вместо a*a*a пишете a*a, то этого не заметит ни один язык в мире.

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

Обнаружив ошибку на стадии выполнения, Паскаль выдает белыми буквами на черном фоне окна пользователя сообщение ^ Runtime error и иногда золотыми буквами на красном фоне краткое описание ошибки и ставит курсор в то место программы, где, по его мнению, она находится.

Вот наиболее типичные для начинающих сообщения об ошибках того и другого рода:

Сообщение

Перевод

Вероятная причина ошибки

Unexpected end of file

Неожиданный конец файла

Вы забыли поставить точку после последнего ^ END. Или не совпадает количество begin и количество end

“;” expected

Ждал точку с запятой

Вы забыли поставить точку с запятой после предыдущего оператора

“,” expected

Ждал запятую

Вы указали слишком мало параметров в обращении к подпрограмме

“)” expected

Ждал скобку “)”

Вы указали слишком много параметров в обращении к подпрограмме

Unknown identifier

Неизвестное имя

Вы забыли описать это имя в разделе описаний

Неправильно записали стандартное имя, например, ^ ReedLn вместо ReadLn

Type mismatch

Несовпадение типов

В вашей программе встречаются примерно такие «сладкие парочки»: ^ VAR c:String; … c:=1+2 или VAR h:Integer; … h:=9/7

Duplicate identifier

Дубль имени

Одно и то же имя описано два раза. Например, ^ VAR a, c, a :String;

Syntax error

Синтаксическая ошибка

Паскаль затрудняется назвать причину ошибки. Часто причина в том, что вы забыли взять строковую константу в кавычки

BEGIN expected

Ждал BEGIN

Возможно, не совпадает количество begin и количество end

END expected

Ждал END

Возможно, не совпадает количество begin и количество end

String constant exeeds line

Строковая константа превышает допустимую длину

Вы забыли закрыть кавычки в строковой константе

Line too long

Строчка слишком длинна

Слишком длинная строчка в программе (не путать со строковой константой, которую нужно брать в кавычки). Не рекомендую залезать программным текстом за правый край экрана

Disk full

Диск заполнен

На вашем диске не осталось места. Надо что-то стереть

Lower bound greater than upper bound

Нижняя граница диапазона больше верхней

Например, вы вместо array[2..5] написали array[5..2].

Invalid floating point operation

Неправильная операция с вещественным результатом

Sqrt(-25) или a/0 или что-нибудь в этом роде

Ordinal expression expected

Ждал выражение порядкового типа

Например, вы вместо for i:=1 to 8 написали for i:=1 to 8.5

Error in expression

Ошибка в выражении

Например, вы вместо k:=а*8 написали k:=а**8

Range check error

Ошибка проверки диапазона

Переменная в процессе выполнения программы вышла за пределы допустимого диапазона, как например, в 1.9

Constant out of range

Константа не в диапазоне

Величина константы в программе превосходит допустимый диапазон

Invalid numeric format

Неправильный числовой формат

Если, например, вы по оператору ReadLn(k) в программе VAR k:Integer; …. ReadLn(k) … пытаетесь ввести число 25.3

Более подробное описание некоторых ошибок вы найдете в 0.3.
Понять смысл многих других сообщений об ошибках вам поможет перевод некоторых часто встречающихся в сообщениях слов:

expected ждал

identifier имя

invalid неправильный

operation операция

error ошибка

variable переменная
Невозможно создать компилятор, который бы всегда точно находил место и причину ошибки. Поэтому приготовьтесь к тому, что некоторые сообщения вы будете долго разглядывать в недоумении. Считайте их не реальными ошибками, а намеками на реальные ошибки.

Пошаговый режим

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

На случай возникновения таких ситуаций Паскаль предлагает ряд отладочных средств. Я начну с пошагового режима.

Идея пошагового режима вот в чем. Компьютер слишком быстро выполняет программу и человек не успевает проследить «за ходом его мыслей». Хорошо бы мы сами задавали темп выполнения программы. Тогда ошибку обнаружить было бы значительно легче.

Рассмотрим задачу из 1.1: В компьютер вводятся два произвольных положительных числа - длины сторон двух кубиков. Компьютер должен подсчитать объем одного кубика - большего по размеру . Обозначаем a1 - сторону одного кубика, a2 - сторону другого, V - объем кубика. Приведем второй вариант программы:

^ VAR a1,a2,V : Real;

BEGIN

ReadLn (a1,a2);

if a1>a2

then V:=a1*a1*a1

else V:=a2*a2*a2;

WriteLn (V : 15:5)

END.

Запускайте программу, но не обычным образом, а клавишей ^ F7, которая является более быстрым способом вызова меню RunTrace into. (Кстати, обратите внимание, что справа от многих опций меню обозначены «горячие» клавиши, которыми эти опции можно быстро вызывать.) Паскаль откомпилирует вашу программу и сделает паузу перед началом выполнения программы, подсветив горизонтальной полосой строку BEGIN.

Еще раз F7. Ничего не происходит, только полоса подсветки прыгает на следующую строку. В ней находится первый исполняемый оператор вашей программы – ReadLn (a1,a2).

Итак, правило простое – при нажатии на F7 Паскаль выполняет одну строку программы и подсвечивает ту строку, которой предстоит быть выполненной.

F7. Паскаль выполняет^ ReadLn (a1,a2), в результате чего у вас, как и при обычном выполнении программы, во весь экран распахивается черное окно пользователя. Оператор требует ввода двух чисел. Введите, например, 5 и 4, не забыв нажать на клавишу ввода. Окно пользователя пропадет, снова возникнет окно редактора и вы увидите, что серая полоса подсветки перескочила на строку if a1>a2.

^ F7. Паскаль выполняет if a1>a2, в результате чего полоса прыгает на then V:=a1*a1*a1, так как 5>4.

F7. Полоса перепрыгивает через else V:=a2*a2*a2 и попадает на WriteLn (V : 15:5).

F7. Паскаль выполняет WriteLn (V : 15:5), в результате чего печатается результат, а полоса перескакивает на строку END.

F7. Полоса пропадает. Программа выполнена. Посмотрим на результат при помощи Alt-F5.
Теперь еще раз выполните ту же программу в пошаговом режиме. Но когда ReadLn (a1,a2) потребует двух чисел, введите 2 и 3. Теперь уже после if a1>a2 полоса прыгает не на then V:=a1*a1*a1, а на else V:=a2*a2*a2.
В любой момент пошагового выполнения программы вы можете вместо F7 выбрать RunRun (клавиши Ctrl-F9) и программа продолжит выполняться в обычном режиме. Чтобы прервать пошаговый режим, выберите RunProgram reset (клавиши Ctrl-F2).
Работа с окнами пользователя и отладчика
Предположим, у вас не получается задание из 2.1 - определить без компьютера, что будет печатать следующая программа:

^ LABEL m1,met5;
VAR n,k : Integer;
BEGIN
n:=10;

k:=0;

WriteLn('Считаем зайцев' );

met5: Write(n);

n:=n+k;

goto m1;

n:=n+1;

m1: Write(' зайцев ');

ReadLn;

k:=k+1;

goto met5;

WriteLn('Посчитали зайцев')

END.

Ответ: Эта программа должна печатать:

Считаем зайцев
10 зайцев

10 зайцев

11 зайцев

13 зайцев

16 зайцев

20 зайцев

………

С ответом у вас не сходится. Значит, вы чего-то не понимаете. Чего? Чтобы определить это, вы вводите программу в компьютер. Он печатает все, как в ответе. Почему? Вероятно, вы не понимаете, как изменяются в процессе выполнения программы значения переменных n и k. Хорошо бы можно было подсмотреть за их значениями в оперативной памяти. Хорошо бы также напечатанные результаты не пропадали с экрана, а были бы всегда перед глазами.

Проделайте следующее. (При дальнейшем объяснении я буду предполагать, что вы умеете обращаться с несколькими окнами на экране. Кто не умеет, читайте следующий параграф.)

Сузьте окно вашей программы так, чтобы оно освободило примерно половину ширины экрана. Далее - DebugOutput. Перед вами появляется черное окно пользователя, в котором вы привыкли наблюдать результаты, но в уменьшенном виде. Измените его размер и отбуксируйте на свободное место экрана.

Далее - DebugWatch. Перед вами появляется окно отладчика, в котором вы будете наблюдать значения переменных величин в оперативной памяти. Измените его размер и отбуксируйте на оставшуюся часть экрана.

Вот как будет выглядеть ваш экран после всех манипуляций (и уже после нескольких выполнений цикла в пошаговом режиме, о чем дальше):





Вы сами должны сказать Паскалю, за какими переменными хотите следить. Очевидно, в вашем случае это n и k. Ваши действия: DebugAdd watch… ,запишите имя n в открывшемся диалоговом окне и – щелчок по кнопке OK. В окне отладчика появится сообщение n:7 или n:0 или какое-нибудь другое число или сообщение. Не обращайте на это внимания. Повторите всю процедуру с k.

Теперь можно запускать программу на выполнение в пошаговом режиме. Для этого нажмите на F7. Паскаль откомпилирует вашу программу, возможно, изменит значения в окне отладчика и сделает паузу перед началом выполнения программы, подсветив горизонтальной полосой строку BEGIN.

F7. Паскаль, возможно, обнулит значения в окне отладчика. Полоса подсветки прыгает на следующую строку. В ней находится первый исполняемый оператор вашей программы – n:=10.

Итак, правило простое – при нажатии на ^ F7 Паскаль выполняет одну строку программы и подсвечивает ту строку, которой предстоит быть выполненной.

F7. Паскаль выполняет n:=10, в результате чего в окне отладчика значение n меняется на 10, а серая полоса прыгает на строку k:=0.

F7. Паскаль выполняет k:=0, в результате чего в окне отладчика значение k становится равным 0, а полоса прыгает на строку WriteLn('Считаем зайцев' ).

F7. Паскаль выполняет WriteLn('Считаем зайцев' ), в результате чего в окне пользователя появляется напечатанный текст ^ Считаем зайцев, а полоса прыгает на строку met5: Write(n).

F7. Паскаль выполняет Write(n). В окне пользователя в новой строке появляется число 10, так как в оперативной памяти n равно 10 (об этом нам говорит окно отладчика). а полоса прыгает на строку n:=n+k.

F7. Паскаль выполняет n:=n+k, в результате чего в окне отладчика значение n остается равным 10, так как в оперативной памяти k равно 0. Полоса прыгает на строку goto m1.

F7. Паскаль выполняет goto m1. Полоса перепрыгивает на строку m1: Write(' зайцев ').

F7. Паскаль выполняет Write(' зайцев ' ), в результате чего в окне пользователя справа от числа 10 появляется текст зайцев, а полоса прыгает на строку ReadLn.

F7. Паскаль выполняет ReadLn, в результате чего окно пользователя распахивается на весь экран и ^ ReadLn ждет, когда вы нажмете на клавишу ввода. Вы нажимаете – и полоса прыгает на строку k:=k+1.

F7. Паскаль выполняет k:=k+1, в результате чего в окне отладчика значение k меняется на 11. Полоса прыгает на строку goto met5.

F7. Паскаль выполняет goto met5. Полоса перепрыгивает вверх, на строку met5: Write(n).
И так далее.
Если ваша программа рисует что-то в графическом режиме, то, к сожалению, при описанном способе работы картинки видны не будут.

Если в вашей программе есть подпрограммы, то серая полоса проникнет и внутрь подпрограмм и будет скакать там, как ни в чем не бывало. Таким образом, вы сможете анализировать и работу подпрограмм. Если же вы не хотите утомлять себя прыжками внутри подпрограмм, нажимайте не F7, а F8. Тогда Паскаль будет выполнять подпрограмму мгновенно в автоматическом режиме и серая полоса будет путешествовать только внутри основной программы. Вы можете свободно чередовать нажатия F7 и F8. Клавиша F7 будет направлять вас «вглубь» подпрограмм, а F8 - «наружу».
Отладка больших программ
Точки прерывания - Breakpoints. Будем считать “большими” программы, превышающие пару размеров экрана. Для них изложенный только что пошаговый режим может быть очень утомительным, так как слишком часто приходится жать F7. Вы можете заставить Паскаль при выполнении программы задерживаться не на каждой строке, а только на некоторых - тех, что вам нужно.

Поставьте курсор на одну из этих строк и нажмите Ctrl-F8. Строка станет красной. Это знак того, что при выполнении программа на ней остановится. Будем называть эту строку точкой прерывания или контрольной точкой.

Поставьте курсор на другую строку и снова нажмите Ctrl-F8. Эта строка тоже станет точкой прерывания.

Так проделайте со всеми нужными вам строками. Затем можете обычным образом вывести на экран окна пользователя и отладчика.

А теперь обычным образом (RunRun или Ctrl-F9) запускайте программу. Программа будет выполняться до тех пор, пока не наткнется на какую-нибудь точку прерывания. На ней она встанет и продолжит работу с того места, где остановилась, только при новом нажатии Ctrl-F9. И так далее.

Убирается точка прерывания точно так же, как ставится - Ctrl-F8.
Иди до курсора” - Goto cursor. Это еще один способ остановки в нужной вам строке. Поставьте курсор в нужную строку и нажмите F4. Программа будет выполняться до тех пор, пока не наткнется на строку с курсором. А теперь поставьте курсор в другую строку и снова нажмите F4. Программа продолжит работу с того места, где остановилась, и будет выполняться до тех пор, пока не наткнется на строку с курсором. И так далее.
Кстати, в процессе выполнения программы вы можете достаточно свободно переключаться между разными способами ее выполнения – F7, F4 или Ctrl-F9.
Испольование Write и ReadLn. Если программа работает с графикой, то пользоваться вышеописанными средствами отладки или неудобно или нельзя. Не беда. Еще до существования всех и всяческих отладчиков программисты пользовались вспомогательной печатью значений переменных. Действительно, вместо использования окна отладчика для подсматривания за переменными n и k, вы просто можете в программу вставить дополнительный оператор Write(’ n=‘,n,’ k=‘,k). А вместо пошагового режима можете в нужных местах программы поставить ReadLn. Когда программа будет отлажена, вы уберете эти дополнительные операторы.

Только имейте в виду, что когда экран с вашими картинками донизу будет заполнен информацией, напечатанной оператором Write, он начнет прокручиваться вверх, а вместе с ним вверх уползут и ваши картинки. Чтобы избежать этого, нужно сделать так, чтобы не допечатав донизу, компьютер при помощи ReadLn сделал паузу (чтобы вы успели посмотреть результаты печати) и снова стал печатать бы сверху. А для печати сверху необходимо вставить в нужное место программы оператор GotoXY (см.4.7). А уж для этого вам нужно использовать модуль CRT (см. 5.1) и вставить в начало программы оператор DirectVideo:=false (см.6.3).
^

Работа с несколькими окнами.


Выполните, пожалуйста, FileNew. Еще раз FileNew и еще. У вас на экране появился каскад из нескольких окон. В каждом из них вы можете писать независимую программу, независимо выполнять ее и сохранять на диске. Листаем окна клавишей F6.

В обычной практике программиста несколько окон появляются на экране не в результате FileNew, а в результате FileOpen, когда программисту нужно или сравнить работу нескольких старых программ или скопировать часть текста из одной программы в другую.

То окно, в котором вы щелкнули мышкой, становится активным. Его легко отличить по двойной рамочке и по тому, что оно ближе к вам, чем остальные окна, и загораживает их. Остальные окна имеют одинарную рамочку. Когда вы запускаете программу на выполнение, то выполняться будет всегда программа из активного окна (Если только у вас не указан какой-нибудь файл в опции CompilePrimary file. Если указан, то выберите CompileClear primary file).

Чтобы «достать» окна, загороженные другими, используйте мышку или ^ F6.

Действия с одним окном:

  • Каждое окно можно таскать по экрану, ухватившись мышкой за заголовок (это значит – поставить мышку на верхнюю грань окна, где записан заголовок, нажать левую кнопку мыши и не отпуская ее, таскать мышь по экрану).

  • Можно изменять размеры окна, таская его правый нижний угол.

  • Можно распахивать окно на весь экран и снова уменьшать клавишей F5 или щелчком мыши по стрелке в правом верхнем углу окна.

  • Можно уничтожить окно клавишами Alt-F3 или щелчком мыши по кнопке в левом верхнем углу окна.

  • Прокручивать текст в окне можно при помощи полос прокрутки на правой и нижней грани окна.


У начинающего программиста наличие нескольких окон на экране создает впечатление беспорядка. Не поддавайтесь соблазну уничтожать «лишние» окна. Они наверняка вам понадобятся чуть позже, а наводить порядок вы со временем научитесь.
^

Копирование и перемещение фрагментов текста


Часто в программах попадаются одинаковые или почти одинаковые фрагменты. Чем переписывать их заново, быстрее скопировать.

Поставьте мышку на первую букву копируемого фрагмента, нажмите левую клавишу мыши и, не отпуская ее, ведите мышь на конец копируемого фрагмента. Фрагмент будет выделен подсветкой. Если в процессе ваша рука дрогнет, то на экране будут происходить страшные вещи. Сохраняйте хладнокровие и ни за что не отпускайте клавишу мыши. Когда вы доведете ее до последней буквы фрагмента, все уляжется. Можете отпускать мышь. Выделенный же фрагмент Паскаль умеет перемещать и копировать в другое место. Следующим образом:

Перемещение: Дайте команду EditCut - фрагмент исчез. Паскаль запомнил его в специальном месте памяти, которое называется буфер обмена или временный буфер. Теперь поставьте мигающий курсор текстового редактора в нужное место (для этого достаточно щелкнуть там мышкой). Теперь EditPaste - то, что было в буфере обмена, переносится на место курсора.

Копирование: Дайте команду EditCopy – фрагмент не исчез. Остальное - аналогично перемещению.
Если у вас на экране несколько окон, то вы точно так же можете копировать фрагменты из одного окна в другое.
^

Обзор популярных команд меню


Часто бывает так, что свои программы вы храните в одном каталоге, а при нажатии FileOpen или FileSave Паскаль предлагает совсем другой каталог, за тридевять земель от нужного, что неудобно. FileChange dir… дает вам возможность самому задать предлагаемый каталог. Делайте двойные щелчки по именам каталогов на дереве каталогов, пока не доберетесь до нужного.

Если вы при вводе программы сделали какую-то глупость и в окне редактора ВСЕ ОЧЕНЬ ПЛОХО!!! – не паникуйте – ничего не пропало! EditUndo означает последовательную отмену ваших действий. А EditRedo означает последовательный возврат ваших отмененных действий.

Установите флажок (крестик) в OptionsCompiler…Compiler OptionsRuntime Errors Range Checking для того, чтобы Паскаль во время выполнения программы проверял, не вышли ли значения переменных и индексы, используемые в вашей программе, за указанные в разделе описаний пределы. Одно замечание: режим проверки включается не в тот момент, когда вы установили флажок, а тогда, когда после установки флажка вы компилируете программу. А если она была уже раньше откомпилирована и больше не хочет (так как не изменялась с тех пор)? Тогда измените ее как-нибудь – например, вставьте куда-нибудь ничего не значащий пробел и запустите на выполнение. Теперь ей придется перед выполнением подвергнуться компиляции.

Если при запуске программы, обращающейся к стандартным модулям, Паскаль жалуется, что не может найти модуль (^ File not found (GRAPH.TPU)), то проверьте, что записано в Options Directories… Unit directories. Там должна быть указана дорожка к файлам стандартных модулей и в том числе – к модулю GRAPH.TPU. Они обычно размещены в каталоге Units главного каталога Паскаля.

Если вы недовольны тем, что на экране умещается только 25 строк программного текста, воспользуйтесь OptionsEnvironmentPreferencesScreen Sizes

Если вам не нравятся цвета, предлагаемые средой Паскаля, то воспользуйтесь Options Environment Colors. Правда, для этого нужно знать английские термины для элементов оформления этой среды.

Если у вас на экране мешанина окон и вы хотите навести среди них порядок, воспользуйтесь Window Cascade или Window Tile. Список имен всех окон на экране вы найдете в Window List….

Если вы знаете английский язык, то можете воспользоваться системой помощи Help. Если вы хотите узнать поподробнее о каком-нибудь операторе или другом слове из своей программы, являющимся стандартным для Паскаля, поставьте на него мигающий курсор и нажмите Ctrl-F1. В открывшемся окне вы можете найти ссылку Sample Code, что означает пример программы с использованием интересующего вас слова. Вы можете этот пример скопировать оттуда обычным образом в окно редактора и выполнить его.
^

Создание исполнимых файлов (exe)


Ваши паскалевские программы могут работать только «из-под» Паскаля. Это значит, что если вы запишете свою любимую программу на компьютер, где Паскаля нет, то там вы ее запустить не сможете. Чтобы все-таки быть запущенной и без Паскаля, программа должна быть вами заранее откомпилирована и записана на диск с расширением exe (то есть стать «экзешным» файлом или, как еще говорят, – «экзешником»).11

Сделать это просто: Compile - затем убедитесь, что в выпавшем меню опция Destination (куда записать откомпилированную программу) находится в положении Disk, а не Memory (оперативная память). Если это не так, то щелкните по этой опции. Теперь все в порядке. Снова Compile  Compile и все - ваш файл с расширением exe находится на диске, в том же каталоге и с тем же именем, что и исходный файл с расширением pas.

Если ваша программа использует модуль Graph, то одного «экзешного» файла недостаточно. Для того, чтобы он запустился на чужом компьютере, там, в одном каталоге с ним, должны находиться файл графического драйвера egavga.bgi (или сga.bgi, если у вас видеоадаптер CGA) и все используемые вами векторные шрифты (файлы с расширением chr). Скопируйте их из каталога BGI главного каталога Паскаля.
1   ...   21   22   23   24   25   26   27   28   ...   33

Похожие:

Краткое содержание с рекомендациями 6 Часть I. Необходимые сведения о компьютере и программе 8 icon7. Access и бд. Создание бд, работа с таблицами, схема данных
Если база данных хранится не на компьютере или на компьютере хранятся только ее части, приходится отслеживать сведения из целого...

Краткое содержание с рекомендациями 6 Часть I. Необходимые сведения о компьютере и программе 8 iconМетодическое пособие ( Windows xp) Ростов-на-Дону 2013 Содержание...
Начальные сведения: компьютер, устройства, программы. Запуск и завершение работы. Клавиатура и мышь

Краткое содержание с рекомендациями 6 Часть I. Необходимые сведения о компьютере и программе 8 iconПрограмма «Курс молодого миссионера» на 2013-2015 год Наименование предметов
...

Краткое содержание с рекомендациями 6 Часть I. Необходимые сведения о компьютере и программе 8 iconНегосударственное образовательное учреждение Адрес: ул. Победы, 51,...
Бухгалтерский учет со знанием 1С: Бухгалтерии для государственного учреждения 2 (+ работа в программе Банк-Клиент)

Краткое содержание с рекомендациями 6 Часть I. Необходимые сведения о компьютере и программе 8 icon1. 2 Теоретические основы информатики Представление информации в компьютере
Для унификации (единообразия) представления в компьютере различной информации (текстовой, аудио-, видео-, и т д.) используют ее кодирование....

Краткое содержание с рекомендациями 6 Часть I. Необходимые сведения о компьютере и программе 8 iconКраткое содержание происходящего здесь

Краткое содержание с рекомендациями 6 Часть I. Необходимые сведения о компьютере и программе 8 iconКраткое содержание курса
Федеральное государственное бюджетное учреждение высшего профессионального образования

Краткое содержание с рекомендациями 6 Часть I. Необходимые сведения о компьютере и программе 8 iconСтроительство подземных сооружений
Рабочая программа, краткое содержание, рекомендуемая литература, домашние задания

Краткое содержание с рекомендациями 6 Часть I. Необходимые сведения о компьютере и программе 8 iconУрок Навыки работы на компьютере. Начальные сведения: компьютер,...
Начальные сведения: компьютер, устройства, программы. Запуск и завершение работы. Клавиатура и мышь

Краткое содержание с рекомендациями 6 Часть I. Необходимые сведения о компьютере и программе 8 iconА) Краткое содержание методов изготовления металлоконструкций.(8-10)
Б) Инструменты, приспособления и оборудование применяемые при изготовлении изделий.(11-13)

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
zadocs.ru
Главная страница

Разработка сайта — Веб студия Адаманов