Разделы презентаций


Программирование на языке высокого уровня

Содержание

Введение в программированиеЛекция 1. Введение в программирование

Слайды и текст этой презентации

Слайд 1Программирование на языке высокого уровня

Программирование на языке высокого уровня

Слайд 2Введение в программирование
Лекция 1. Введение в программирование

Введение в программированиеЛекция 1. Введение в программирование

Слайд 3Введение в программирование
Программирование – теоретическая и практическая деятельность по созданию

программного обеспечения.
Программирование – это процесс описания последовательности действий решения задач

средствами конкретного языка программирования и оформление результатов в виде программы.

Введение в программированиеПрограммирование – теоретическая и практическая деятельность по созданию программного обеспечения.Программирование – это процесс описания последовательности

Слайд 4История программирования
В 20-х годах XIX века Ч. Бэббидж высказал мысль

о предварительной записи порядка действий машины для последующей автоматической реализации

вычислений.
Это привело к созданию автоматических цифровых вычислительных машин.
С появлением в 1950-хх ЭВМ родилась новая область прикладной математики – программирование.
История программированияВ 20-х годах XIX века Ч. Бэббидж высказал мысль о предварительной записи порядка действий машины для

Слайд 5История программирования
Ча́рльз Бэ́ббидж
(англ. Charles Babbage; 26 декабря 1791, Лондон,

Англия — 18 октября 1871, там же) — английский математик,

изобретатель первой вычислительной машины.
История программированияЧа́рльз Бэ́ббидж (англ. Charles Babbage; 26 декабря 1791, Лондон, Англия — 18 октября 1871, там же)

Слайд 6История программирования

История программирования

Слайд 7История программирования
Первоначально программы составлялись вручную на машинных языках (в машинных

кодах).
Процессор компьютера понимает только язык машинных команд (ЯМК) в

двоичных кодах. Программист, пишущий на ЯМК, должен помнить все числовые коды машинных команд, самостоятельно распределять память под хранение данных и программы.
Программы были громоздки, их отладка – очень трудоемкой.
Язык процессоров (машинный код) обычно является низкоуровневым.


История программированияПервоначально программы составлялись вручную на машинных языках (в машинных кодах). Процессор компьютера понимает только язык машинных

Слайд 8Понятие языка программирования (ЯП)
Языки программирования – знаковые системы, применяемые для

описания процессов решения задачи на ЭВМ. Строго формализованы.
Синтаксис – совокупность

правил образования правильных (допустимых) конструкций языка.
Семантика – система правил однозначного толкования отдельных языковых конструкций, позволяющих воспроизвести процесс обработки данных.
Семантика языка программирования задается определением средств описания данных и действий (алгоритм).
Понятие языка программирования (ЯП)Языки программирования – знаковые системы, применяемые для описания процессов решения задачи на ЭВМ. Строго

Слайд 9Классификация языков программирования
низкого уровня
машинные языки – языки кодов ЭВМ;
машинно-ориентированные

языки – Ассемблер, мнемокоды;
высокого уровня

Классификация языков программированиянизкого уровнямашинные языки – языки кодов ЭВМ; машинно-ориентированные языки – Ассемблер, мнемокоды;высокого уровня

Слайд 10Классификация языков высокого уровня
Императивные (процедурные):
описывают процесс вычисления в виде

инструкций, изменяющих состояние ЭВМ.
Императивная программа очень похожа на приказы,

выражаемые повелительным наклонением в естественных языках, то есть это последовательность команд, которые должен выполнить компьютер.
(Pascal, Fortran, C и т.д.).

Классификация языков высокого уровняИмперативные (процедурные): описывают процесс вычисления в виде инструкций, изменяющих состояние ЭВМ. Императивная программа очень

Слайд 11Классификация языков высокого уровня
Декларативные:
в которых программистом не задается пошаговый

алгоритм решения задачи ("как" решить задачу),
а некоторым образом описывается,

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

Слайд 12Классификация языков высокого уровня
Функциональные: программа описывает вычисление некоторой функции, значения

которой определяются по заданным параметрам; предназначены для решения задач нечисленного

характера (LISP – List Processing Language).
Свойства: функции — объекты вычисления; чистота (отсутствие побочных эффектов); отложенные (ленивые) вычисления; краткость и простота; строгая типизация; модульность;


Классификация языков высокого уровняФункциональные: программа описывает вычисление некоторой функции, значения которой определяются по заданным параметрам; предназначены для

Слайд 13Классификация языков высокого уровня
Объектно-ориентированные:
создаются объекты, каждый из которых отличается

своими свойствами и способами взаимодействия с другими объектами.
Программист задает

совокупность операций, описывая структуру обмена сообщениями между объектами (SmallTalk, Object Pascal, С++, C#,…).

Классификация языков высокого уровняОбъектно-ориентированные: создаются объекты, каждый из которых отличается своими свойствами и способами взаимодействия с другими

Слайд 14История программирования
Появление языков типа Ассемблер привело к тому, что переменные

величины стали изображаться символичными именами, коды операций заменены на мнемонические

коды.
Язык программирования стал более понятен для человека, но удалился от языка машинных команд, понятного процессору.
Языки типа Ассемблера являются машинно-ориентированными языками, т.е. они настроены на структуру машинных команд конкретного процессора.

История программированияПоявление языков типа Ассемблер привело к тому, что переменные величины стали изображаться символичными именами, коды операций

Слайд 15Настоящим прорывом в программировании стало создание первого
языка программирования высокого

уровня,
имеющего транслятор:

Fortran
(FORmula TRANslation)

История программирования

Настоящим прорывом в программировании стало создание первого языка программирования высокого уровня, имеющего транслятор:Fortran(FORmula TRANslation)История программирования

Слайд 16История программирования
Фортран
в период с 1954 по 1957 год группой

программистов
под руководством Джона Бэкуса в корпорации IBM

История программированияФортран в период с 1954 по 1957 год группой программистов под руководством Джона Бэкуса в корпорации

Слайд 17транслятор

Программа или техническое средство, выполняющее трансляцию программы.
Трансляция программы — преобразование

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

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

Слайд 18транслятор
Цель трансляции —
преобразовать текст с одного языка на другой,

который понятен адресату текста.
В случае программ-трансляторов, адресатом является техническое

устройство (процессор)
или программа-интерпретатор.

Интерпретатор осуществляющего последовательную обработку и
выполнение исходной программы или запроса
(в отличие от компилятора, транслирующего всю программу без её выполнения)
трансляторЦель трансляции — преобразовать текст с одного языка на другой, который понятен адресату текста. В случае программ-трансляторов,

Слайд 19транслятор
Транслятор, который преобразует программы в машинный язык,
принимаемый и исполняемый непосредственно

процессором,
называется компилятором.

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

Слайд 20компиляция
Процесс компиляции как правило состоит из нескольких этапов:
лексического,
синтаксического

и
семантического анализов,
генерации промежуточного кода,
оптимизации и генерации результирующего машинного

кода.
компиляцияПроцесс компиляции как правило состоит из нескольких этапов: лексического, синтаксического и семантического анализов, генерации промежуточного кода,оптимизации и

Слайд 21История программирования

Во время рождения Fortran сформировался операциональный подход к программированию:


все шаги алгоритма имеют адрес (метку),
естественный порядок нарушается переходами

на команды с определёнными адресами.
Переходы бывают условными и безусловными.

История программированияВо время рождения Fortran сформировался операциональный подход к программированию: все шаги алгоритма имеют адрес (метку), естественный

Слайд 22Дано: Найти разницу большего и меньшего
Ввести числа а и b
Сравнить

а и b, если а > b перейти к метки

3, иначе перейти к метке 5
d присвоить a-b
Перейти к метке 6
d присвоить b-а
Вывести d
Стоп


История программирования

Дано: Найти разницу большего и меньшегоВвести числа а и bСравнить а и b, если а > b

Слайд 23История программирования
Однако использование такого подхода привело к тому, что код

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

годах появились новые языки программирования как Algol (1958 – 1960), Pascal (1970, Вирт), С (1972, Ритчи и Керниган) и новый –
структурный подход к созданию
алгоритмов.

История программированияОднако использование такого подхода привело к тому, что код больших программ становился практически нечитаемым, а зачастую

Слайд 24Алгоритм
Алгори́тм,
от имени учёного аль-Хорезми
(перс. خوارزمی‎ [al-Khwārazmī])
— точный

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

за конечное время.
АлгоритмАлгори́тм, от имени учёного аль-Хорезми (перс. خوارزمی‎ [al-Khwārazmī]) — точный набор инструкций,описывающих порядок действий исполнителя для достижения

Слайд 25Алгоритм
Единого «истинного» определения понятия «алгоритм» нет.

«Алгоритм — это конечный набор

правил,
который определяет последовательность операций для решения конкретного множества задач

и обладает пятью важными чертами:
конечность, определённость, ввод, вывод, эффективность
(Д. Э. Кнут)
АлгоритмЕдиного «истинного» определения понятия «алгоритм» нет.«Алгоритм — это конечный набор правил, который определяет последовательность операций для решения

Слайд 26Алгоритм
Единого «истинного» определения понятия «алгоритм» нет.

«Алгоритм — строго детерминированная последовательность

действий, описывающая процесс преобразования объекта из начального состояния в конечное,

записанная с помощью понятных исполнителю команд».
(Н. Д. Угринович, учебник «Информатика и информ. технологии»
АлгоритмЕдиного «истинного» определения понятия «алгоритм» нет.«Алгоритм — строго детерминированная последовательность действий, описывающая процесс преобразования объекта из начального

Слайд 27Свойства алгоритмов
Дискретность —
алгоритм должен представлять процесс решения задачи как последовательное

выполнение некоторых простых шагов.
При этом для выполнения каждого шага

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

Слайд 28Свойства алгоритмов
Детерминированность  —
В каждый момент времени следующий шаг работы

однозначно определяется состоянием системы.
Таким образом, алгоритм выдаёт один и

тот же результат (ответ) для одних и тех же исходных данных.
Понятность  —
алгоритм для исполнителя должен включать только те команды, которые ему (исполнителю) доступны, которые входят в его систему команд.

Свойства алгоритмовДетерминированность  — В каждый момент времени следующий шаг работы однозначно определяется состоянием системы. Таким образом, алгоритм

Слайд 29Свойства алгоритмов
Завершаемость (конечность) —
при корректно заданных исходных данных алгоритм должен

завершать работу и выдавать результат за конечное число шагов.
Массовость (универсальность) —


Алгоритм должен быть применим к разным наборам исходных данных.
Результативность —
завершение алгоритма определёнными результатами.

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

Слайд 30Алгоритм
Единого «истинного» определения понятия «алгоритм» нет.

«Алгоритм — строго детерминированная последовательность

действий, описывающая процесс преобразования объекта из начального состояния в конечное,

записанная с помощью понятных исполнителю команд».
(Н. Д. Угринович, учебник «Информатика и информ. технологии»
АлгоритмЕдиного «истинного» определения понятия «алгоритм» нет.«Алгоритм — строго детерминированная последовательность действий, описывающая процесс преобразования объекта из начального

Слайд 31Переменные
Объекты, которыми оперируют алгоритмы компьютерных программ – называются переменными.
Переме́нная —

атрибут физической или абстрактной системы, который может изменять своё значение.
В

программировании переменная — это идентификатор, определяющий данные.

Переменная – поименованная область памяти для хранения данных.
ПеременныеОбъекты, которыми оперируют алгоритмы компьютерных программ – называются переменными.Переме́нная — атрибут физической или абстрактной системы, который может

Слайд 32Переменные
Переменные характеризуются типом (данных).

Тип данных:
Определяет внутреннюю структуру и объём занимаемой

памяти.
Определяет множество (диапазон) возможных значений.
Определяет набор и способ реализация допустимых

операций.
ПеременныеПеременные характеризуются типом (данных).Тип данных:Определяет внутреннюю структуру и объём занимаемой памяти.Определяет множество (диапазон) возможных значений.Определяет набор и

Слайд 33Структурный подход в программировании
Структу́рное программи́рование —
методология разработки программного обеспечения,


в основе которой лежит
1) строгая типизация данных и
2)

представление программы в виде иерархической структуры блоков
3) использование подпрограмм
4) Проектирование «сверху-вниз»
Предложена в 70-х годах XX века
Э. Дейкстрой,
разработана и дополнена Н. Виртом.
Структурный подход в программированииСтрукту́рное программи́рование — методология разработки программного обеспечения, в основе которой лежит 1) строгая типизация

Слайд 34Структурный подход в программировании
Э́дсгер Ви́бе Де́йкстра (нидерл. Edsger Wybe Dijkstra

[ˈɛtsxər ˈwibə ˈdɛɪkstra]
11 мая 1930, Роттердам (Нидерланды — 6

августа 2002, Нуенен, Нидерланды) — нидерландский учёный, идеи которого оказали влияние на развитие компьютерной индустрии.
Структурный подход в программированииЭ́дсгер Ви́бе Де́йкстра (нидерл. Edsger Wybe Dijkstra [ˈɛtsxər ˈwibə ˈdɛɪkstra] 11 мая 1930, Роттердам

Слайд 35Структурный подход в программировании
Никлаус Вирт (нем. Niklaus Wirth, род. 15

февраля 1934)
— швейцарский учёный, специалист в области информатики, один

из известнейших теоретиков в области разработки языков программирования, профессор компьютерных наук (ETH), Лауреат премии Тьюринга 1984 года
Структурный подход в программированииНиклаус Вирт (нем. Niklaus Wirth, род. 15 февраля 1934) — швейцарский учёный, специалист в

Слайд 36Структурный подход в программировании
Строгая типизация
заключается в том, что:
все

переменные принадлежат каким-либо типам данных
Для изменения типа данных переменной необходимы

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

Слайд 37Структурный подход в программировании
Иерархическая структура

На основе работ Дейкстры итальянские математики

К.Бема и Г.Джакопини
доказали следующую теорему:
всякая программа может быть

построена с использованием только трех управляющих конструкций:
следования,
ветвления и
цикла
Структурный подход в программированииИерархическая структураНа основе работ Дейкстры итальянские математики К.Бема и Г.Джакопини доказали следующую теорему: всякая

Слайд 38Структурный подход в программировании
Следование (последовательное исполнение) — однократное выполнение операций

в том порядке, в котором они записаны в тексте программы.
Ветвление —

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

Слайд 39Структурный подход в программировании
Цикл — многократное исполнение одной и той

же операции до тех пор, пока выполняется некоторое заданное условие

(условие продолжения цикла).

В программе базовые конструкции могут быть вложены друг в друга произвольным образом, но никаких других средств управления последовательностью выполнения операций не предусматривается
Структурный подход в программированииЦикл — многократное исполнение одной и той же операции до тех пор, пока выполняется

Слайд 40Структурный подход в программировании
Для изображения этих конструкций (следование, ветвление, цикл)


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

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

Слайд 41Структурный подход в программировании
Каждый блок может означать как простую команду,

так и сложную структуру.

Структурный подход в программированииКаждый блок может означать как простую команду, так и сложную структуру.

Слайд 42Следование
Следование означает, что управление передается от одного блока к

следующему

Следование Следование означает, что управление передается от одного блока к следующему

Слайд 43Ветвление – это разделение алгоритма на два пути (две ветви)

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

ветвление

Ветвление

Ветвление – это разделение алгоритма на два пути (две ветви) по некоторому условию с дальнейшим выходом на

Слайд 44Цикл – повторение некоторой группы действий по условию.
Цикл

Цикл – повторение некоторой группы действий по условию. Цикл

Слайд 45Сложный алгоритм состоит из множества соединенных между собой базовых структур.


Существует два способа соединения структурных элементов алгоритма:
последовательный и вложенный.

Сложный алгоритм состоит из множества соединенных между собой базовых структур. Существует два способа соединения структурных элементов алгоритма:последовательный

Слайд 46последовательный

последовательный

Слайд 47S1
условие
Да
Нет
вложенный

S1условиеДаНетвложенный

Слайд 48Структурный подход в программировании
Подпрограммы

Повторяющиеся фрагменты программы
(либо не повторяющиеся, но

представляющие собой логически целостные вычислительные блоки)
могут оформляться в виде т.

н. подпрограмм (процедур или функций).
Структурный подход в программированииПодпрограммыПовторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки)могут оформляться

Слайд 49Структурный подход в программировании
Подпрограммы

в тексте основной программы, вместо помещённого в

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

вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы.
Структурный подход в программированииПодпрограммыв тексте основной программы, вместо помещённого в подпрограмму фрагмента,вставляется инструкция вызова подпрограммы. При выполнении

Слайд 50Структурный подход в программировании
Достоинства использования подпрограмм:
Эффективное (экономное) расходование оперативной и

постоянной памяти.
Повышение удобочитаемости и улучшения восприятия текста программ
Удобные возможности повторного

использования кода.

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

Слайд 51Структурный подход в программировании
Недостатки использования подпрограмм:
Увеличение времени работы программ (уменьшение

скорости работы) вследствие возникновения “длинных” переходов, возвратов и т.д.
Некоторое усложнение

отладки

Структурный подход в программированииНедостатки использования подпрограмм:Увеличение времени работы программ (уменьшение скорости работы) вследствие возникновения “длинных” переходов, возвратов

Слайд 52Структурный подход в программировании
Проектирование «↑↓»

Следующим фундаментальным принципом структурного программирования является
метод

пошаговой детализации алгоритма.

Структурный подход в программированииПроектирование «↑↓»Следующим фундаментальным принципом структурного программирования являетсяметод пошаговой детализации алгоритма.

Слайд 53Технология проектирование программ методом "сверху вниз", или пошаговая детализация
Поставленная

задача разбивается на две или более подзадач, каждая из которых

считается структурным блоком.
Данные структурные блоки соединяются между собой.
Если подзадача является сложной, для ее реализации она разбивается на ряд подзадач.
См п. 1
Процесс продолжается до тех пор пока не будут получены такие блоки, которые достаточно легко реализуются или кодируются на выбранном ЯП



Технология проектирование программ методом

Слайд 54История программирования
На смену структурному программированию в начале 1990-хх пришла технология

объектно-ориентированного программирования (ООП).
Объектно-ориентированный подход позволяет создавать программное окружение в виде

множества независимых объектов, каждый из которых отличается своими свойствами и способами взаимодействия с другими объектами. Программист задает совокупность операций, описывая структуру обмена сообщениями между объектами.
Одним из первых языков ООП был Simula-67. К таким языкам относятся –С++, Object Pascal, C#.

История программированияНа смену структурному программированию в начале 1990-хх пришла технология объектно-ориентированного программирования (ООП).Объектно-ориентированный подход позволяет создавать программное

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

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

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

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


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

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