Введение в программирование Уровни языков программирования Этапы решения вычислительных задач Принцип программного управления
СИСТЕМЫ ПРОГРАММИРОВАНИЯ Организация ввода, редактирования, сохранения программ Организация трансляции и компоновки программных модулей Организация отладки и исполнения программ Программное обеспечение компьютера Системное ПО Прикладное ПО Системы программирования
Уровни языков программирования ПРОГРАММИРОВАНИЕ Функциональное (Лисп) Логическое (Пролог) Объектно-ориентированное (Си++, Делфи,VBasic) ПРОЦЕДУРНОЕ ПРОГРАММИРОВАНИЕ (Ассемблер, Бейсик, Фортран, Паскаль) Языки низкого уровня (ЯНУ). Язык машинных команд (ЯМК) Ассемблеры Автокоды Языки программирования высокого уровня
Языки программирования ЯзыкПолное название Произно шени е Пояснения AdaАда Разработан по заказу Министерства обороны США для военной техники AI.GOLALGOrithmic LanguageАлгол Один из первых языков программирования, предназначенный в основном для математических расчетов. В настоящее время практически не употребляется BASIC Beginner's АН purpose Symbolic Instruction Code Бейсик Разработан в 1964 г. для начинающих. В настоящее время ис пользуется множество диалектов языка, в том числе объектноориентированный Visual Basic CСи Язык системного программирования, разработанный Деннисом Ричи (Dennis Ritchie) и широко использовавшийся при программ-мировании операционных систем С++ Си плюс- плюс Объектно-ориентированное расширение С, предложенное Бьярном Страуструпом (Bjarne Strou- strup) СliррегКлиппер Командный язык с широкими возможностями проведения обычных расчетов и манипулирования данными, ориентированный на разработку и эксплуатацию dBASE- подобных роляционных баз данных
Язык Полное название Произн.Пояснения COBOL СОmmоп Business Oriented Language Кобол Разработан в конце 50-х гг. и предназначен для экономиче ских расчетов. До сего времени широко используется в США FORTRA N I FORmula TRANslator Фортран Язык для математических расчетов, разработанный в 50-х гг. в IBM. Диалекты языка: Форт-· pah-IV, Фортран-77, Фортран-95 идр. Java Джава или Ява Интерпретируемый язык, разработанный в 1995 г. компанией Sun Microsystems и специально предназначенный для создания сетевых приложений в Internet. Небольшие прикладные программы на языке Java называются апплетами (applets) LispLISt ProcessingЛисп Язык обработки. списков, созданный в 50-х гг. PascalПаскаль Создан швейцарским ученым Н. Виртом в 1970 г. как язык учебного назначения. Широко используется в современном программировании Prolog PROgramming in LOGic Пролог Язык программирования искусственного интеллекта, разработанный в 70-х гг. и предназначенный для создания экспертных систем SmalltаlkСмолток Первый классический объектно-ориентированный язык Языки программирования
Языки высокого уровня - это посредники между человеком и компьютером. Трансляторы - делятся на две большие группы интерпретаторы и компиляторы.
Трансляторы процессор Язык машинных команд (ЯМК) Машинноориенти- рованные языки Автокоды, Ассемблеры Машинно- независимые языки (ЯПВУ) Транслятор Компилятор Интерпретатор Компилируемые Паскаль, Си, Фортран Интерпретируемые Бейсик, Пролог, Лисп,…
Трансляторы переводят составленный человеком алгоритм с языка программирования на язык машинных кодов интерпретатор Команда1 … КомандаN интерпретатор Выполнение К1 Выполнение К2 Выполнение КN …… Команда1 … КомандаN компилятор Выполняемый модуль Выполнение
Этапы решения вычислительных задач Технологическая цепочка решения задач на ЭВМ 1. Постановка задачи 2. Математическая формализация 3. Построение алгоритма 4.Составление программы на языке программирования 5. Отладка и тестирование программы 6. Проведение расчетов и анализ результатов 7. Составление сценария интерфейса (т. е. взаимодействия между пользователем и компьютером во время исполнения программы). С использованием ЭВМ Без использования ЭВМ
Постановка задачи. На этапе постановки задачи должно быть четко определенно, что дано и что требуется найти. Так, если задача конкретная (например, решить уравнение 2x 2 +3x+5=0, где коэффициенты уравнения- константы), то под постановкой задачи понимаем ответ на два вопроса: какие исходные данные известны и что требуется определить. Если задача обобщенная (например, решить квадратное уравнение ax 2 +bx+c=0), то при постановке задачи понадобится еще ответ на третий вопрос: какие данные допустимы. Итак, постановка задачи «решить квадратное уравнение ax 2 +bx+c=0» выглядит следующим образом. Дано: a, b, c,-коэффициенты уравнения. Найти: x1, x2- корни уравнения. Связь: при a=0 и d=b 2 -4ac>=0, Иначе действительных корней нет.
Математическая формализация Компьютер решает задачу, выполняя команды нашего алгоритма, выраженные на языке программирования. Часто построение математической модели требует упрощения требований задачи. Например, для решения квадратного уравнения, когда необходимо получить значения его корней (если они есть), мы можем воспользоваться известными из курса алгебры формулами для x1 и x2. На уроках математики доказывалась правильность метода решения квадратного уравнения путем вычисления по формулам: Нам уже известно, что этот метод решения дает искомые значения корней при любых доступных значениях исходных данных- коэффициентов A, B, C. Поэтому мы строим алгоритм, основываясь на нем.
Построение алгоритма. Для этого может быть использован язык блок-схем или какой-нибудь псевдокод, например учебный алгоритмический язык. Составление алгоритма на языке программирования. Первые три этапа это работа без компьютера. Дальше следует собственно программирование на определенном языке в определенной системе программирования.
Отладка и тестирование программы. Под отладкой программы понимается процесс испытания работы программы и исправления обнаруженных при этом ошибок. Проверка на компьютере правильности алгоритма производится с помощью тестов. Тест –это конкретный вариант значений исходных данных, для которого известен ожидаемый результат. Прохождение теста – необходимое условие правильности программы.
Проведение расчетов и анализ получаемых результатов. Последний этап –это использование уже разработанной программы для получения искомых результатов. Программы, имеющие большое практическое или научное значение, используется длительное время. Иногда в процессе эксплуатации программы исправляются, дорабатываются.
Принцип программного управления Двоичное кодирование Хранимая программа Автоматическое управление
А теперь посмотрим тест