Разработка программы "Вычислительная электронная лаборатория" по физике для раздела "Электричество и Магнетизм"

 

Содержание


Введение

Глава I. Язык объектно-ориентированного программирования Delphi

Краткий обзор языков программирования

Язык объектно-ориентированного программирования Delphi

Глава II. Разработка программы «Вычислительная электронная лаборатория» по физике для раздела «Электричество и Магнетизм»

Электронные лаборатории по физике

Разработка и описание «Вычислительной электронной лаборатории»

Заключение

Литература



Введение


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

полнота информации по учебному предмету;

простота использования;

компактность;

мобильность;

элементы минимального контроля.

Как правило, при дистанционной форме обучения применяются электронные учебники, программы выполнения лабораторных работ по некоторым дисциплинам.

В настоящее время существует множество определений, вот некоторые из них:

это компьютерное, педагогическое программное средство, предназначенное, в первую очередь, для предъявления новой информации, дополняющей печатные издания, служащее для индивидуального и индивидуализированного обучения и позволяющее в ограниченной мере тестировать полученные знания и умения обучаемого;

это электронный учебный курс, содержащий систематическое изложение учебной дисциплины или ее раздела, части, соответствующий государственному стандарту и учебной программе и официально утвержденный в качестве данного вида издания;

это комплекс информационных, методических и программных средств, который предназначен для изучения отдельного предмета и обычно включает вопросы и задачи для самоконтроля и проверки знаний, а также обеспечивает обратную связь;

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

Актуальность данной дипломной работы не вызывает сомнений. Так как современный мир нельзя представить без информационных технологий, а тем более в сфере образования. С развитием дистанционной формы обучения и перехода системы образования на многоуровневую систему - потребность ВУЗ, ПТУ и школ в программах вычислительных лабораторных работ растет день за днем.

Цели и задачи исследования настоящей работы является: выявить теоретические основания для определения понятия языка объектно-ориентированного программирования; проанализировать и систематизировать основные требования к структуре электронной лабораторной работы, а так же к их созданию, разработать программу вычисления лабораторной работы по физике на тему «Проверка закона Ома для постоянного тока».

Объект исследования: процесс создания вычислительно-методического комплекса (УМК) для дистанционного обучения на кафедрах физики.

Предмет исследования: проведение вычислительной электронной лабораторной работой с использованием языка объектно-ориентированного программирования Delphi.

Научная новизна работы:

Практическая значимость работы заключается в разработке программы вычисления лабораторной работы по физике на тему «Проверка закона Ома для постоянного тока».

В качестве апробации данная работа была предложена кафедре Физики в качестве дополнения к учебно-методическому комплексу по разделу Электричество и Магнетизм.

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

В первой главе рассмотрены обзор имеющихся на данный момент языков объектно-ориентированного программирования, теоретическая основа языков объектно-ориентированного программирования Delphi.

Во второй главе описаны краткий обзор электронных лабораторных работ по физике, разработка программы «Вычислительная электронная лаборатория» по физике для раздела «электричество и магнетизм», а также описание данной работы.

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

электронная лаборатория физика вычислительная


Глава I. Язык объектно-ориентированного программирования Delphi


Краткий обзор языков программирования


Язык программирования - формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.

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

Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие:

Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иноговычислительного процесса и организации управления отдельными устройствами.

Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» - это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.

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

Виды и типы современных языков программирования

Разделение языков на универсальные и специализированные.

Все популярные языки можно поделить на универсальные и специализированные. Универсальные языки используются для решения разных задач. Специализированные языки предназначены для решения задач одного, максимум нескольких, видов задач.(например, работы с базами данных, web-программирования или написание скриптов для администрирования операционных систем).

Виды специализированных языков:

.Языки для работы с базами данных:

а)Языки, входящие в состав промышленных клиент-серверных систем управления базами данных.(СУБД) (PL-SQL в СУБД Oracle, Transact-SQL в Microsoft SQL Server)

б)Языки являющиеся частью других видов СУБД (Visual FoxPro, Microsoft Access, Paradox и т.п.)

. Языки предназначенные для web-программирования.

а) Языки, исполняющиеся на сервере, поддерживающего Web-сайт.(РНР, Perl, VBScript)

б) Языки, исполняющиеся на браузере (программе просмотра) клиента JavaScript, JScript, VBScript

.Языки для математических расчетов

.Языки для автоматизации работы определенных программных продуктов. (VBA в Microsoft Office)

.Специализированные языки других видов.

К универсальным языкам можно отнести языки Visual C++, Visual C++.Net, Visual C#.Net, Visual J#.Net, Java, Delphi, Borland C#, Borland C++ Builder.

Хотя чаще всего специализированные языки происходят от универсальных языков например PHP, Perl и JаvаScript произошли от языка С++, VBScript и VBA произошли от языка Visual Bаsic'а, отличия между специализированными и универсальными языками очень значительны.

Специализированные языки, чаще всего используются для написания не очень больших программ, поэтому они оптимизированы на быстрое написание программ и уменьшение размера исходного кода, и в меньшей степени на уменьшение ошибок, использование объектно-ориентированное программирования и разделения кода на модули. А универсальные языки, как правило, используются для создания больших и очень больших проектов, поэтому в них все сделано, чтобы уменьшить количество ошибок и облегчить проектирования программ, облегчение разработки крупных программ.

Основное отличие специальных языков от универсальных:

) В них меньше объектно-ориентированных средств и средств доступа технологий COM+, DCOM, CORBA, к функциям API операционных систем;

)Меньше средств многопоточного программирования и распределенного программирования;

)Используются только динамические типы (т.е. тип переменной определяется в зависимости от её значения, а не при объявление переменной), а не статические. Единственное исключение: в версии 9 языка Visual FoxPro можно использовать и статические типы переменных.

Структура современных языков программирования.

Универсальные языки (и языки производные от них)

I) Производные от языка С++

1. На основе С++:

1.1 Borland C++, Watcom C++ (устарели)

1.2 Microsoft Visual C++

1.3 Microsoft Visual C++ .Net

1.4 Borland C++ Builder

1.5 Borland C++ Builder .Net

1.6 JavaScript[1] (специализированный язык, для разработки страниц в Интернете)

2. На основе Java[2]:

2.1 Java и Java2

2.2 Microsoft Visual J++

2.3 Microsoft Visual J# .Net

. На основе C#:

3.1 Microsoft Visual C# .Net

3.2 Borland C# Builder.Net

II) Производные от языка Pascal

1 Borland Pascal, Turbo Pascal (устарели)

2 Modula, Oberon, Component Pascal, Active Oberon, Zonnon (сейчас непопулярны)

3 Borland Delphi

4 Borland Delphi .Net

III) Производные от языка Basic

1 Microsoft Visual Basic

2 Visual Basic for Application

3 VBScript (специализированный язык, для разработки страниц в Интернете)

4 Microsoft Visual Basic .Net

Стандартизация языков программирования

Язык программирования может быть представлен в виде набора спецификаций, определяющих его синтаксис и семантику.

Для многих широко распространённых языков программирования созданы международные стандарты. Специальные организации проводят регулярное обновление и публикацию спецификаций и формальных определений соответствующего языка. В рамках таких комитетов продолжается разработка и модернизация языков программирования и решаются вопросы о расширении или поддержке уже существующих и новых языковых конструкций.

Типы данных

Современные цифровые компьютеры обычно являются двоичными и данные хранят в двоичном (бинарном) коде (хотя возможны реализации и в других системах счисления). Эти данные как правило отражают информацию из реального мира (имена, банковские счета, измерения и др.), представляющую высокоуровневые концепции.

Особая система, по которой данные организуются в программе, - это система типов языка программирования; разработка и изучение систем типов известна под названием теория типов. Языки могут быть классифицированы как системы со статической типизацией и языки с динамической типизацией.

Статически-типизированные языки могут быть в дальнейшем подразделены на языки с обязательной декларацией, где каждая переменная и объявление функции имеет обязательное объявление типа, и языки с выводимыми типами. Иногда динамически-типизированные языки называются латентно-типизированными.

Структуры данных

Системы типов в языках высокого уровня позволяют определять сложные, составные типы, так называемые структуры данных. Как правило, структурные типы данных образуются как декартово произведение базовых (атомарных) типов и ранее определённых составных типов.

Основные структуры данных (списки, очереди, хеш-таблицы, двоичные деревья и пары) часто представлены особыми синтаксическими конструкциями в языках высокого уровня. Такие данные структурируются автоматически.

Семантика языков программирования

Существует несколько подходов к определению семантики языков программирования.

Наиболее широко распространены разновидности следующих трёх: операционного, деривационного (аксиоматического) и денотационного (математического).

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

Деривационная семантика описывает последствия выполнения конструкций языка с помощью языка логики и задания пред- и постусловий.

Денотационная семантика оперирует понятиями, типичными для математики - множества, соответствия, а также суждения, утверждения и др.

Парадигма программирования

Язык программирования строится в соответствии с той или иной базовой моделью вычислений и парадигмой программирования.

Несмотря на то, что большинство языков ориентировано на императивную модель вычислений, задаваемую фон-неймановской архитектурой ЭВМ, существуют и другие подходы. Можно упомянуть языки со стековой вычислительной моделью (Форт, Factor, PostScript и др.), а также функциональное (Лисп, Haskell, ML, F# и др.) и логическое программирование(Пролог) и язык РЕФАЛ, основанный на модели вычислений, введённой советским математиком А. А. Марковым-младшим.

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

Способы реализации языков

Языки программирования могут быть реализованы как компилируемые и интерпретируемые.

Программа на компилируемом языке при помощи компилятора (особой программы) преобразуется (компилируется) в машинный код (набор инструкций) для данного типа процессора и далее собирается в исполнимый модуль, который может быть запущен на исполнение как отдельная программа. Другими словами, компилятор переводит исходный текст программы с языка программирования высокого уровня в двоичные коды инструкций процессора.

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

Разделение на компилируемые и интерпретируемые языки является условным. Так, для любого традиционно компилируемого языка, как, например, Паскаль, можно написать интерпретатор. Кроме того, большинство современных «чистых» интерпретаторов не исполняют конструкции языка непосредственно, а компилируют их в некоторое высокоуровневое промежуточное представление (например, с разыменованием переменных и раскрытием макросов).

Для любого интерпретируемого языка можно создать компилятор - например, язык Лисп, изначально интерпретируемый, может компилироваться без каких бы то ни было ограничений. Создаваемый во время исполнения программы код может так же динамически компилироваться во время исполнения.

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

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

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

Некоторые языки, например, Java и C#, находятся между компилируемыми и интерпретируемыми. А именно, программа компилируется не в машинный язык, а в машинно-независимый код низкого уровня, байт-код. Далее байт-код выполняется виртуальной машиной. Для выполнения байт-кода обычно используется интерпретация, хотя отдельные его части для ускорения работы программы могут быть транслированы в машинный код непосредственно во время выполнения программы по технологии компиляции «на лету» (Just-in-time compilation, JIT). Для Java байт-код исполняется виртуальной машиной Java (Java Virtual Machine, JVM), для C# - Common Language Runtime.

Подобный подход в некотором смысле позволяет использовать плюсы как интерпретаторов, так и компиляторов. Следует упомянуть, что есть языки, имеющие и интерпретатор, и компилятор (Форт).

Используемые символы

Современные языки программирования рассчитаны на использование ASCII, то есть доступность всех графических символов ASCII является необходимым и достаточным условием для записи любых конструкций языка. Управляющие символы ASCII используются ограниченно: допускаются только возврат каретки CR, перевод строки LF и горизонтальная табуляция HT (иногда также вертикальная табуляция VT и переход к следующей странице FF).

Ранние языки, возникшие в эпоху 6-битных символов, использовали более ограниченный набор. Например, алфавит Фортрана включает 49 символов (включая пробел): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / () . , $ ' :

Заметным исключением является язык APL, в котором используется очень много специальных символов.


Язык объектно-ориентированного программирования Delphi


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

Delphi - прекрасная система визуального объектно-ориентированного проектирования, одинаково радующая и новичков в программировании, и профессионалов. Начинающим Delphi позволяет сразу, с небольшими затратами времени и сил создавать прикладные программы, которые внешне неотличимы от программ, созданных профессионалами. А для опытного программиста Delphi открывает неограниченные возможности для создания сколь угодно сложных программ любого типа, в том числе, распределённых приложений, работающих с любыми базами данных.

Borland Delphi представляет собой средство разработки приложений для Microsoft Windows. Delphi является мощным и простым в использовании инструментом для создания автономных программ, обладающих графическим интерфейсом (GUI), или 32-битных консольных приложений (программ, которые не имеют графического интерфейса).

В сочетании с Borland Kylix, программисты Delphi могут создавать из одного исходного текста приложения и для Windows и для Linux, и это открывает новые возможности и увеличивает потенциальную отдачу от усилий, вложенных в изучение Delphi. В Delphi используется кросс-платформенная библиотека компонентов CLX и визуальные дизайнеры для создания высокопроизводительных приложений для Windows, которые повторной компиляцей можно легко превратить в приложения для Linux.

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

При создании графического интерфейса приложений Delphi, у вас все возможности языка программирования Object Pascal, "завернутого" в среду RAD. Такие компоненты окна графического пользовательского интерфейса, как формы, кнопки и списки объектов, включены в состав Delphi. Это означает, что вам не нужно писать никакого кода при добавлении их в ваше приложение.

Вы можете также добавить на Форму элементы управления ActiveX, для создания в считанные минуты специализированных программ таких, например, как веб-браузеры. Delphi позволяет разработчикам дизайна внедрять в интерфейс новые элементы и кодировать их события одним щелчком мыши.

Delphi поставляется в различных конфигурациях, настроенных на потребности различных предприятий. В Delphi вы можете писать программы для Windows быстрее и легче, чем это было возможно раньше.

Паскаль

Лучшим способом представить что такое Delphi является Object Pascal на основе визуальной среды разработки. Delphi основан на Object Pascal, языке, аналогичном объектно-ориентированному C++, а в некоторых случаях даже лучше. Для разработчиков не имеющих опыта работы в Паскале, Delphi имеет шаблоны своих структур на Паскале, что ускоряет процесс изучения языка.

Компилятор Delphi упаковывает приложения в компактные исполняемые файлы, причем нет необходимости в громоздких библиотеках DLL - большое удобство, я должен сказать.

Библиотека Visual Component Library (автономные бинарные части программного обеспечения, которые выполняют некоторые конкретные предопределенные функции), или VCL, Delphi является объектно-ориентированной базой. В этой богатой библиотеке вы найдете классы для таких визуальных объектов Windows как окна, кнопки и т.д., а также классы для пользовательских элементов управления таких как таймер и мультимедийный плеер, наряду с невизуальными объектами, такими как список строк, таблицы базы данных, потоки и т.д.

Базы данных

Delphi может получать доступ ко многим типам баз данных. Используя BDE (Borland Database Engine - механизм доступа к базам данных), формы и отчеты, которые вы создаете, получают доступ к локальным базам данных, таким как Paradox и DBase, сетевых баз данных SQL Server, InterBase, также как и SysBase, и любые источники данных, доступные даже через ODBC (открытая связь с базами данных).

Итак, Delphi - прекрасная среда разработки Windows- и Linux-программ любого типа.

Главные окна Delphi

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

Запустим Delphi. Для этого нужно создать ярлык на рабочем столе, если, конечно, Вам не нравится каждый раз ходить по адресу Program Files - Borland - Delphi -Bin и отыскивать файл delphi32.exe. Гораздо проще один раз найти его ярлычок в меню ПУСК - ВСЕ ПРОГРАММЫ - BORLAND DELPHI - DELPHI, перетащить его отсюда на рабочий стол.

Перед нами четыре окна Delphi. Вверху во вcю ширину экрана окно управления проектом и средой разработки - главное окно Delphi.




При его сворачивании сворачиваются и все остальные. Слева - Инспектор объектов. В нём задаются свойства составляющих нашу программу компонентов. И наконец, в центре одно над другим два окна Delphi, окно формы будущей программы и окно программной начинки. Прямо перед нами - окно, которое в Delphi называется Форма. Именно Форма является визуальным прообразом нашей будущей программы. Теперь посмотрите, как легко получается программа в Delphi:

Наводим мышку на зелёный треугольник-стрелку на главном окне

Смотрим - всплывает подсказка "Run (F9)"

Жмём на эту кнопку (или F9 на клавиатуре)

Получаем готовую Windows-программу.

Однако (как подсказывают в комментариях), не во всех версиях Delphi запуск программы производится кнопкой F9, для некоторых это CTRL+F9 - посмотрите сами, какую подсказку выдает Delphi при наведении на зелёную стрелку.

По умолчанию программа создаётся в папке C:\Program Files\Borland\Delphi7\Projects:




Отсюда её можно скопировать и использовать так, как нам нужно. Я, например, для начала ставлю ярлык на рабочий стол, чтобы при тестировании проверять её без использования Delphi.

Мы получили программу, состоящую из одного пустого окна. Тем не менее наша программа имеет все атрибуты, присущие всем программам в Windows: заголовок, системное меню (кликните по левому краю заголовка!), кнопки свернуть, развернуть, закрыть, может менять свои размеры.

Закройте программу Форму.

Вы можете управлять также границами Формы. Для этого служит:

свойство BorderStyle. При значении- обычная Форма, значение по умолчанию.- Форма вообще не будет иметь границ, включая строку заголовка.- Форма не может менять размеры, но может свернуться или развернуться.

Таким образом, комбинируя свойства BorderIcons и BorderStyle можно, например, получить форму с неизменными размерами и без возможности свернуться и развернуться:



Теперь займёмся сохранением нашего проекта. Так как по умолчанию Delphi сохраняет новые проекты в папке C:\Program Files\Borland\Delphi7\Projects, то если мы не будем выделять под него место сами, все файлы данного и всех будущих проектов будут свалены в кучу. Поэтому сразу в начале работы над новым проектом командой меню File -» Save All (или соответствующей кнопкой на главном окне) сохраним проект в специально для него созданную папку. Создать её можно прямо в открывшемся окошке. Проект в целом сохраняется в файле с именем Project1. Форма функционирует вместе с программой, описывающей её работу, так называемым модулем. Если модулей в проекте несколько, для каждого из них Delphi создастотдельный файл, и предложит его сохранить под именем Unit1, Unit2 и т.д. И для файла проекта, и файлов модулей можно дать и своё, более осмысленное название.

Теперь выполните команду File -» Close All. Попробуйте открыть файл модуля командой Open.... Модуль откроется вместе с нашей формой, мы сможем нормально работать, но кнопка запуска программы окажется неактивной. Поэтому сначала нужно открывать файл проекта. Для этого, кстати, есть специальная команда меню File -» Open Project... Ctrl F11, и соответствующая кнопка, прямо над кнопкой запуска. Теперь в окне выбора будет только один файл, файл проекта. При его открытии будет открыт и первый модуль и первая форма проекта. Для нашего проекта этого достаточно. Если в проекте несколько форм, их модули и формы открываем командой Open.... Можно открывать модули других проектов, например, для копирования кода.

Теперь я предлагаю сделать следующее. Надеюсь, ваш жёсткий диск разбит хотя бы на две части, для размещения системы, и для документов. Поскольку систему приходится иногда переустанавливать, под проекты Delphi целесообразно отвести специальную папку на другом диске, например D:\Проекты Delphi\, и сохранять проекты туда, а в папку по умолчанию поставить на неё ярлык для быстрого перехода. Теперь, в случае переустановки системы, Вам не придётся дополнительно сохранять Ваши наработки.

Компоненты Delphi - основа визуального проектирования



Standard,,,.

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

Есть соответствующие справочники, где рассматриваются все компоненты Delphi. Но самые важные свойства компонентов Delphi и работу с ними мы рассмотрим.

Рассмотрим компоненты отображения текста. Создайте новый проект (File -» New -» Application), и перенесите на форму компоненты Label, Edit, Memo и Button. Выбирая одним щелчком мышки или клавишей Tab нужный компонент, в Инспекторе Объектов мы можем получить доступ к его свойствам.

Прежде всего, у визуальных компонентов есть свойства, определяющие их положение на Форме:

Ширина компонента, Width

Высота компонента, Height

Расстояние до левого края формы, Left

Расстояние до верхнего края формы, Top

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

За визуальное представление отвечают для компонентов:и Button - свойство Caption,- свойство Text,- свойство Lines.

При "конструировании" формы в Инспекторе объектов можно придать свойствам компонентов любые значения. Случайно можно задать такие размеры или координаты, что компонент "исчезнет" - сделается невидимым или спрячется за другими компонентами. Его легко найти с помощью того же Инспектора Объектов - все компоненты, находящиеся на Форме, перечислены в его выпадающем списке. Достаточно выбрать нужный компонент, и он или его контуры (если он заслонён" другими компонентами) появятся на Форме, а в Инспекторе объектов - его свойства.

Теперь запустите программу (зелёная стрелка или F9). Видим, что компоненты работают. Labelявляется надписью (меткой) на форме, Button - кнопка нажимается, Edit - строка ввода и Memo - многострочный текстовый редактор позволяют вводить текст.

А теперь давайте напишем маленькую программу. Она будет по нажатию кнопки отображать на форме то, что мы введём в строке ввода. Начните новый проект (File -» New -» Application).

Расположите на форме компонент Edit (строка ввода). Свойство Text очистите.

Далее - компонент Button (кнопка). В свойстве Caption напишите, например, "показать".

Затем - компонент Label (метка). В свойстве Font для наглядности сделайте размер побольше, например 24, выберите шрифт и цвет. Свойство Caption также очистите.

Щёлкните дважды по нашей кнопке. Произошла метаморфоза! Мы очутились в окне модуля, где система Delphi создала для нас заготовку обработчика события нажатия на кнопку.

В обработчике пишите: Label1 и поставьте точку. Подождите секунду после ввода точки. Видите - выскочила подсказка!. Система Delphi предлагает нам выбрать из списка нужное свойство или метод. Нажмите "C", и строка "Caption" станет выделенной. Delphi пытается угадать, что мы хотим ввести. Дальше писать не обязятельно, достаточно нажать Enter.

В результате получим: Label1.Caption. Таким образом мы видим, что точкой разделяются в Delphi объект и его свойства. Указанием на объект служит его имя (свойство Name). Имя компонента можно посмотреть в Инспекторе Объектов, а также наведя мышку на компонент и дождавшись появления подсказки.

Далее присваиваем свойству Caption объекта Label1 значение. Знакомьтесь, оператор присваивания: :=.Caption:=: Edit1.Text

Далее то, чем завершается любая команда - оператор ";". Это именно оператор, хотя и не выполняющий никаких действий, и его иногда применяют именно в этом качестве.

Вот что у нас получилось: Label1.Caption := Edit1.Text;

Всё, сохраняем и жмём F9.

В дальнейшем программы будут куда сложнее. Что делать, если в результате ошибки в программе она зависнет? Естественно, можно воспользоваться комбинацией Ctrl+Alt+Del, но проще, нажав OK в окне предупреждения об ошибке, выполнить команду меню главного окна Delphi Run -» Program Reset илиCtrl+F2.

События Delphi

Операционная система Windows - многозадачная, т.е. несколько программ в ней могут функционировать одновременно. Когда, например, мы щёлкаем по кнопке в окне нашей программы, система Windowsопределяет, что произошло событие именно в нашей программе, и посылает ей сообщение об этом. Наша программа должна соответствующим образом отреагировать на него. Для этого мы, как программисты, должны написать код-обработчик этого события. Таким образом, структура программы для Windowsпредставляет собой набор подпрограмм, каждая из которых ответственна за обработку конкретного события и вызывается только при его возникновении. Удобство Delphi состоит в том, что мы избавлены от необходимости получать сообщения от Windows сами, Delphi это делает за нас. Каждый компонент имеет впечатляющий набор событий, на которые он может реагировать. Программист сам определяет, какие события в программе требуется обрабатывать.



Откройте наш проект из предыдущего урока. Щелкните на компоненте Edit1. Он "появится" инспекторе объектов. Посмотрите: в Инспекторе объектов две вкладки: Properties (свойства) Events (события). Перейдите на вкладкуEvents. Чтобы создать обработчик нужного события, нужно дважды кликнуть по нему мышкой. А если раскрыть выпадающий список, в нём будут находиться уже готовые обработчики, которые могут подходить для этого компонента. Таким образом, один обработчик может вызываться для обработки событий нескольких компонентов.

Изменим нашу программу так, чтобы текст на форме появлялся прямо в момент его ввода. В момент ввода у Edit1 меняется свойство Text - в нём появляется новая буква! Значит, воспользуемся событием onChange (change - изменение (англ.)), которое и происходит в этот момент.

Теперь рассмотрим событие onClick. Как вы догадываетесь, это событие возникает при щелчке мышкой на компоненте. Воспользуемся им, чтобы очищать строку ввода от уже введённых символов. Вы сами уже должны сообразить, что сделать. В обработчике нужно присвоить свойству Text значение пустой строки. Строка в Delphi образуется заключением текста в одинарные кавычки (находятся на кнопке Э):

'Так в Delphi образуется строка'

Значит, пустая строка - это кавычки без текста: ''. Не должно быть даже пробела, иначе он окажется в строке ввода:

Edit1.Text:='';

Есть другой способ, воспользоваться специально предназначенным для этого методом компонента Edit, который так и называется Clear (очистка англ.):

Edit1.Clear;

Конечно, у каждого компонента свой набор событий. Мы познакомились с тремя из них:

Другие важные события, которые есть почти у каждого визуального компонента:- возникает, когда компонент теряет фокус ввода;- возникает при двойном щелчке мышкой по компоненту;- когда при нажатии на кнопку на клавиатуре она оказалась в нижнем положении;- когда при отпускании клавиатурной кнопки она оказалась в верхнем положении;- возникает при нажатии на клавиатурную кнопку. От событий onKeyDown иonKeyUp оно отличается типом используемого параметра Key ;- когда при нажатии кнопки мышки она оказалась в нижнем положении;- когда при отпускании кнопки мышки она оказалась в верхнем положении;- возникает при перемещении указателя мышки над компонентом.

В начале работы любой программы происходит очень важное событие событие нашего основного компонента - Формы, onCreate. Оно происходит перед появлением Формы на экране. Это событие используется для задания свойств тех элементов программы, которые нуждаются в настройке, например, размеры и положение Формы на экране. Если вы захотите сделать невидимую программу, можно приравнять нулю ширину Width и высоту Height Формы. На этапе проектирования сделать этого нельзя, т.к. это помешает работе, поэтому делаем это по событию onCreate:

Form1.Width := 0;

Form1.Height := 0;

Дополнительно нужно убрать и заголовок Формы, выбрав в Инспекторе Объектов параметр BorderStyle равным None. Теперь Форма на экране не появится. Единственным визуальным признаком останется появление её "значка" на панели задач.

Язык Delphi. Переменные, константы и их типы

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

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

Место описания данных в программе - вне логических блоков begin / end. В модуле перед ключевым словом implementation есть блок описания:


var

Form1: TForm1;


Именно здесь, начиная со следующей строки, удобно объявлять глобальные переменные и константы. Как видим, одна (Form1) уже есть.

Команда объявления переменных в языке Delphi:

var имя_переменной : тип_переменной ;

Слово var - ключевое. Именем может быть любой идентификатор, если он не был описан ранее и не является одним из ключевых или зарезервированных слов языка Delphi. Если нужно описать несколько переменных одного типа, то их перечисляют, отделяя запятой:


var A, B, C : Integer;


Если несколько описаний следуют друг за другом, то ключевое слово var повторно можно не указывать:


var A, B : Integer;

C, D : String;


Постоянную величину иначе называют константой. Конечно, в программе можно использовать числа и строки непосредственно: 3.1415 или 'Это значение числа пи', но иногда удобнее присвоить их идентификатору. Описание констант аналогично описанию переменных, но используется ключевое словоconst, за именем идентификатора следует тип, затем знак равенства и его значение. Причём тип константы допускается не указывать:pi=3.1415 ;

ZnakPi : String = 'Это значение числа пи';


К слову, константа Pi встроенная в Delphi, то есть для того чтобы использовать в Delphi число 3,1415... в расчётах, нужно просто присвоить встроенную константу Pi переменной типа Real или просто использовать непосредственно в выражениях.

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

Строкой называется последовательность символов, заключённая в одиночные кавычки:

'это текстовая строка'

Если текст должен содержать сам символ кавычки, то его надо повторить дважды:

'это '' - символ одиночной кавычки'

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

Самый популярный строковый тип - String. Строка типа String может содержать переменное количество символов объёмом до 2 Гбайт. Если нужно ограничить размер строки фиксированным значением, то после ключевого слова String в квадратных скобках указывается число, определяющее количество символов в строке: String[50]. Более полно работа со строками Delphi описывается далее.

Одиночный символ имеет тип Char и записывается в виде знака в одиночных кавычках: 'a'. Есть символы, которые на экране отобразить невозможно, например, символ конца строки (равен #13), символ переноса строки (равен #10). Такие символы записываются в виде их числового кода (в кодировке ANSI), перед которым стоит знак #. Например, #0.

Наконец, существуют так называемые нуль-терминированные строки. Отсчёт символов в таких строках начинается с нуля, а заканчивается символом с кодом 0 (#0). Такие строки имеют тип PChar.

При создании любой серьёзной программы не обойтись без дополнительных, более сложных, чем числа и строки, типов данных. В Delphi программист может для своих целей конструировать собственные типы данных. Чтобы ввести в программу (описать) новый тип данных, применяется оператор с ключевым словомtype:


type название_типа = описание_типа;


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


type FootballTeam = (Spartak, Dinamo, CSKA, Torpedo, Lokomotiv);

var MyTeam: FootballTeam;

begin

MyTeam:=Spartak;

end;


Вообще, под перечислимыми типами понимают все типы, для которых можно определить последовательность значений и их старшинство. К ним относятся:

все целочисленные типы, для которых всегда можно указать число, следующее за числом N;

символьные типы (Char): за символом 'a' всегда следует 'b', за '0' следует '1', и так далее;

логические типы - тип Boolean также представляет собой перечислимый тип: type Boolean = (false, true);

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

Это такие типы, как:

массивы

записи

множества

Массив - это структура данных, доступ к элементам которой осуществляется по номеру (или индексу). Все элементы массива имеют одинаковый тип.

Описание массива имеет вид:


type имя_типа_массива = array [диапазон] of тип_элемента;


Диапазон определяет нижнюю и верхнюю границы массива и, следовательно, количество элементов в нём. При обращении к массиву индекс должен лежать в пределах этого диапазона. Массив из ста элементов целого типа описывается так:


type TMyArray = array [1 .. 100] of Integer;


Теперь можно описать переменные типа TMyArray:


var A, B: TMyArray;


Вместо присвоения типа можно явно описать переменные как массивы:


var A, B : array [1..100] of Integer;


Для доступа к элементу массива нужно указать имя массива и индекс элемента в квадратных скобках. В качестве индекса может выступать число, идентификатор или выражение, значение которых должно укладываться в диапазон, заданный при описании массива:


var N: Integer;

N := 65;

A[5] := 101;

A[N] := 165;

A[N+3] := 200;

B := A;;


Иногда требуется узнать верхнюю или нижнюю границу массива. Для этого служат встроенные функции:

High() - вернёт число, являющееся верхней границей массива;

Low() - вернёт число, являющееся нижней границей массива.

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

Выражение B := A означает, что каждый элемент массива B будет равен элементу с таким же индексом массива A. Такое присвоение возможно только если оба массива объявлены через некий поименованный тип, или перечислены в одном списке. И в случае:


var A: array[1..100] of String;

B: array[1..100] of String;


его использовать невозможно (но возможно поэлементное присвоение B[1] := A[2]; и т.д.).

Массивы могут иметь несколько измерений, перечисляемых через запятую. Например, таблицу из четырёх столбцов и трёх строк:


1 2 3 4 5 6 7 8 9 10 11 12

можно описать в виде массива с двумя измерениями:


type MyTable = array[1..4, 1..3] of Integer;

var X : MyTable;

Y : Integer;

begin

Y:=X[3, 2];

end;


Теперь в результате операции присвоения Y будет равен 7.

Многомерный, например, двумерный массив можно описать как массив массивов:


type TMyArray = array [1 .. 4] of array [1 .. 3] of Integer;


Результат будет аналогичен предыдущему примеру.

Каждое измерение многомерного массива может иметь свой собственный тип, не обязательно целый.

Кроме вышеописанных, так называемых статических массивов, у которых количество элементов неизменно, в Delphi можно использовать динамические массивы, количество элементов в которых допускается изменять в зависимости от требований программы. Это позволяет экономить ресурсы компьютера, хотя работа с такими массивами происходит гораздо медленнее. Описываются динамические массивы аналогично статическим, но без указания диапазона индексов:


type TDinArray = array of Integer;

var A : TDinArray;


После создания в динамическом массиве нет ни одного элемента. Необходимый размер задаётся в программе специальной процедурой SetLength. Массив из ста элементов:


begin

SetLength(A, 100);

end;


Нижняя граница динамического массива всегда равна нулю. Поэтому индекс массива A может изменяться от 0 до 99.

Многомерные динамические массивы описываются именно как массивы массивов.

Чтобы освободить память, выделенную динамическому массиву, нужно массиву как целому присвоить значение nil:


A:=nil;


Ключевое слово nil в Delphi означает отсутствие значения.

Записи очень важный и удобный инструмент. Даже не применяя специальные технологии, с его помощью можно создавать собственные базы данных. Записи - это структура данных, каждый элемент которой имеет собственное имя и тип данных. Элемент записи иначе называют поле. Описание записи имеет вид:


type имя_типа_записи = record

название_поля : тип_поля ;

. . .

название_поля : тип_поля ;

end;


Названия полей, имеющих одинаковый тип, можно, как и в случае описания переменных, указывать в одну строку через запятую. Для обращения к полю записи сначала указывают имя записи, затем точку, затем имя поля. Например, данные о персонале предприятия могут быть организованы таким типом записи:


type TPers = record

Fam, Name, Par : String;

Year : Integer;

Dep : String;

end;

var Pers : TPers;

begin

Pers.Fam:='Иванов';

Pers.Name:='Иван';

Pers.Par:='Иванович';

Pers.Year:=1966;

Pers.Dep:='Цех №1';

end;


Теперь осталось записать эти данные в файл, предварительно объявив и его тип как TPers, и база данныхготова. С файлом в Delphi также ассоциируется переменная, называемая файловой переменной, которая описывается так:


VFile : file of тип_файла;


В качестве типа может использоваться любой ограниченный тип Delphi. При этом не допускается тип String, так как он допускает переменный размер до 2 ГБайт. Его необходимо ограничивать: String[N], где N - количество символов. Тип TPers из предыдущего примера должен быть описан, например, так:


type TPers = record

Fam, Name, Par : String[20];

Year : Integer;

Dep : String[10];

end;


Множество - это группа элементов, объединённая под одним именем, и с которой можно сравнивать другие величины, чтобы определить, принадлежат ли они этому множеству. Количество элементов в одном множестве не может превышать 256. Множество описывается так:


type имя_множества = set of диапазон_значений_множества ;


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


type TMySet = set of 0 .. 255;

type TMySet = set of Byte;


Конкретные значения множества задаются в программе с помощью перечисления элементов, заключённых в квадратные скобки. Допускается использовать и диапазоны:


var MySet : TMySet;

begin

MySet:=[1, 3 .. 7, 9];

end;


Чтобы проверить, является ли некое значение элементом множества, применяется оператор in в сочетании с условным оператором:


var Key : Char;

Str : String;

begin

if Key in ['0' .. '9', '+', '-'] then Str:='Math';

end;


Чтобы добавить элемент во множество, используется операция сложения, удалить - вычитания:


var Digit: set of Char=['1'..'9'];Math: Set of Char;

Math:=Digit+['+', '-', DecimalSeparator*];

end;


Страница Standart

Изучение Delphi естественным образом начинается со страницы палитры компонентов Standart. На этой странице расположены стандартные для Windows интерфейсные элементы, применяющиеся наиболее часто. В следующей таблице представлен список компонентов страницы Standart:


Пикто- грамма Имя Назначение MainMenu Главное меню программы. Компонент способен создавать и обслуживать сложные иерархические меню. PopupMenu Всплывающее меню. Обычно это меню появляется после нажатия правой кнопкой мыши. Label Метка. Используется для размещения не очень длинных сообщений в виде статического текста Edit Строка ввода. Предназначена для ввода пользователем текстовой информации в виде одной строки. Имеет возможности по управлению вводимой информацией, например, переопределению символов до их появления в поле ввода, что используется в формах для ввода пароля. Memo Многострочный текстовый редактор. Используется для ввода пользователем и отображения многострочного текста без функций форматирования. Button Командная кнопка. Используется для реализации в программе команд с помощью обработчика события OnClick этого компонента. CheckBox Независимый переключатель. Используется его свойство Checked (отмечено), имеющее значения true или false, меняющееся при щелчке мышью. RadioButton Зависимый переключатель. Используется для выбора только одного из нескольких вариантов. Для этого компонент объединяется как минимум с одним или несколькими такими же компонентами в группу. Щелчок по компоненту приводит к его выделению и снятию выделения ранее выбранного компонента. Также имеет свойство Checked. ListBox Список выбора. Содержит список предлагаемых вариантов (опций) и даёт возможность проконтролировать текущий выбор. ComboBox "Выпадающий" список выбора. Представляет собой комбинацию компонентов Edit иListBox. ScrollBar Полоса прокрутки. Представляет собой вертикальную или горизонтальную полосу, управляющую визуальным представлением компонентов, не помещающихся целиком в окне программы. GroupBox Контейнер группы компонентов. Используется для группировки нескольких связанных по смыслу компонентов. RadioGroup Группа зависимых переключателей. Содержит специальные свойства для обслуживания нескольких связанных между собой зависимых переключателей. Panel Панель. Этот компонент, как и GroupBox, служит для объединения нескольких компонентов. Содержит внутреннюю и внешнюю кромки, что позволяет создавать эффекты "вдавленности" и "выпуклости". ActionList Список действий. Служит для централизованной реакции программы на действия пользователя, связанные с выбором одного из группы однотипных управляющих элементов, таких как опции меню, кнопки и т.д.

Страница Additional

На страницу Additional помещены дополнительные компоненты, без некоторых из которых сегодня трудно представить программу для Windows: кнопки с дополнительными свойствами, таблицы, компоненты для размещения изображений и многие другие, представленные в таблице:


Пикто- граммаИмяНазначениеBitBtnКомандная кнопка. Отличается от стандартной кнопки Button возможностью отображения пиктограммы.SpedButtonПиктографическая кнопка. Обычно используется для быстрого доступа к опциям Главного Меню.StringGridТаблица строк. Этот компонент обладает мощными возможностями для представления текстовой информации в табличном виде.DrawGridТаблица изображений. Этот компонент используется для представления изображений в табличном виде.ImageРисунок. Компонент для отображения изображений, в том числе пиктограмм и метафайлов.ShapeФигура. С помощью этого компонента можно вставить на Форму правильную фигуру - прямоугольник, эллипс, окружность.BevelКромка. Служит для выделения отдельных частей Формы трёхмерными рамками и полосами.ScrollBoxПанель с полосами прокрутки. В отличие от компонента Panel автоматически вставляет полосы прокрутки, если размещённые на нём компоненты отсекаются его границами.CheckListBoxСписок множественного выбора. Отличается от стандартного компонента ListBoxналичием рядом с каждой опцией независимого переключателя типа CheckBox, облегчающего выбор сразу нескольких опций.SplitterГраница. Этот компонент создаёт границу между двумя видимыми компонентами и даёт возможность пользователю перемещать её.StaticTextСтатический текст. Отличается от стандартного компонента Label наличием собственного Windows-окна, что позволяет обводить текст рамкой или выделять его в виде "вдавленной" части Формы.ChartДиаграмма. Этот компонент облегчает создание специальных панелей для графического представления данных.Пикто- граммаИмяНазначениеTabControlНабор закладок. Каждая закладка представляет собой поле с надписью и/или текстом. Выбор той или иной закладки распознаётся программой и используется для управления содержимым окна компонента.PageControlНабор панелей с закладками. Каждая панель может содержать свой набор интерфейсных элементов и выбирается щелчком по связанной с ней закладке.ImageListНабор рисунков. Представляет собой хранилище для нескольких рисунков одинакового размера, например, пиктограмм для кнопок.RichEditМногострочный редактор форматированного текста. В отличие от компонентаMemo может изменять такие характеристи текста как шрифт, цвет, выравнивание и т.д. (формат RTF).TrackBarРегулятор. Используется для управления значениями некоторых величин в программах. Например, с его помощью удобно изменять громкость звучания мультимедийных устройств.ProgressBarИндикатор процесса. С помощью этого компонента можно отображать ход исполнения достаточно длительного процесса, например, копирование данных.UpDownЦифровой регулятор. Две кнопки этого компонента служат для увеличения (верхняя) или уменьшения (нижняя) связанной с компонентом числовой величины. Для отображения этой величины умеет ассоциироваться с компонентом Edit.HotKeyУправляющая клавиша. Компонент служит для ввода управляющих кодов, таких как F1, CTRL+Shift и т.д.AnimateМультипликатор. Предназначен для отображения движущихся изображений (видеоклипов). Имеет ограничение - не может сопровождать видеоклип звуком. Как и компонент ProgressBar, применяется в основном для сопровождения длительных процессов.DateTimePickerСелектор времени/даты. Этот компонент предназначен для ввода или отображения времени или даты.MonthCalendarКалендарь. Служит для отображения календаря и выбора даты или диапазона дат.TreeViewДерево выбора. Представляет собой совокупность связанных в древовидную структуру пиктограмм. Обычно используется для просмотра структуры каталогов и других подобных элементов, связанных иерархическим образом.ListViewПанель пиктограмм. Организует просмотр нескольких пиктограмм и выбор нужной. Компонент способен располагать пиктограммы в вертикальных или горизонтальных рядах и показывать их в крупном или мелком масштабе.HeaderControlУправляющий заголовок. Представляет собой горизонтальную или вертикальную полосу, разделённую на ряд смежных секций с надписями. Размеры секций можно менять на этапе работы программы. Обычно используется для изменения размеров столбцов или строк в разного рода таблицах.StatusBarПанель статуса. Предназначена для размещения разного рода служебной информации в окнах редактирования. Пример - нижняя часть рамки окна текстового редактора Word.ToolBarИнструментальная панель. Этот компонент служит контейнером для командных кнопок BitBtn и и способен автоматически изменять свои размеры и положение при добавлении или удалении кнопок.CoolBarИнструментальная панель. В отличие от ToolBar, используется как конейнер для размещения стандартных интерфейсных компонентов Windows, таких как Edit, ListBox, ComboBox и т.д.PageScrollerПрокручиваемая панель. Служит для размещения узких инструментальных панелей. При необходимости автоматически создаёт по краям панели стрелки прокрутки.

Страница Win32

Эта страница содержит компоненты, представляющие собой интерфейсные элементы для 32-разрядных операционных систем Windows 95/98/NT (В версии системы Delphi 2 эта страница называлась Win95). Использующие эти компоненты программы выглядят в стилистике последних версий операционных системWindows.




Глава II. Разработка программы «Вычислительная электронная лаборатория» по физике для раздела «Электричество и Магнетизм»


Электронные лаборатории по физике (обзор: новизна, где применяются)


В настоящее время происходит стремительное развитие глобального процесса информатизации общества. При этом кардинальным образом изменяется вся информационная среда общества. Новые автоматизированные информационные технологии проникают практически во все сферы социальной практики и становятся неотъемлемой частью новой, информационной культуры человечества.

Дипломная работа посвящена разработке лабораторной работы по физике для применения в процессе преподавания физики как в школах и средне специальных учебных заведениях, так и в высших учебных заведениях. Насыщенность школ современной вычислительной техникой еще не приводит к большим переменам в образовании, если учитель не подготовлен ни психологически, ни профессионально к внедрению ЭВМ в его жизнь. В настоящее время накоплен большой опыт применения вычислительной техники в физических исследованиях, выработаны общие методические подходы решения основных физических проблем. Основным методом исследования вычислительной физики является компьютерный эксперимент, теоретической базой которого служит математическое моделирование, а экспериментальной базой - ЭВМ. Компьютерное моделирование интегрирует такие предметы, как теоретическая физика, численный анализ и программирование.

На сегодняшний день в процессе преподавания физики очень многие важные явления и опыты не могут быть реализованы в виде демонстраций в силу их сложности, а их объяснение требует от преподавателя больших "художественных возможностей". Именно поэтому появилась тенденция создания компьютерных программ для моделирования подобных процессов . Теперь преподаватель, заранее подобрав исходные данные, может по ходу объяснения демонстрировать все возможные варианты развития процесса не затрачивая массу времени на приемлемое изображение установки, самого эксперимента, сопутствующих графиков. Кроме того, такие программы могут быть также использованы в лабораторном практикуме с дополнительными заданиями разного уровня сложности, а в совокупности с прилагаемыми описаниями и для самостоятельного изучения материала.

Целями дипломной работы являлись:

исследование моделируемых процессов на предмет получения конечных аналитических решений, пригодных для создания на их основе демонстрационных программ, а в случае их отсутствия построение алгоритмов решения на основе численных методов;

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

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

апробация созданных лабораторных работ на физическом факультете.

Также позволяет:

в ряде случаев дать учащимся более полную и точную информацию об изучаемом явлении, с помощью компьютерной мультипликации (или компьютерного видео);

повысить наглядность, создать представления о механизме сложных явлений и тем самым облегчить учащимся их понимание;

ознакомить учащихся с характером быстро и медленно протекающих процессов, а также невидимых явлений;

познакомить учащихся с фундаментальными физическими экспериментами, постановка которых в классе затруднена или невозможна;

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

проводить контроль знаний учащихся, учитывая их индивидуальные способности;

усилить воспитательное воздействие на учащихся.

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

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

Применение только традиционной методики проведения физического эксперимента приводит к низкому уровню умений и практических навыков учащихся по физике. Ученики не умеют анализировать, понимать и интерпретировать графики и таблицы, полученные в ходе эксперимента, не умеют объяснять суть физических явлений, не понимают закономерности физических процессов, не умеют самостоятельно добывать нужную информацию из различных источников, в том числе электронных. Это влияет на формирование информационной компетентности и уровень обученности учащихся по физике.

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

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

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

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

Ещё один позитивный момент в том, что компьютер предоставляет уникальную, не реализуемую в реальном физическом эксперименте, возможность визуализации не реального явления природы, а его упрощенной теоретической модели, что позволяет быстро и эффективно находить главные физические закономерности наблюдаемого явления. Кроме того, учащийся может одновременно с ходом эксперимента наблюдать построение соответствующих графических закономерностей. Графический способ отображения результатов моделирования облегчает учащимся усвоение больших объемов полученной информации. Подобные модели представляют особую ценность, так как учащиеся, как правило, испытывают значительные трудности при построении и чтении графиков. Также необходимо учитывать, что далеко не все процессы, явления, исторические опыты по физике учащийся способен представить себе без помощи виртуальных моделей. Интерактивные модели позволяют ученику увидеть процессы в упрощенном виде, представить себе схемы установок, поставить эксперименты вообще невозможные в реальной жизни.

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

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

Приобщение учащихся к компьютерным технологиям облегчается тем, что современные ученики, студенты уже владеют пользовательскими навыками, так как большинство семей имеют компьютерную технику, нередко осуществляется выход в Интернет. Применение компьютерных технологий повышает и стимулирует интерес учащихся к получению новых знаний, активизирует мыслительную деятельность, благодаря интерактивности, позволяет эффективно усваивать учебный материал. Учащимся предоставляется возможность моделировать и визуализировать процессы, сложные для демонстрации в реальности, проводить самостоятельно исследовательский поиск материалов, опубликованных в Internet, для подготовки докладов и рефератов, тем самым развивать самостоятельность у учащихся, навыки самооценки. Обучение учащихся с помощью компьютерных технологий можно организовать индивидуально, разделять учебный материал по темпу его изучения, по логике и типу его восприятия учащимися. В отличие от таких привычных пассивных форм как лекция, просмотр видео и кинофильмов ученикам, пользователям компьютера, предлагается постоянное участие в происходящем, происходит приобщение и приучение их поисковой творческой деятельности, развивается воображение и модельное видение. Любая учебная компьютерная программа фактически является моделью, отображающей реальность в виртуальном мире. Ученик познает реальность с помощью компьютера через условные понятия и изображения, их нельзя потрогать, но они фактически двумерны. Применение электронных лабораторных работ способствует формированию информационной компетентности у учащихся, они учатся интерпретировать, систематизировать, критически оценивать и анализировать полученную информацию с позиции решаемой им задачи, делать аргументированные выводы, использовать полученную информацию при планировании и реализации своей деятельности в той или иной ситуации, структурировать имеющуюся информацию, представлять её в различных формах и на различных носителях, адекватных их запросам.

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

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

Для того, чтобы эксперимент прошел успешно, необходимо вначале научить ученика работать с электронным учебником, этому посвящается несколько первых уроков в компьютерном классе. Ученики должны научиться выбирать нужные виртуальные модели, находить необходимый теоретический материал, пользоваться управляющими кнопками, выбирать и менять исходные параметры виртуального эксперимента, уметь переключать проведение данного же эксперимента в другой режим, наблюдать за вычерчиванием графиков, описывающих процесс эксперимента, находить тексты задач по данным моделям и проводить самоконтроль по её решению.

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


Разработка и описание «Вычислительной электронной лаборатории»


В данной главе дипломной работы мы изучим программную область вычислительной лабораторной работы. Borland Delphi 7.0 обладает наиболее оптимальным сочетанием технических характеристик и производительности.

Система программирования Borland Delphi 7.0 - это комбинация нескольких важнейших технологий:

высокопроизводительный компилятор в машинный код;

объектно-ориентированная модель компонент;

визуальное построение приложений из программных прототипов;

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

Среди достоинства Delphi 7 можно выделить:

наличие встроенных CASE-средств;

взаимодействие с другими СУБД;

использование RAD-технологий;

широкий набор компонентов системы, облегчающих проектирование и разработку приложения;

встроенный редактор форм.

Интегрированная среда разработки Delphi 7.0 - это сложный механизм, обеспечивающий высокоэффективную работу программиста. Таким образом, Borland Delphi обеспечивает высокую эффективность процесса разработки и большую производительность результирующих приложений. Средства поддержки баз данных позволяют организовать эффективную обработку данных как при использовании внутренней базы данных Borland Delphi, так и внешних СУБД. Borland Delphi можно рекомендовать как универсальное средство разработки приложений различного уровня сложности, начиная от простейших задач до крупных проектов.

Рассмотрим следующий интерфейс программы:

Главное окно


рис.1. Интерфейс главного окна.


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

Лабораторная работа

Видео

Вычисления

Выход

Выбор раздела



Каждая фотокартина содержит ссылку на материалы ознакомления с биографиями этих знаменитых людей, их огромный вклад в раздел физики, их великие работы, достижения.



В разделе лабораторная работа содержится полное описание работы «Проверка закона Ома для постоянного тока» по разделу «Электричество и Магнетизм». Также в этом разделе есть кнопка, с помощью которой программа возвращается на главное окно.



Во втором разделе проигрывается наглядный пример построения электрической цепи. Тут возможно прокрутка, пауза и кнопка стоп. Во всех окнах имеются кнопка для переход на главную страницу.




А в разделе Вычисление находятся формы проверки для данных формул в лабораторной работе.



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



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


Далее результат проведенной лабораторной работы можно сохранить на Блокноте и последующим распечатыванием.



Так, после нажатия кнопки сохранить, результаты сохраняются следующим образом.




Заключение


Данная работа написана с целью обобщения знаний, полученных в течение 5 лет учебы, и для конкретизации направления будущей работы. Рассмотренная проблема имеет большой интерес жизни ВУЗов, колледж и школ, сколько обучающих, столько и учащихся.

Цель дипломного проекта заключалась в проектировании, реализации и последующем внедрение информационно- вычислительной лабораторной работы для кафедры Физики.

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

разработана информационно- вычислительная лабораторная работа на основе ранее применяемых лабораторий на уроках;

разработанная система апробирована на кафедре Физики.

На стадии обследования существенную помощь оказал учебно-вспомогательный персонал и аспиранты кафедры.

Система была продемонстрирована специалистам с других кафедр и получила положительные отзывы.

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

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



Использованная литература


А.Хомоненко,В.Гофман? Delphi7.0".2010.,БХВ,стр 1101.

М.Сухарев Золотая книга Delphi от а до я. 2008 НИТ,г.Москва

Архангельский А.Я." Delphi7.0".2003.М.стр 788..M.Епанешников., "Программирование в среде Delphi7.0"

Дж. Мартин., "Организация баз данных в вычислительных системах" М: Мир 2003г.


Содержание Введение Глава I. Язык объектно-ориентированного программирования Delphi Краткий обзор языков программирования Язык объектно-ориентир

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ