Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Понятие программы

Содержание

План лекцииИнформация об этом курсеПонятие программыЭтапы создания программ
Понятие программыЛекция 1 План лекцииИнформация об этом курсеПонятие программыЭтапы создания программ Информация об этом курсеhttp://koi.nsu.ru/new/courses/programming_yvu/index.htmlПетров Евгений Сергеевич1й семестр16 учебных недель1-2 потоковых контрольных работыДифференцированный Понятие программыПрограмма – это данные, предназначенные для управления конкретными компонентами системы обработки Понятие программыПрограмма – это размещённые в оперативной памяти компьютера данные и машинные Понятие программы Этапы создания программНакопление требований, работа с заказчикомПроектирование – процедурная декомпозиция, ОО, др.Внутреннее Этапы создания программ – каскад Этапы создания программ – инкремент Этапы создания программ – эволюция Этапы создания программ Написание исходного кодаВыбор языка программированияСледование стандарту языкаСледование системе правилИменование типов, переменных, констант, Компиляция исходного кодаФайлы с исходным кодом называются единицами компиляцииРезультатом компиляции является файл Компиляция исходного кодаworker.hvoid do_some_work();worker.c#include Сборка (линковка)Различают три вида сборкиСборка статической библиотекиСборка динамической библиотекиСборка исполняемого файла Сборка статической библиотеки Вход: объектные файлыВыход: архив, содержащий эти файлыСтатическая библиотека – Сборка динамической библиотекиВход: объектные файлы, статические библиотеки, ранее созданные динамические библиотекиВыход: файл Сборка исполняемого файлаВход: объектные файлы, статические библиотеки, динамические библиотекиВыход: файл со служебной Компиляция, сборка, загрузка в память для исполненияК – компиляторЛ – линкер, редактор Сборка (линковка)c:\Users\espetrov>cl –c worker.cc:\Users\espetrov>dumpbin /all /disasm worker.obj Сборка (линковка)c:\Users\espetrov>cl –c main.cc:\Users\espetrov>dumpbin /all /disasm main.obj Сборка (линковка)c:\Users\espetrov>link main.obj worker.obj /nodefaultlib /entry:main -out:main.exec:\Users\espetrov>dumpbin/all /disasm main.exe ОтладкаДостижение работоспособности программы, устранение грубых ошибокМетоды отладкиИмитация пошагового исполнения с помощью «карандаша ОптимизацияУлучшение количественных характеристик программыВремя компиляцииВремя загрузкиВремя работыРазмер используемой памяти (данных на диске)Размер ЗаключениеИнформация об этом курсеПонятие программыЭтапы создания программНакопление требований, проектирование, документирование, сдача в
Слайды презентации

Слайд 2 План лекции
Информация об этом курсе
Понятие программы
Этапы создания программ

План лекцииИнформация об этом курсеПонятие программыЭтапы создания программ

Слайд 3 Информация об этом курсе
http://koi.nsu.ru/new/courses/programming_yvu/index.html
Петров Евгений Сергеевич
1й семестр
16 учебных

Информация об этом курсеhttp://koi.nsu.ru/new/courses/programming_yvu/index.htmlПетров Евгений Сергеевич1й семестр16 учебных недель1-2 потоковых контрольных

недель
1-2 потоковых контрольных работы
Дифференцированный зачёт
2й семестр
16 учебных недель
1-2 потоковых

контрольных работы
Экзамен
Лекция + семинар + практика каждую учебную неделю

Слайд 4 Понятие программы
Программа – это данные, предназначенные для управления

Понятие программыПрограмма – это данные, предназначенные для управления конкретными компонентами системы

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

алгоритма. (ГОСТ 19781—90)
Программа – это представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств с целью получения определённого результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения. (ГК РФ)



Слайд 5 Понятие программы
Программа – это размещённые в оперативной памяти

Понятие программыПрограмма – это размещённые в оперативной памяти компьютера данные и

компьютера данные и машинные инструкции, исполняемые процессором для достижения

некоторой цели. (Википедия)

Слайд 6 Понятие программы

Понятие программы

Слайд 7 Этапы создания программ
Накопление требований, работа с заказчиком
Проектирование –

Этапы создания программНакопление требований, работа с заказчикомПроектирование – процедурная декомпозиция, ОО,

процедурная декомпозиция, ОО, др.
Внутреннее и внешнее документирование
Разработка
Написание исходного кода
Компиляция

исходного кода
Сборка
Отладка
Оптимизация
Тестирование
Сдача в эксплуатацию (релиз)
Сопровождение

Слайд 8 Этапы создания программ – каскад

Этапы создания программ – каскад

Слайд 9 Этапы создания программ – инкремент

Этапы создания программ – инкремент

Слайд 10 Этапы создания программ – эволюция

Этапы создания программ – эволюция

Слайд 11 Этапы создания программ

Этапы создания программ

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

Написание исходного кодаВыбор языка программированияСледование стандарту языкаСледование системе правилИменование типов, переменных,

правил
Именование типов, переменных, констант, функций, файлов
Деление кода на функции,

файлы, компоненты
Форматирование и комментирование кода
Минимальное дублирование кода
Похожим действия -- похожая запись («устойчивые обороты»)
Рефакторинг кода (code refactoring)
Ревью кода (code review)

if (1==x) x=0; else x=1;
x=1-x;
int T[2] = {1, 0}; x = T[x];
x = x?0:1;
x = !x;
if (1==x) x=0;
else if (0==x) x=1;
else assert(x==0||x==1);


Слайд 13 Компиляция исходного кода
Файлы с исходным кодом называются единицами

Компиляция исходного кодаФайлы с исходным кодом называются единицами компиляцииРезультатом компиляции является

компиляции
Результатом компиляции является файл с объектным кодом
Если изменения в

файле Ф1 могут нарушить логику работы кода в файле Ф2, то Ф2 зависит от Ф1
Системы компиляции умеют автоматически учитывать некоторые зависимости между файлами
GNU make, MS nmake, scons, …
За учёт всех зависимостей отвечает программист

Слайд 14 Компиляция исходного кода
worker.h
void do_some_work();

worker.c
#include "worker.h"
void do_some_work() {

Компиляция исходного кодаworker.hvoid do_some_work();worker.c#include

/* … */ }

main.c
#include "worker.h"
int main()
{
do_some_work();
return 0;
}
Изменения в worker.c

требуют изменений в worker.h и перекомпиляции worker.c и main.c

Для чего нужна строка
#include "worker.h" в файле worker.c?


Слайд 15 Сборка (линковка)
Различают три вида сборки
Сборка статической библиотеки
Сборка динамической

Сборка (линковка)Различают три вида сборкиСборка статической библиотекиСборка динамической библиотекиСборка исполняемого файла

библиотеки
Сборка исполняемого файла


Слайд 16 Сборка статической библиотеки
Вход: объектные файлы
Выход: архив, содержащий эти

Сборка статической библиотеки Вход: объектные файлыВыход: архив, содержащий эти файлыСтатическая библиотека

файлы

Статическая библиотека – средство группирования логически связанных объектных файлов


Слайд 17 Сборка динамической библиотеки
Вход: объектные файлы, статические библиотеки, ранее

Сборка динамической библиотекиВход: объектные файлы, статические библиотеки, ранее созданные динамические библиотекиВыход:

созданные динамические библиотеки
Выход: файл со служебной информацией для ОС

и машинными инструкциями, годными для исполнения процессором

Динамическая библиотека – средство построения программ в процессе их работы


Слайд 18 Сборка исполняемого файла
Вход: объектные файлы, статические библиотеки, динамические

Сборка исполняемого файлаВход: объектные файлы, статические библиотеки, динамические библиотекиВыход: файл со

библиотеки
Выход: файл со служебной информацией для ОС, машинными инструкциями,

годными для исполнения процессором, и «точкой входа»



Слайд 19 Компиляция, сборка, загрузка в память для исполнения
К – компилятор
Л

Компиляция, сборка, загрузка в память для исполненияК – компиляторЛ – линкер,

– линкер, редактор связей
З – загрузчик ОС
Исполняемый код
З
Л
К
Исполняемый

файл

Динамическая библиотека

Статическая библиотека

Объектный код

Свой исходный код

Чужой исходный код
(заголовочные файлы библиотек и т.п.)


Слайд 20 Сборка (линковка)
c:\Users\espetrov>cl –c worker.c
c:\Users\espetrov>dumpbin /all /disasm worker.obj

Сборка (линковка)c:\Users\espetrov>cl –c worker.cc:\Users\espetrov>dumpbin /all /disasm worker.obj

Слайд 21 Сборка (линковка)
c:\Users\espetrov>cl –c main.c
c:\Users\espetrov>dumpbin /all /disasm main.obj

Сборка (линковка)c:\Users\espetrov>cl –c main.cc:\Users\espetrov>dumpbin /all /disasm main.obj

Слайд 22 Сборка (линковка)
c:\Users\espetrov>link main.obj worker.obj /nodefaultlib /entry:main -out:main.exe
c:\Users\espetrov>dumpbin/all /disasm

Сборка (линковка)c:\Users\espetrov>link main.obj worker.obj /nodefaultlib /entry:main -out:main.exec:\Users\espetrov>dumpbin/all /disasm main.exe

main.exe


Слайд 23 Отладка
Достижение работоспособности программы, устранение грубых ошибок
Методы отладки
Имитация пошагового

ОтладкаДостижение работоспособности программы, устранение грубых ошибокМетоды отладкиИмитация пошагового исполнения с помощью

исполнения с помощью «карандаша и бумаги» для простых случаев
Трассировка

работы программы с помощью отладочной печати
Проверка необходимых условий корректности в ходе работы программы
Пошаговое исполнение программы с помощью отладчика

Слайд 24 Оптимизация
Улучшение количественных характеристик программы
Время компиляции
Время загрузки
Время работы
Размер используемой

ОптимизацияУлучшение количественных характеристик программыВремя компиляцииВремя загрузкиВремя работыРазмер используемой памяти (данных на

памяти (данных на диске)
Размер исходного кода
Размер исполняемого кода
Компилятор и

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


  • Имя файла: ponyatie-programmy.pptx
  • Количество просмотров: 112
  • Количество скачиваний: 0