Window - работа с окнами.
УДК 681. 3
Сидоров М. Е. , Трушин О. В.
Школа работы на IBM PC. Часть 2. Уфа, 1996. с.
ISBN
Книга написана для начинающих программистов: учащихся старших классов, студентов. Для освоения изложенного материала необходимо наличие компьютера IBM PC, пакета Turbo-Pascal 7.0, и выполнение описанных в книге заданий непосредственно при чтении.
Цель этой книги - "плавное" вхождение в область программирования с постепенным усложнением заданий и алгоритмов. Первые задания имеют программы -"шаблоны", позволяющие начинающим программистам преодолеть психологический барьер изложения мыслей на алгоритмическом языке. Последующие задания имеют блоки операторов, поясняющие "изюминку" программы, которые следует модифицировать. Следует изучить приведенные примеры ("шаблоны") операторов и четко знать для чего служит каждый оператор. Большинство изложенных заданий являются оригинальными разработками авторов, особенно по модулям CRT и GRAPH. Приводятся также "стандартные" и известные интересные программы и задания.
Краткое изложение материала предполагает наличие "учителя", могущего прокомментировать "узкие места", привести дополнительные примеры, задания и контрольные вопросы (в том числе и по "шаблонам"), способствующие усвоению материала. Авторы не стремились к полному описанию языка, поэтому некоторые типы данных, специфические операции и процедуры, не нашедшие практического приложения, не рассматриваются. Авторы использовали все свои знания и опыт для создания познавательных практических заданий, способных вызвать интерес к результатам рутинного программирования. Освоение изложенного в книге материала позволит Вам перейти к профессиональному изучению алгоритмического языка Turbo-Pascal с использованием "толстых" книг, а также Help-описания.
Программирование в среде FoxPro изложено в виде примеров программ, позволяющих освоить основные команды и иметь представление о назначении команд FoxPro. Эта глава предназначена для студентов университетов.
Авторы выражают благодарность учителям информатики Сидоровой Н. Л. и Трушиной Д. В. за помощь при подборе и апробации материала для данной книги.
Разделы 1.15, 2.1.1, 2.1.5, 2.3, 2.5 и глава 3 написаны к. т. н. Трушиным О. В. ,
разделы 1.1 - 1.14, 2.1 - 2.2 и 2.4 написаны к. т. н. Сидоровым М. Е.
Общая редакция текста выполнена Сидоровым М. Е.
ОГЛАВЛЕНИЕ
Стр.
Глава 1. Алгоритмический язык Турбо-Паскаль . . . . . . . . . . . . . . . 5
1. 1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . 5 1. 2. Среда Турбо-Паскаль . . . . . . . . . . . . . . . . . . . . . . . . 5 1. 3. Структура языка Турбо-Паскаль . . . . . . . . . . . . . . . . . . 8 1. 4. Типы переменных . . . . . . . . . . . . . . . . . . . . . . . . . 9 1. 5. Структура программы. . . . . . . . . . . . . . . . . . . . . . . . 13 1. 6. Операции и стандартные функции. . . . . . . . . . . . . . . . . . 14 1. 7. Операторы Турбо-Паскаля . . . . . . . . . . . . . . . . . . . . . 17 1. 7. 1. Операторы ввода/вывода данных . . . . . . . . . . . . . . . . 17 1. 7. 2. Оператор выбора. . . . . . . . . . . . . . . . . . . . . . . . . 21 1. 7. 3. Условный оператор. . . . . . . . . . . . . . . . . . . . . . . . 22 1. 7. 4. Оператор цикла с параметром. . . . . . . . . .. . . . . . . . 27 1. 7. 5. Операторы цикла с условием. . . . . . . . . . . . . . . . . . . 32 1. 7. 6. Операторы ограничения и прерывания цикла . . . . . . . . . . 35 1. 7. 7. Оператор перехода к метке. . . . . . . . . . . . . . . . . . . 36 1. 8. Блок - схемы алгоритмов. . . . . . . . . . . . . . . . . . . . . 37 1. 9. Составление диалоговых программ . . . . . . . . . . . . . . . . . 39 1. 10. Массивы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 40 1. 10. 1. Линейные массивы. . . . . . . . . . . . . . . . . . . . . . .. . . 40 1. 10. 2. Работа со элементами переменной строкового типа. . . . . .. . . 44 1. 10. 3. Двумерные массивы . . . . . . . . . . . . . . . . . . . . . .. . . 45 1. 10. 4. Создание баз данных с использованием массивов записей . . . . 48 1. 10. 5. Работа с большими массивами. . . . . . . . . . . . . . . . .. . . 49 1. 11. Текстовые файлы. . . . . . . . . . . . . . . . . . . . . . . . .. . . 50 1. 12. Разработка функций и процедур . . . . . . . . . . . . . . . . .. . . 55 1. 12. 1. Описание функций и процедур . . . . . . . . . . . . . . . . . . 55 1. 12. 2. Рекурсивные функции и процедуры. . . . . . . . . . . . . . . . 60 1. 13. Разработка модулей . . . . . . . . . . . . . . . . . . . . . . . . . 64 1. 14. Модуль CRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 1. 14. 1. Управление экраном в текстовом режиме. . . . . . . . . . . . . 67 1. 14. 2. Управление клавиатурой . . . . . . . . . . . . . . . . . . .. . . 68 1. 14. 3. Работа с символьными переменными. . . . . . . . . . . . . . . 73 1. 14. 4. Работа со строковыми переменными. . . . . . . . . . . . . . . . 76 1. 14. 5. Управление звуковыми сигналами. . . . . . . . . . . . . . . . . 77 1. 15. Модуль Graph. . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 79 1. 15. 1. Инициализация графического режима. . . . . . . . . . . . . . 79 1. 15. 2. Простейшие графические процедуры и функции . . . . . . . . 80 1. 15. 3. Рисование геометрических фигур . . . . . . . . . . . . . . . . 88 1. 15. 3. 1. Построение заполненных фигур . . . . . . . . . . . . . . . 88 1. 15. 3. 2. Работа с линиями. . . . . . . . . . . . . . . . . . . . . . . 91 1. 15. 3. 3. Создание графических узоров. . . . . . . . . . . . . . . . . . . . 94 1. 15. 4. Работа с текстом в графическом режиме. . . . . . . . . . . . . . . . 102
Стр.
1. 15. 5. Мультипликация. . . . . . . . . . . . . . . . . . . . . . . . . 104 1. 15. 5. 1. Мультипликация с запоминанием части экрана. . . . . .. . . 104 1. 15. 5. 2. Мультипликация с чередованием видеостраниц. . . . . .. . . 107 1. 15. 5. 3. Мультипликация с управлением движения образа. . . . . . . 108 1. 15. 5. 4. Модификация контурного изображения. . . . . . . . . . . . 109
Глава 2. Программирование в среде Турбо-Паскаль. . . . . . . . .. 111
2. 1. Геометрические построения на плоскости. . . . . . . . . . . . . . 111 2. 1. 1. Построение графиков функций. . . . . . . . . . . . . . . . . . 111 2. 1. 2. Графическое решение уравнений. . . . . . . . . . . . . . . . . 118 2. 1. 3. Геометрические построения на плоскости . . . . . . . . . . . . 118 2. 1. 4. Построение касательных и нормалей к плоским кривым . . . . 119 2. 1. 5. Двумерные преобразования координат. . . . . . . . . . . . . . 121 2. 1. 6. Проецирование пространственного изображения тела на плоскость. . 126 2. 2. Некоторые задачи физики . . . . . . . . . . . . . . . . . . . . . . . . . 128 2. 2. 1. Механика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 2. 2. 2. Оптика и свет . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 2. 2. 3. Электростатика и электромагнетизм. . . . . . . . . . . . . . . . . 138 2. 3. Математическое моделирование физических процессов . . . . . . . . 140 2. 4. Моделирование многовариантных задач с использованием графов. . 147 2. 5. Программы математических расчетов. . . . . . . . . . . . . . . . . 150 2. 5. 1. Численное решение уравнений. . . . . . . . . . . . . . . . . . . . 150 2. 5. 2. Аппроксимация по методу наименьших квадратов. . . . . . . . . 152 2. 5. 3. Численный расчет интегралов. . . . . . . . . . . . . . . . . 153 2. 5. 4. Сортировка одномерных массивов. . . . . . . . . . . . . . 156
Глава 1. Алгоритмический язык Турбо-Паскаль
Общие сведения
Алгоритмический язык Паскаль разработан профессором Цюрихского технологического института Никлаусом Виртом в 1969-71 годах для обучения студентов структурному программированию. Идеи, заложенные в основу создания языка, позволили фирме Borland International значительно расширить алгоритмические средства языка, а удобный интерфейс (меню команд) и высокая скорость компиляции (процесса перевода текста программы в машинные коды) сделали язык Турбо-Паскаль (Turbo-Pascal) одним из самых распространенных среди начинающих и профессиональных программистов.
Процесс программирования начинается, как правило с составления алгоритма - последовательности операций, описывающих процесс решения задачи.Графическая запись алгоритма представляется в виде блок-схемы. Составление алгоритма заключается в логическом описании процесса решения задачи и требует знания элементов математической логики. Следует отметить, что программированию предшествует важнейший этап - постановка задачи. Постановка задачи может включать широкий спектр вопросов (разработка математических и физических моделей, вывод расчетных формул и т. п. ). Программист должен четко представлять явление или формулу, которые он алгоритмизирует.
Программирование заключается в записи алгоритма на языке программирования и отладке программы. Текст программы записывается в текстовом редакторе, затем программа компилируется - переводится транслятором (переводчиком) в машинные коды и запускается на выполнение. Процесс отладки программы начинается с выявления:
- синтаксических ошибок в тексте ( неверно записанных операторов ),
- ошибок при выполнении программы ( недопустимые математические действия, операции с числами, превосходящими предельные значения ),
- алгоритмических ошибок ( неверно составлен или запрограммирован алгоритм ),
и заканчивается, как правило написанием новой программы, поскольку каждый программист знает, что программу можно усовершенствовать до бесконечности, а отлаженную программу лучше не изменять.
Среда Турбо-Паскаль
Для загрузкисреды Турбо-Паскаль запускается файлturbo. exe.
Меню активизируется нажатием клавишиF10. Перемещение по пунктам меню осуществляется курсорными клавишами. Для выбора пункта меню выделить его курсором и нажать Enter. Пункты меню с многоточием " . . . " содержат установочные параметры (опции). Перемещение по группам опций меню осуществляется нажатием клавиши Tab, (в обратном направлении: Shift+Tab). Для выбора селективной опции меню (*) выделить ее курсором и нажать Tabили Shift+Tab. Для выбора тригерной опции меню [X] выделить ее курсором и нажатьSpeaceBar. Опишем некоторые пункты меню, используемые начинающим программистом в среде Турбо-Паскаль 7. 0.
File- работа с файлами.
New - создать новый файл. Для переименования безымянного файла
( NONAME00. PAS ) нажать F2 и ввести имя файла.
Open F3 - открыть (создать) файл для редактирования. Написать в строке
"Name" имя файла и нажать Enter, либо, нажав Tab или Enter,
выбрать файл из списка. Для смены каталога выбрать ". . \ ";
Save F2 - сохранить файл ( записать на диск );
Save as... - сохранить файл под новым именем(исходный файл остается);
Save all - сохранить все файлы в открытых окнах;
............
Exit ALT+X - выход из среды Турбо-Паскаль;
Список имен файлов для редактирования- выбрав курсором имя файла нажать Enter,
для отмены выбора нажать Esc.
По умолчанию именам файлов с текстом программ присваивается расширение .PAS. При открытии нескольких файлов они последовательно размещаются в окнах для редактирования. При закрытии окон имена файлов показываются в списке файлов для редактирования. Управление окнами осуществляется через отдельный пункт меню.
Window - работа с окнами.
Tile - параллельное размещение окон на экране;
Cascade - последовательное размещение окон в виде каскада;
Close all - закрыть все окна редактирования;
Refresh display - обновить (восстановить) экран среды;
Size Ctrl+F5 - изменение размеров окнаShift+курсорные клавиши;
Move Ctrl+F5 - перемещение активного окнакурсорными клавишами;
Zoom F5 - распахнуть окно во весь экран, F5 - для отмены;
Next F6 - последовательная смена активного окна;
Previous Shift+F6 - смена активного окна в обратном направлении;
Close Alt+F3 - закрыть активное окно;
List Alt+0 - показать список окон. Для активизации окна
выбрать курсором имя окна и нажать Enter.
Выполнение команд Size, Move заканчивается нажатием Enter.
Загрузив файл в редактор, можно использовать команды редактирования.
Edit - редактирование файла (наибольший размер файла 1Мб).
Undo Alt+BkSp - отменить предыдущую команду редактирования;
Redo - восстановить отмененную командуредактирования;
Cut Shift+Del - удалить блок с экрана в буфер(в окно Clipboard);
Copy Ctrl+Ins - скопировать блок с экрана в буфер;
Paste Shift+Ins - извлечь (скопировать) блок из буфера на экран;
Clear Ctrl+Del - удалить блокна экране;
Show Clipboard - показать окно для редактирования содержимого буфера.
Для выделения блока использовать комбинацию - Shift+курсорные клавиши. Начиная с версии Турбо-Паскаль 5. 0 и выше для редактирования текста можно использовать команды:
Ctrl+K B - начать выделение блока курсорными клавишами;
Ctrl+K K - закончить выделение блока курсорными клавишами;
Ctrl+K C - скопировать блок;
Ctrl+K V - переместить блоккурсорными клавишами;
Ctrl+K Y - удалить блок;
Ctrl+K R - прочитать блок с диска;
Ctrl+K W - записать блок на диск;
Ctrl+K H - убрать выделение блока;
Ctrl+Y-удалить строку.
Ctrl+Q F - поиск символов;
Ctrl+Q A - поиск и замена символов.
При поиске символа задается направление поиска от места расположения курсора: вниз по тексту ( Forward ), либо вверх по тексту ( Backward ).
[X] Prompt on replace - подтверждение каждой замены.
При редактировании используются общепринятые приемы перемещения курсора по экрану. Нажатие клавиши Enter вставляет пустую строку. Клавиши Del и BackSpace служат для удаления символов. Нажатие клавиши Ins переключает режимы вставки/замены символов.
Справочная информация вызывается клавишей F1, комбинацией клавиш: Ctrl+F1 (тематический поиск - по слову на который указывает курсор),Shift+F1 (индексный поиск - по первым буквам слова, набранного на клавиатуре), либо через пункт меню Help. КомандойAlt+F10 активизируется локальное меню, пункты которого содержат наиболее часто используемые пункты основного меню.
После внесения изменений в файл рекомендуется записывать его на диск командой Save ( F2 ), иначе при перезагрузке компьютера изменения не сохраняются, а при выходе из среды Турбо-Паскаль командой Exit ( Alt+X ) появляется запрос на сохранение модифицированного файла: Save?
Отредактированную программу необходимо преобразовать в машинные коды (скомпилировать). Для компиляции программыиспользуется комбинация клавиш Alt+F9 или команда Compile меню Compile. Если программа использует нескомпилированные модули (или модули с обновленным текстом), то компиляция осуществляется командами меню Compile: Make (F9)- с компиляцией измененных модулей илиBuild - с перекомпиляцией всех модулей. Компилятор выявляет синтаксические ошибки, устанавливает на неправильном операторе курсор и выдает соответствующее сообщение, например: Error 85 ";" expected (пропущен символ ";"). Отметим, что ошибки, указанные в сообщении, могут быть вторичными - результат неверной записи других операторов. После исправления ошибки необходимо снова запустить компилятор.
В результате компиляции программы образуется исполняемый файл (расширение .ЕXE) в оперативной памяти если установлена опция Memory в меню Compile, Destinationили на диске (опция Disk) в каталоге, указанном в строкеEXE & TPU directoryменю Options, Directories. При компиляции модуля образуется файл с расширением . TPU.
Отметим некоторые опции для работы с файлами.
В меню Options, Environment, Preferences можно указать:
[X] Editor files- автоматическая запись на диск редактируемого файла при запуске его на выполнение,
В менюOptions, Environment, Editor можно указать:
[X] Create backup files- создавать страховочные копии предыдущей редакции файла (расширение . BAK) при записи файла на диск.
[X] Persistant blocks- выделение блока остается после перемещения курсора.
В меню Options, Directoriesнужно указать каталоги для размещения файлов:
EXE & TPU directory- C:\tp7\exe ( с расширением . exe и . tpu ),
Include directories- C:\tp7\inc ( компилируемых с ключом {$I} ),
Unit directories- C:\tp7\unit ( библиотечные файлы *. tpu ).
Сохранить конфигурацию среды можно командойSave меню Options.
КомандаRun меню Run (Ctrl+F9) запускает исполняемый файл на выполнение, если текст программы не изменялся, иначе происходит перекомпиляция программы и ее запуск. Ошибки на этапе выполнения связаны, как правило, с недопустимыми значениями аргументов функций, диапазонов изменения чисел и индексов массивов, неправильными операциями ввода/вывода. Загрузчик выдает код ошибки и ее адрес, например, Runtime error 200: Division by zero at 0BEC:0045 (деление на ноль). Прервать выполнение программы можно нажав комбинацию клавиш Ctrl+Break. После выполнения программы восстанавливается среда Турбо-Паскаль. Результаты вывода на экран можно посмотреть командой Alt+F5.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|