Скачиваний:
30
Добавлен:
14.06.2022
Размер:
1.48 Mб
Скачать

Над конспектом старался небольшой коллектив умных и самоотверженных бойцов за доступные знания.

Поддержка наших стараний принимается на карту

2202202100481344

Тимур Алексеевич Д.

Заранее спасибо и приятной подготовки к дифференцированному зачету.

1.Технологии программирования. Концепция структурного программирования.

Виды языков программирования:

1)Структурные (Pascal, C, Assembler);

2)Объекто-ориентированные (Java, Delphi, C++).

Структурное программирование появилось в связи с неудобством использования в коде команды «goto», которая выполняла переход к определенной строчке в программе, несколько использований goto могли образовать неудобную программу, которая называлась спагетти-кодом.

Принципы структурного программирования:

1)Отказ от «goto»;

2)Любая программа строиться на 3х базовых конструкциях: последовательность, ветвление, цикл;

3)Базовые конструкции могут быть только вложены друг в друга;

4)Модульность – разбиение на функциональные блоки с количеством строк не более 50, т.к. их удобно смотреть на экране.

Головной модуль

Для обеспечения целостности модульного устройства используют заглушки – пустые программные блоки, которые в случаях дополнения программы можно заполнить.

5) Каждую законченную группу операций следует оформлять как блок;

begin

БЛОК

end

6)Последовательность, ветвление и цикл должны иметь 1 вход и 1 выход;

7)Разработка программ ведется пошагово сверху вниз.

Последовательность

 

Ветвление

 

 

 

 

Цикл (Do while)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Опер. 1

 

 

 

 

Опер. 1

 

 

+

 

Усл?

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Опер. 2

 

 

 

 

Опер. 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Опер. 1

 

 

 

Опер. 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

Усл?

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Простое условие

Цикл (For while)

 

Цикл (Switch)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

Усл?

 

 

Усл?

 

Усл?

 

 

 

 

 

 

 

Вариант

 

 

 

 

 

 

+

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Опер. 1

 

 

 

 

Опер.

 

 

 

Опер.

 

 

1

 

 

 

 

 

 

 

 

 

 

 

Вариант

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

Опер. 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Опер.

 

 

 

 

 

 

 

 

 

 

 

 

 

default

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

default

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица. Преимущества и недостатки структурного программирования

+

-

Удобно читаемые структурированные программы

Большие объемы

Позволяет промышленное производство

информации и

программ (группы людей пишут разные модули)

невозможность

Удобство в обновлении программы и отладки

обеспечения более

Типологизации программ, благодаря трем

сложных программ

основным конструкциям

(таких как в объекто-

Визуальное упрощение чтения программы

ориентированном

 

программировании)

2. Основные понятия объектно-ориентированного программирования.

ООП пришло на смену структурному программированию, потому что:

1)СП не могло осуществлять манипуляции сложными переменными;

2)СП не могло реализовать многозадачную обработку данных;

3)Исправление совокупности данных разом, а не в каждом модуле.

Объект(класс) – совокупность программного кода и данных. Черновик для конкретных применений, т.е. экземпляров класса (включает только 1 структуру кода и 1 или несколько структур данных).

Данные хранят переменные (область памяти, используемая для вычислений) и свойства (набор характеристик: размер шрифта, цвет кнопки и др.)

Методы – функции или процедуры, принадлежащие определенному классу.

Абстракция данных – выделение значимых характеристик объекта, доступных остальным программам, и исключение незначимых. Таким образом, класс представляет собой черный ящик – мы не знаем, как он работает, но знаем, с чем он работает и что мы получаем на выходе.

Инкапсуляция – свойство системы, позволяющее ограничить доступ к данным и объединить их с методами, обрабатывающими эти данные.

public – открытая часть;

private – внутри класса;

protected – защищенная, частично доступная часть.

Открытая часть формирует интерфейс класса.

Полиморфизм – свойство системы, позволяющее использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. Позволяет рационально реализовывать алгоритмы и универсально использовать конструкции.

Например, + может использоваться как:

1)сложение целых чисел;

2)сложение чисел с плавающей точкой;

3)объединение текстовых переменных;

4)наложение объектов друг на друга.

Tameplate-алгоритм – шаблон для любого типа данных.

Полиморфизм бывает для:

1)операторов (например, +);

2)данных (например, изменение выходного значения при использовании знаков сравнения в зависимости от вида данных);

3)методов (например, операция включения для разных видов устройств).

Наследственность – свойство систем описать новый класс на основе уже существующего класса с частичной или полной заимствованной функциональностью. Класс, от которого производится наследование – родитель, а новый класс – потомок, наследник, дочерний, производный класс.

Таблица. Преимущества и недостатки ООП

+

-

Визуально код становится проще

Сложно понять и начать работать

Меньше одинакового кода

Большой расход памяти (избыточный

 

кода)

Сложные программы пишутся проще

Производительность кода (операций

 

в секунду) обычно ниже

3. Технологии разработки программных средств

Компилированные программы

Программа заранее целиком готовиться к выполнению и загружается как исполняемый модуль (.exe).

Таблица. Преимущества и недостатки КП

+

-

Создается наиболее эффективная ы

Программа работает только на том

быстродействии и расходу памяти ПК

типе ПК, для которого она создана

программа

 

Интерпретируемые программы

Перевод программы с языка программирования происходит прямо во время выполнения программы (MatLab, Basic, Python).

Таблица. Преимущества и недостатки ИП

+

-

Можно корректировать программу

Медленная, расходует много памяти

по ходу ее выполнения

(много времени тратит на перевод

 

языков, а не на вычисление)

Программы, работающие в режиме динамической компиляции

Программа, написанная на любом языке преобразуется в байт-код

(промежуточный язык программирования; набор инструкций, исполняемых виртуальной машиной; каждый код операции байт-кода — один байт),

который не соответствует ни одному из существующих компьютеров

(яз. программирования → байт-код → внутренний язык компьютера).

Достоинства: так как языков программирования много и каждый из них можно преобразовать в байт-код, чтение и преобразование байт-кода может происходить на любом компьютере.

4.Процесс подготовки программ в интегрированной среде программирования

Компиляция – перевод программы с языка программирования на внутренний язык компьютера.

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

Отладка – процесс обнаружения, локализации и устранения ошибка.

 

Старт

Исходный

 

модуль

 

Исходный

*.с

текст прогр.

 

 

 

Компиляция

Объектный модуль

*.obj Ошибки?

-

Компоновка

Ошибки?

Исправлена проблема - *.exe

 

Стандартные

Внешние

библиотеки

 

библиотеки

Пользова-

 

 

тельские

 

библиотеки

+

 

Отладка

 

Ошибки?

+

 

+

 

-

Готовая к

 

Выполнена

выполнению

 

программа

Стоп

 

5. Платформа .NET Framework

.NET Framework — программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), которая подходит для различных языков программирования.

Common Language Runtime (общеязыковая исполняющая среда) — исполняющая среда для байт-кода CIL (MSIL), в который компилируются программы, написанные на .NET-совместимых языках программирования

(C#, Managed C++, Visual Basic .NET, F# и прочие).

Common Intermediate Language — «высокоуровневый ассемблер» виртуальной машины .NET (реализация компиляции CIL называется MSIL).

Основной идеей при разработке .NET Framework являлось обеспечение свободы разработчика за счёт предоставления ему возможности создавать приложения различных типов, способные выполняться на различных типах устройств и в различных средах.

Кроссплатформенность — способность программного обеспечения работать с несколькими аппаратными платформами или операционными системами.

//Основная суть: .NET Framework — программная платформа, позволяющая приводить все языки программирования высокого уровня в единый виртуальный байт-код, который может либо автоматически читаться любым устройством, поддерживающим эту платформу, либо транслироваться в исполняемый код для конкретного целевого процессора.

*Трансляция преобразование программы, представленной на одном из языков программирования, в программу на другом языке, равносильную первой.

Веб-приложения – приложения, созданные для осуществления связи пользователя с всемирным контентом с помощью клиент-серверных технологий. Состоят из трех уровней: первого - браузера (движок), второго – динамических компиляторов и трансляторов (сюда относятся языки программирования и комплитяры), третьего – база данных (хранилище). //я думаю… Таким образом, осуществляется дополнительная фишка вебприложений, что они могут работать на межязыковой форме (сайт написан на HTML, сами структуры на языках, которые для этого удобнее).

6. Динамическая компиляция программ

Common Language Runtime (общеязыковая исполняющая среда для байт-кода CIL (MSIL), программы, написанные на .NET-совместимых

(C#, Managed C++, Visual Basic .NET, F# и прочие).

исполняющая среда) — в который компилируются языках программирования

Common Intermediate Language — «высокоуровневый ассемблер» виртуальной машины .NET (реализация компиляции CIL называется MSIL).

JIT (Just in time) – компилятор программ – это и есть динамическая компеляция – переводит байт-код в машинный язык программирования.

Программа на языках высокого уровня (C++, С#, Java, Python, … )

Исходные модули

Уникальное компилирование с языка на байт-код

Модули на промежуточном языке (байт коде)

Формирование сборки (.exe, .dll – dynamically linked library)

Манифест

Метаданные

Код CIL

Ресурсы

CLR

JIT-комп-ция

Проверка типов

Отладка

Исключение

Библиотека классов: -стандартные

-пользовательские (могут быть описаны в манифесте)

Манифест: имя сборки, номер версии, список всех файлов сборки, ссылки на файлы с определением типов, ссылки на используемые сборки.

Метаданные: описывают классы и члены классов как определенной сборки, так и других сборок.

Код CIL: сама программа на виртуальном байт-коде.

Ресурсы: неисполняемые данные.

Исключение – механизм реагирования на внештатные ситуации.