Сделай Сам Свою Работу на 5

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 Все материалы защищены законодательством РФ.