Программный принцип работы компьютера
Программный принцип работы компьютера
Компьютер – двуединая система, состоящая из аппаратной части (технических устройств) и информационной части ( программного обеспечения ):
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ (software)
АППАРАТУРА (hardware)
КОМПЬЮТЕР
=
+
Программное обеспечение (ПО)
ПО – это совокупность программ, хранящихся на устройствах долговременной памяти компьютера и предназначенных для массового использования.
Использование компьютера человеком происходит по схеме:
ВЫБОР И ИНИЦИАЛИЗАЦИЯ ПРОГРАММЫ
РАБОТА
ЗАДАЧА
Программы и данные
Программное обеспечение – это не только собственно программы , но и данные , с которыми работают эти программы.
Данные и программы хранятся на дисках, в отдельных файлах.
Часто объем данных во много раз превышает размер программ.
Программирование - это процесс создания программы для решения задачи с помощью ЭВМ
Среды программирования
Программные средства (ПО, Soft)
3
Основные этапы технологического процесса решения задач с помощью ЭВМ
1 этап: Постановка задачи и выбор метода решения (формальное математическое описание алгоритма)
2 этап: Определение и описание входных и выходных данных, необходимых для решения задач.
3 этап: Разработка алгоритма решения задач.
4 этап: Кодирование описания данных и алгоритма (составление программы на выбранном языке программирования).
5 этап: Отладка и тестирование программы с целью её проверки и доведения её в соответствии с поставленной задачей.
6 этап: Выполнение и поддержка программы (создание новых версий в зависимости от новой техники).
Понятие программы
- Программа – это форма представления алгоритма для исполнения его компьютером
- Программа – последовательность инструкций (кодов), предназначенная для исполнения устройством управления вычислительной машины
Первые команды составлялись в машинных кодах.
Например, команда сложения двух чисел могла выглядеть так:
15 0127 2677 3656
Код операции
Номера ячеек ОЗУ
Понятнее записать команду так: С = А + В
Здесь латинские буквы А ,В ,С обозначают переменные
3
Для автоматизации формирования машинного кода нужно было решить 2 задачи:
1 задача Создать систему условных обозначений для записи команд в понятной для человека форме ( язык программирования )
2 задача Создать программу-посредника , которая переводила бы такие команды на машинный язык.
3
Реализация 1-й задачи
- Алгоритм должен быть записан на алгоритмическом языке (АЯ), чтобы быть исполненным.
- Команды на языке программирования называют операторами или инструкциями
- Программа , написанная на языке программирования, – это последовательность операторов (или исходный текст)
- Исходные тексты программ хранятся в текстовых файлах
- Программа должна иметь и машинный код , который непосредственно исполняется
3
Реализация 2-й задачи
Существует два типа программ-посредников , работающих с исходными текстами:
- Компилятор : - переводит исходный текст в машинный код, - записывает машинный код на диск в форме исполняемого (загрузочного) файла. После этого программа выполняется независимо от исходного текста.
- Интерпретатор : - интерпретирует каждую инструкцию исходного текста и немедленно ее исполняет, - файл на машинном языке не создается.
Замечание . Программа в режиме Интерпретации работает медленнее, но проще для отладки
3
Схема работы компилятора
Компилятор
1
2
Синтаксический контроль текста программы
Генератор машинного кода
Исполняемая программа ( в машинных кодах)
Исходная программа (текст на языке программи-рования )
Сообщения о синтаксических ошибках
3
Общие особенности языков программирования
- Это формализованные (искусственные) языки – в них строго определены синтаксис и семантика : - синтаксис описывает структуру программ как наборов символов (безотносительно к содержанию) - семантика определяет смысловое значение отдельных языковых конструкций
- Все языки содержат: - средства описания данных, - арифметические операторы, - средства управления и организации циклов, - средства ввода и вывода информации.
- Многие языки используют похожие принципы организации программ, но разный синтаксис.
3
Требования к языку программирования:
- программа должна быть пригодна для восприятия компьютером, программа должна быть понятной для человека.
- программа должна быть пригодна для восприятия компьютером,
- программа должна быть понятной для человека.
3
Основные категории языков программирования
Языки высокого уровня (high-level language): - наглядное описание задачи, - не зависит от внутренних машинных кодов ЭВМ, - требует наличие транслятора или интерпретатора.
Pascal, С, С++, С#, Java, …
Языки низкого уровня (low-level language): - предназначен для определенного типа ЭВМ, - отражает его внутренний машинный код.
Ассемблер, Макроассемблер
3
Основные подходы к программированию
ООП (объектно-ориентированное) - в основу положена концепция объекта:
Объект = данные + выполняемые над ними действия (процедуры или функции). Программа – это набор объектов и связей между ними.
Языки программирования: С++, Java, ObjectLisp
Процедурное (процедурно-ориентированное) - в основу положен модульный (структурный) принцип:
Программа - это последовательность процедур или функций, т.е. последовательность действий.
Языки программирования: Фортран, Паскаль, Си
3
Структура программы на языках Pascal и C++
С++
Pascal
Директивы препроцессора
Program имя;
Uses
Описания глобальных объектов
Функции, написанные программистом
Раздел описаний
Begin
void main()
{
Раздел операторов
Операторы функции main
End.
}
Среда программирования – это интегрированная среда разработки программ (ИСРП) , которая содержит:
- редактор текста - для создания и редактирования текста программы на языке высокого уровня, т.е. формирования исходного модуля (например, среды на основе языка Pascal сохраняют файл с расширением .pas ; на основе языка С++ с расширением .cpp );
- компилятор - для перевода текста программы с языка высокого уровня в машинные коды, т.е. формирование объектного модуля (например, в Pascal . tpu; в С++ . obj );
- компоновщик - для подключения объектных кодов стандартных команд и формирования загрузочного модуля (файл с расширением .exe )
- загрузчик - для выполнения загрузочного модуля программы.
16
Функции ИСРП
ИСРП позволяет:
- создавать и редактировать исходные тексты программ;
- сохранять исходные тексты программ в файлах;
- считывать файлы с диска;
- осуществлять поиск и исправление ошибок (отладка);
- выполнять программу и просматривать результаты выполнения.
16