
- •1.Поколения языков программирования. Системы программирования. Уровни языков программирования. Классификация и сравнительный анализ языков высокого уровня
- •3.Этапы разработки программного обеспечения
- •6.Модуль и его структура. Основные типы модулей в инструментальной системе Delphi.
- •7.Типовые алгоритмы, используемые в программировании. Средства организации типовых алгоритмов в языке программирования Object Pascal
- •8.Организация ввода/вывода в Object Pascal.
- •9.Организация класса, объекта. Фундаментальные признаки объектно-ориентированного программирования.
- •10.Визуальное проектирование Windows-приложений в инструментальной системе Delphi … Обработчики событий
- •11.Типизация данных. Система типов в языке программирования Object Pascal
1.Поколения языков программирования. Системы программирования. Уровни языков программирования. Классификация и сравнительный анализ языков высокого уровня
Язык программирования – это искусственный язык. От естественного языка он отличается ограниченным числом слов, значения которых понятны транслятору и очень строгими правилами записи команд или оператора. Совокупность этих требований образует синтаксис языка. А смысл каждой команды и других конструкций языка- это его семантика. Нарушение формы записи программы приводит к выдаче транслятором сообщения о синтаксической ошибке, но правильно написанное, но не отвечающее алгоритму использование команд приводит к семантическим ошибкам.(к лог. ош) Процесс поиска ошибок в программе называется тестированием, а процесс устранения – отладкой.
Транслятор: компилятор и интерпретатор. Для получения работающей программы текст необходимо перевести в машинный код для этого обращаются к программе переводчику, к-ый наз транслятором.
Компилятор – получает объектный код. Это программы, к-ые обрабатывают весь программный текст, т е исходный код. Сначала он просматривает текст в поиске синтаксических ошибок, затем выполняется некоторый смысловой анализ после чего текст автоматически переводится или транслируется на машинный язык. Не редко при генерировании машинного кода выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы. В результате законченная программа, к-ая наз объектным кодом получается компактной и эффективной и может быть перенесена на другие компьютеры с процессором, поддерживающим соответствующий машинный код. Интерприт. Сразу берут операторы с текста программы анализируют его структуру и затем сразу его выполняют. Только после успешного выполнения текущего оператора интерпретатор перейдёт к следующему. При этом если один и тот же оператор повторяется многократно, интерпретатор всякий раз анализирует его как в первый. С помощью интерпритатора можно в любой момент остановить работу программы, исследовать содержимое памяти, организовать диалог с пользователем, т е интерпритатор полезен как инструмент на изучение программирования. В реальных системах программирования совмещены технологии компиляции и интерпритации. Пр: в процессе отладка программы может выполняться по шагам.на получение не объектного кода для отладки.
Существует 3 этапа:
компиляция – создание объектного файла *.obj
компоновка – создает исполняемый файл *.ехе
выполнение- результат формируемые этапами
После компиляции в Delphi получаем расширение *.dcu – статическая библиотека
Подключаем с помощью USES
Язык программирования ориентированный на конкретный тип процессора наз языком программирования низкого уровня, т е операторы языка ориентированы на конкретные команды процессора(Ассемблер- самый низкий уровень, он представляет каждую команду машинного кода с помощью условного обозначения- мнемоники) Однозначное преобразование одной машинной инструкции в одну команду ассемблера наз транслитирацией. Подобные языки применяют для написания системных приложений, драйверов и модулей стыковки с нестандартным оборудованием.
Языки программирования высокого уровня значительно ближе и понятнее человеку, чем компьютеру. Особенность архитектур не учитывается, => программы на этих языках можно перенести на другие платформы, где есть трансляторы.
Поколения:
I 50х 1ый язык ассемблера, сделанный по принципу 1строка 1 инструкция. (несимволический)
II к 50х Символический ассемблер, введено понятие переменной(она даёт относительный адрес), можно сказать первый полноценный язык программирования.
III 60е годы Пошли языки высокого уровня Fortran, Basic, Pascal и т.д. Резко повысилась производительность труда программиста.
VI нач. 70х Продолжается период языков предназначенных для реализации крупных проектов, для повышения скорости надёжности. -Проблемно ориентированные языки, языки ориентированные на большие специальные задачи (узкую специальную область). В них встраиваются мощные операторы, позволяющие одной строкой писать сложные функциональности (СУБД).
V с 90х годов визуальные языки – создавались как система автоматической разработки прикладных программ с помощью визуальных средств разработки. В идеале – визуальные средства, которыми могут пользоваться и непрограммисты. Два аспекта 1- использование визуальных компонентов, 2 – кодирование.
Система программирования:
Включает в себя все необходимое для создания и отладки программ
текстовый редактор
компилятор (перевод с высокого кода в машинный код) общее совместимое расширение *.obj
редактор связи – компоновщик (Link).
Исходный текст программы состоит из нескольких модулей, каждый из которых компилируется в отдельные файлы, эти объектные файлы объединяют в единое целое, кроме того добавляют машинные коды подпрограмм реализующие стандартные ф-ии, они содержатся в стандартных библиотеках, поставляемых вместе с компилятором, подпрограмма которая имеет эти коды (system.tpu – в Паскале). Линковщик (компоновщик) собирает программу воедино, включая все запрограммированные программы и стандартные подпрограммы, вычисляет реальные адреса.
Все объединения выполняют в требуемом формате (формат задается видом ОС) итогом является файл с расширением *.exe, идет размещение в реальной памяти ОЗУ, только тогда можно запустить исполняемый файл. Результат работы компоновщика – загрузочный модуль с расширением *.exe, *.com.
Наличие библиотек стандартных функций.
В системе программирование должно быть наличие отладчика – выполнение программы по шагам, наблюдая, как меняется значение переменной.
Уровни языков программирования:
Языки близки к нашему разговору, требуется состыковка с некоторым нестандартным оборудованием. Чтобы программа занимала мало памяти и время выполнения, была более быстродействующей- тогда обращаются к ассемблированию.
Фортран – сугубо инженерный язык. Проги оч компактны. Язык использ только профессионально
CABOL – бухгалтерский язык есть Англ. Рус. Версии
Algol (68)- был призван заменить фотран, но из-за сложности структуры распр не получил
Pascal – взял идеи Algol, ужесточились требования к структ прогр
С – изнач-но разраб-ся как массовый и планиров-ся для замены asm, имеет дополнит ср-ва
С++ - объектно-ориентиров-е расширение С
Java - создав-ся на основе С++. Попытались исключить из С++ низкоуровнев возм-ти. Особенность – компиляция не в машинный код, а в платформно независимый байт код.
Языки программирования для Internet – html, perl, vrml
Визуальные оболочки:
Basic – 1 место популярности в мире создавался для обучения.Microsoft Visual Basic
Pascal – Delphi – популярен для работы с БД Borland Delphi
Html, perl, php – для Интернета
C++ Borland C++ Builder
Java Symantec Cafe(сотовые телефоны, быт техника)
2.Трансляторы: назначение, классификация, примеры. Этапы прохождения программ на ЭВМ
Транслятор: компилятор и интерпретатор. Для получения работающей программы текст необходимо перевести в машинный код для этого обращаются к программе переводчику, к-ый наз транслятором.
Компилятор – получает объектный код. Это программы, к-ые обрабатывают весь программный текст, т е исходный код. Сначала он просматривает текст в поиске синтаксических ошибок, затем выполняется некоторый смысловой анализ после чего текст автоматически переводится или транслируется на машинный язык. Не редко при генерировании машинного кода выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы. В результате законченная программа, к-ая наз объектным кодом получается компактной и эффективной и может быть перенесена на другие компьютеры с процессором, поддерживающим соответствующий машинный код. Интерприт. Сразу берут операторы с текста программы, анализируют его структуру и затем сразу его выполняют. Только после успешного выполнения текущего оператора интерпретатор перейдёт к следующему. При этом если один и тот же оператор повторяется многократно, интерпретатор всякий раз анализирует его как в первый. С помощью интерпретатора можно в любой момент остановить работу программы, исследовать содержимое памяти, организовать диалог с пользователем, т е интерпретатор полезен как инструмент на изучение программирования. В реальных системах программирования совмещены технологии компиляции и интерпретации. Пр: в процессе отладка программы может выполняться по шагам. на получение не объектного кода для отладки.
Существует 3 этапа:
Исходный текст программы на яз паскаль должен быть сохранен в файле с расширением .pas. Этот файл подвергают обработке компилятором, и результатом является объектный код, , автоматически сохраняемый в файле с расширением .tpu (turbo Pascal unit), программа обрабатывается компоновщиком – получается загрузочный модуль, автоматически сохраняемый в файле с расширением .exe. Далее программа идет на выполнение (в процессе могут быть подключены исходные данные), далее получаем результаты.
компиляция – создание объектного файла *.obj, *.tpu
компоновка – создает исполняемый файл *.ехе
выполнение- результат формируемые этапами
После компиляции в Delphi получаем расширение *.dcu – статическая библиотека
Подключаем с помощью USES