ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ Введение Старший преподаватель Кафедры ВС, к.т.н. Поляков Артем Юрьевич 1 © Кафедра вычислительных систем ГОУ ВПО «СибГУТИ»
Структура курса Виды занятий – Лекционные – Практические (лабораторные) Продолжительность - 2 семестра. Осенний семестр – Изучение основ программирования. – Получение навыков программирования на языке Си – Форма практических занятий: решение учебных задач. Весенний семестр – Изучение алгоритмов и динамических структур данных. – Получение навыков решения прикладных задач – Форма практических занятий: выполнение лабораторных курсовой работ. 2 © Кафедра вычислительных систем ГОУ ВПО «СибГУТИ»
План занятий в осеннем семестре Раздел1. Базовые конструкции и типы данных языка Си. Раздел2. Сложные типы данных. Раздел3. Процедурно-ориентированный подход к программированию. 3 © Кафедра вычислительных систем ГОУ ВПО «СибГУТИ»
Аппаратурное обеспечение вычислительных машин 4 © Кафедра вычислительных систем ГОУ ВПО «СибГУТИ»
Программное обеспечение вычислительных машин 5 © Кафедра вычислительных систем ГОУ ВПО «СибГУТИ» Системное ПО Прикладная программа 1 Прикладная программа 2 Прикладная программа N...
Упрощенный процессор 6 © Кафедра вычислительных систем ГОУ ВПО «СибГУТИ» R1R2 Исполнительное устройство. Команды: Арифм.: SUB, DIV Опер. с памятью: MOV Шина данных ОЗУ КомандаКод SUB01 DIV02 MOV03 РегистрКод R101 R202
Хранение информации в ЭВМ 7 © Кафедра вычислительных систем ГОУ ВПО «СибГУТИ» 1 БАЙТ = 8 БИТ БИТ БАЙТ БИТ – binary digit – разряд двоичного числа. БАЙТ - минимально адресуемый набор фиксированного числа битов. БАЙТ способен хранить 8-разрядное двоичное число в диапазоне от 0 до (2 8 – 1): [0; 255].
Задача поиска корней уравнения вида: а·x + b = c 1.Решение задачи математически. Выражение неизвестной переменной x через известные переменные a, b и c: x = (c – b)/a 2.Реализация вычислений по полученной формуле на упрощенном процессоре 3.Входные данные (значения a, b и c) вводятся с клавиатуры или из файла и размещаются в оперативной памяти в ячейках A (адрес 10), B(20) и C(30). Адрес – порядковый номер первого байта ячейки. 4.Результат записывается в ячейку X с адресом © Кафедра вычислительных систем ГОУ ВПО «СибГУТИ»
Вычисление x = (c – b)/a на упрощенном процессоре 9 © Кафедра вычислительных систем ГОУ ВПО «СибГУТИ» R1R2 Исполнительное устройство ОЗУ SUB01 DIV02 MOV03 R101 R202 А В СХ Машинное словоКомментарий MOV C -> R MOV B -> R2 01SUB (R1 = R1 – R2) MOV A -> R2 02DIV (R1 = R1 / R2) Машинное словоКомментарий MOV R2 -> X A1010 B2020 C3030 X
Программа на низкоуровневом языке ASSEMBLER 10 © Кафедра вычислительных систем ГОУ ВПО «СибГУТИ» Машинное словоПрограмма на языке ASSEMBLER MOV C R MOV B R2 01SUB MOV A R2 02DIV MOV R2 X
Программа на языке высокого уровня Си 11 © Кафедра вычислительных систем ГОУ ВПО «СибГУТИ» Машинное слово Программа на языке ASSEMBLER Программа на языке Си MOV C R1 X = (C – B) / A; MOV B R2 01SUB MOV A R2 02DIV MOV R2 X
Этапы формирования исполняемого кода из исходного 12 © Кафедра вычислительных систем ГОУ ВПО «СибГУТИ» program1.c (текстовый файл) …. X=(C – B)/A; …… …. MOV C R1 MOV B R2 SUB MOV A R2 DIV MOV R2 X …… program1.asm (текстовый файл) … …… program1.o (объектный (бинарный) файл) Компиляция (compilation) Компоновка (assembling) programN.cprogramN.asmprogramN.o..... … …… program (исполняемый (бинарный) файл) Редактирова ние связей (linking)