Реферат: Алгоритмизация и программирование. Языки программирования высокого уровня. Технологии программирования
Часть 3.
Алгоритмизация и программирование.
Языки программирования высокого уровня.
Технологии программирования.
Определение:
Алгоритм - точный набор инструкций или команд, описывающих порядок действий исполнителя для решения поставленной задачи за конечное время.
Замечание:
Некоторые действия алгоритма должны быть выполнены последовательно, некоторые могут быть и независимыми и выполняться одновременно (параллельно).
Комментарий.
Слово «алгоритм» образовано от имени персидского учёного аль-Хорезми (al-Khwarazmi).
Ранее часто писали «алгорифм», сейчас такое написание используется редко.
Часто в качестве исполнителя выступает некоторый механизм (компьютер, токарный станок, швейная машина), но понятие алгоритма необязательно относится к компьютерным программам, так, например, чётко описанный рецепт приготовления блюда также является алгоритмом, в таком случае исполнителем является человек.
Свойства алгоритмов, требования к алгоритмам:
Дискретность - процесс решения задачи является последовательным выполнением простых шагов за конечный отрезок времени.
Детерминированность - в каждый момент времени следующий шаг однозначно определяется состоянием системы. Т.е. алгоритм выдаёт один и тот же результат для одних и тех же исходных данных.
Понятность - алгоритм содержит команды, понятные исполнителю (которые входят в его систему команд).
Конечность – для корректных исходных данных алгоритм должен успешно завершать работу за конечное число шагов.
Массовость - алгоритм должен быть применим к разным наборам исходных данных.
Результативность – работа алгоритма должна завершаться определёнными результатами.
Определение:
Алгоритмизация – процесс построения алгоритма.
Определение:
Программирование - процесс создания программного обеспечения с помощью языков программирования.
Комментарий.
Программирование сочетает в себе элементы искусства, фундаментальных наук (это прежде всего информатика и математика), инженерии, спорта и ремесла.
Замечание:
Программирование следует отличать от ремесла кодирования программы
Программирование включает в себя:
Анализ поставленной задачи.
Проектирование/разработку комплекса алгоритмов.
Кодирование – реализация алгоритмов - написание исходного текста программы на языке программирования (исходников).
Компиляцию - преобразование исходников в исполнимый код с помощью компилятора.
Тестирование и отладку - выявление и устранение ошибок в программах.
Испытания и сдачу программ.
Сопровождение программ.
Определение:
Язык программирования - система, предназначенная для записи компьютерных программ. Язык программирования определяет набор правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.
Комментарий.
На сегодняшний день известно более 8500 языков программирования.
Языки программирования делятся на:
компилируемые
интерпретируемые
низкоуровневые
высокоуровневые
Определение:
Компилятор это специальная программа, которая переводит исходный текст программы с языка программирования высокого уровня в двоичные коды инструкций процессора, которые записываются в отдельный исполнимый файл (например exe-файл). Этот файл может быть запущен как отдельная программа.
Определение:
Интерпретатор выполняет исходный текст программы без предварительной компиляции. При этом программа остаётся на исходном языке и не может быть запущена без интерпретатора.
Преимущества:
Компилируемые программы работают значительно быстрей интерпретируемых.
Интерпретируемые программы обладают большей гибкостью в процессе разработки и допускают запуск на разных компьютерных платформах и операционных системах.
Определение:
Язык программирования низкого уровня – это язык, близкий к программированию в машинных кодах используемого процессора.
Общеизвестный пример языка низкого уровня - язык ассемблера.
Определение:
Высокоуровневый язык программирования - язык программирования, разработанный для быстроты и удобства использования программистом.
Замечание:
Основная черта высокоуровневых языков - это абстракция, то есть введение конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на низкоуровневом языке программирования очень длинны и сложны для понимания и реализации.
Примеры языков высокого уровня:
C, C++, Visual Basic, Java, PHP, Delphi, Pascal, Fortran.
Язык программирования строится в соответствии с парадигмой программирования.
Определение:
Парадигма программирования - это совокупность идей и понятий, определяющих стиль написания программ. Парадигма определяет то, в каких терминах программист описывает логику программы.
Основные модели (парадигмы) программирования:
Императивное программирование
Структурное программирование
Функциональное программирование
Логическое программирование
Объектно-ориентированное программирование
Императивное (процедурное) программирование - это парадигма программирования, которая описывает процесс вычисления в виде последовательности инструкций, которые должен выполнить компьютер.
Примеры процедурных языков программирования: Fortran, Basic, Pascal, C.
^ Структурное программирование - методология разработки ПО, в основе которой лежит представление программы в виде иерархической структуры блоков.
Каждый блок должен представлять собой одну из трех структур: последовательное выполнение, ветвление и повторение.
^ Функциональное программирование - раздел дискретной математики, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних (в отличие от функций как подпрограмм в процедурном программировании).
Примеры функциональных языков программирования: LISP, Haskell, ML.
^ Логическое программирование – парадигма, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций.
Самым известным языком логического программирования является Prolog.
^ Объектно-ориентированное программирование (ООП) - парадигма программирования, в которой основными концепциями являются понятия объектов и классов.
Определение:
Класс - это описание устройства объектов (как бы теоретическая модель).
Определение:
Объект - это экземпляр класса (как бы физическая реализация).
Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.
Замечание:
ООП есть по сути императивное программирование, дополненное принципом инкапсуляции данных и методов в объект и наследованием.
Внимание!
Понятия инкапсуляции и наследования – изучить самостоятельно!!!
Определение:
Технология программирования - дисциплина, изучающая технологические процессы программирования и порядок их прохождения.
Основные технологии программирования:
восходящее программирование
нисходящее программирование
Определение:
Восходящее программирование (программирование «снизу вверх») - методика разработки программ, при которой крупные блоки собираются из ранее созданных мелких блоков.
Восходящее программирование начинается с разработки ключевых процедур и подпрограмм, которые затем постоянно модифицируются.
Определение:
Нисходящее программирование (программирование «сверху вниз») - методика разработки программ, при которой разработка начинается с определения целей решения проблемы, после чего идет последовательная детализация, заканчивающаяся детальной программой.
При нисходящем программировании низкоуровневые блоки первоначально реализуются в виде «заглушек», которые с течением времени обретают свою функциональность.
еще рефераты
Еще работы по разное
Реферат по разное
Сегодня мы собрались для того, чтобы провести семейный праздничный вечер, посвященный одному старинному замечательному обычаю чаепитию
17 Сентября 2013
Реферат по разное
Министерство здравоохранения и социального развития рф, фгу научный центр акушерства, гинекологии и перинатологии им. В. И
17 Сентября 2013
Реферат по разное
Кафедра технологии литейных процессов Белов В. Д. Зав кафедрой Быстрое прототипирование – основа инновационных литейных технологии
17 Сентября 2013
Реферат по разное
Концепт “снег” в русской и японской поэзии серебряного века ключевые слова
17 Сентября 2013