Лекция7(3) Основы Программирования
.pdfАлгоритмизация и программирование
Основы программирования
Лекция 7 по дисциплине «Информатика», часть 2 Автор, доцент кафедры информатика Тимухина В.В.
Программа – это логически упорядоченная последовательность команд, необходимых для управления компьютером (выполнения им конкретных операций) при решении определенной задачи.
Программа с которой реально работает процессор компьютера представляет собой последовательность чисел, называемую машинным
кодом.
Написать программу на машинном коде это очень трудоемко, поэтому в настоящее время программы создаются с помощью языков программирования
(или их называют алгоритмические языки).
Лекция 7 Информатика, часть 2 |
2 |
Решение любой задачи осуществляется по определенному алгоритму.
Алгоритм –точно определенное описание способа решения задачи в виде последовательности действий. Такое описание называется формальным.
Для представления алгоритма в виде понятном компьютеру, служат языки программирования.
Витоге получается текст программы – полное, законченное и детальное описание алгоритма на языке программирования.
Затем этот текст программы служебными приложениями, которые называются трансляторами, либо переводится в машинный код ( компиляторами), либо исполняется (интерпретаторами).
Лекция 7 Информатика, часть 2 |
3 |
Языки программирования – искусственные языки
Отличаются от естественных языков:
•Ограниченным числом «слов», значения которых понятно транслятору
•Строгими правилами записи команд (операторов).
Совокупность этих требований образуют Синтаксис языка программирования.
Смысл каждой команды и других конструкций образуют
Семантику языка.
Нарушения формы записи программы приводит к тому, что транслятор не может понять назначение оператора и выдает сообщение об ошибке.
Процесс поиска ошибок в программе называется тестированием, процесс устранения ошибок – отладкой.
Лекция 7 Информатика, часть 2 |
4 |
Работающая программа получается:
1.если перевести исходный текст программы в
машинный код с помощью компилятора, тогда получается объектный файл, который дополняется библиотеками, таким образом создается исполняемый файл, который может быть использован отдельно от исходного текста.
2.Либо с помощью интерпретатора программа выполняется следующим образом: каждый оператор вначале анализируется затем сразу исполняется. Если текущий оператор успешно выполнен интерпретатор перейдет к следующему.
Лекция 7 Информатика, часть 2 |
5 |
Структура компиляции |
|
Исходная программа |
|
на алгоритмическом |
|
языке |
|
Лексический анализатор |
|
Синтаксический анализатор |
|
Семантический анализатор |
|
Генерация кода |
|
Оптимизация кода |
|
Объектный |
|
файл |
6 |
Лекция 7 Информатика, часть 2 |
Этапы компиляции
Лексический анализ – проверка слов кода (лексем) на
правильность написания.
Синтаксический анализ – это анализ конструкций языка и проверка правильности их написания.
Семантический анализ – проверка некоторых правил |
|
составления программы, например, соответствия типа |
|
переменных и действий над ними. |
|
Генерация кода – создания кода на машинном языке. |
|
Оптимизация кода – применение методов |
|
сокращающих объем кода и повышающих его |
|
быстродействие. |
|
Файл, прошедший через компиляцию, называется |
|
объектный. |
7 |
Лекция 7 Информатика, часть 2 |
Характеристика Компилятора
Компилятор полностью обрабатывает весь исходный код программы. Получается программа компактной и эффективной.
Полученную программу можно многократно использовать, в том числе и на других компьютерах, поддерживающих соответствующий машинный код.
Характеристика Интерпретатора
Интерпретатор переводит программу в исполняемый код построчно и сразу выполняет. Если текущий оператор успешно выполнен интерпретатор перейдет к следующему.
При выполнении на другом компьютере нужно иметь на нем интерпретатор.
На каждом шаге интерпретатор может выдать сообщение об ошибке, которую можно сразу исправить.
Лекция 7 Информатика, часть 2 |
8 |
Языки ПРОГРАММИРОВАНИЯ (СП)
Низко
Уровневые
Языки
Программирования
Машинный
код
Ассемблер
Высоко
Уровневые
Языки
Программирования
|
|
|
|
|
|
Невизуальные |
|
|
Визуальные |
||
Pascal |
|
|
Delphi |
||
Basic |
|
|
VisualBasic |
||
C |
|
|
VisualC |
||
|
|
|
|
|
|
Лекция 7 Информатика, часть 2 |
9 |
Уровни языков программирования
1. Языки программирования низкого уровня
Разные типы процессоров имеют разные наборы команд. Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется
языком программирования низкого уровня (низкий уровень не значит плохой, это значит, что операторы языка близки к машинному коду).
Ктаким языкам относится язык ассемблер.
Спомощью языков низкого уровня создаются очень эффективные и компактные программы, так как разработчик получает доступ ко всем возможностям процессора и к памяти.
Недостатки: требуется хорошее знание и понимание устройств компьютера; результирующие программы не могут быть перенесены на компьютеры с другим набором команд.
Лекция 7 Информатика, часть 2 |
10 |