Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 6 лет назад пользователемАртемий Сергеевич
1 Программирование на языках высокого уровня МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» А.С. Королев Учебно-методическое пособие Волгоград 2018
2 Оглавление Уровни языков программирования и эволюция языков Си Создатели языка Си Этапы разработки программ Алгоритм Элементы блок-схемы Базовые алгоритмические структуры Продолжение -> Знакомство с языком Си. Компиляция программ (конец) Продолжение -> Знакомство с языком Си. Компиляция программ
3 Уровни языков программирования и эволюция языков Языки программирования часто классифицируют по уровню. Уровень языка показывает, насколько язык близок к естественной для человека записи. Процедурные языки - самого низкого уровня. Функциональные - значительно выше. Рассмотренные нами группы языков не являются чем-то абсолютным. Со временем могут появиться новые подходы в программировании, которые будут выделены в отдельные группы. В принципе все языки программирования созданы для решения задач с использованием математики. Наиболее близким к человеку является язык математической записи условия задачи и её решения. Имеется в виду не только строго формализованные правила математических обозначений, а изложение с применением естественных для людей приёмов оформления и комментирования. Возможно даже с применением фраз на обычных языках общения.
4 Уровни языков программирования и эволюция языков В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения. Любой алгоритм – есть последовательность предписаний, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования - чем меньше детализация, тем выше уровень языка. По этому критерию можно выделить следующие уровни языков программирования: Машинные Машинно-ориентированные (ассемблер) Машинно-независимые (языки высокого уровня)
5 Уровни языков программирования и эволюция языков Машинные языки и машинно-ориентированные языки - это языки низкого уровня или языки первого поколения - 1GL, требующие указания мелких деталей процесса обработки данных. К первому поколению относят машинные языки языки программирования на уровне команд процессора конкретной машины. Для программирования не использовался транслятор, команды программы вводились непосредственно в машинном коде переключателями на передней панели машины. Такие языки были хороши для детального понимания функционирования конкретной машины, но сложны для изучения и решения прикладных задач.
6 Уровни языков программирования и эволюция языков С появлением ЭВМ 2-го поколения (транзисторных) появились языки второго поколения (2GL), в которых степень интеграции действий была на порядок выше. Это такие языки, как макроассемблер и автокод. Языки второго поколения (2GL) создавались для того, чтобы облегчить тяжёлую работу по программированию, перейдя в выражениях языка от низкоуровневых машинных понятий ближе к тому, как обычно мыслит программист.
7 Уровни языков программирования и эволюция языков Языки высокого уровня или языки третьего поколения - 3GL имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека. Под третьим поколением (3GL) первоначально понимались все языки более высокого уровня, чем ассемблер. Главной отличительной чертой языков третьего поколения стала независимость от аппаратного обеспечения, то есть выражение алгоритма в форме, не зависящей от конкретных характеристик машины, на которой он будет исполняться.
8 Уровни языков программирования и эволюция языков Языки высоко уровня делятся на: 1. процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения; 2. логические (Пролог, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания; 3.объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над ними. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.
9 Си Си (англ. C) язык программирования общего назначения, разработанный в годах сотрудником Bell Labs Деннисом Ритчи. Первоначально был разработан для реализации операционной системы UNIX, но впоследствии был перенесён на множество других платформ. Язык программирования Си оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования, как C++, C#, Java и Objective-C.
10 Создатели языка Си Авторы языка Си: Деннис Ритчи и Кен Томпсон
11 Этапы разработки программ Процесс создания программы для электронно-вычислительной машины (ЭВМ) от составления алгоритма до ввода готового программного продукта в эксплуатацию называется жизненным циклом программного обеспечения. Рассмотрим одну из самых распространенных – каскадную модель.
12 Этапы разработки программ Создание спецификации на примере программы для нахождения корня квадратного уравнения.
13 Алгоритм Алгоритм – это понятная и точная последовательность действий, описывающая процесс перехода объекта из начального состояния в конечное. Основные свойства алгоритма: 1.Дискретность. 2. Детерминированность (определенность). 3.Понятность. 4.Конечность. 5.Массовость. Существует несколько способов представления алгоритмов: словесное описание (список действий) псевдокод код программы, записанный на одном из языков программирования блок-схема
14 Элементы блок-схемы Элемент блок-схемы НазваниеПояснение Данные (блок ввода - вывода) Символ отображает данные, носитель данных не определен. Служит для изображения блока ввода-вывода в общем виде. Документ Символ отображает данные, представленные на носителе в удобочитаемой форме. Обычно служит для изображения вывода результатов на консоль. Процесс Символ отображает функцию обработки данных любого вида. Служит для изображения вычислительных действий или их последовательности. Предопределенный процесс Символ отображает предопределенный процесс, состоящий из одной или нескольких операций или шагов программы, которые определены в другом месте. Служит для изображения вычислений, производимых в подпрограмме.
15 Элементы блок-схемы Модификация Символ отображает модификацию команды или группы команд с целью воздействия на некоторую последующую функцию. Служит для изображения начала цикла со счетчиком. Решение (ветвление) Символ отображает решение или функцию переключаемого типа, имеющую один вход и ряд альтернативных выходов, один и только один из которых может быть активизирован после вычисления условий, определенных внутри этого символа. Служит для изображения ветвлений. Терминатор Символ отображает начало или конец схемы программы, внешне использование и источник или пункт назначения данных. Служит для изображения начала и конца блок-схемы.
16 Базовые алгоритмические структуры Можно выделить три базовые алгоритмические структуры, с помощью которых можно описать алгоритм: 1. следование (последовательное выполнение) 2. ветвление 3. цикл Следование представляет собой простое последовательное выполнение действий одного за другим
17 Базовые алгоритмические структуры Ветвление используется в тех случаях, когда выполнение того или иного действия (или их набора) зависит от выполнения некоторого условия. Можно выделить две основные конструкции ветвления: 1. Неполное ветвление или ЕСЛИ – ТО 2. Полное ветвление или ЕСЛИ – ТО – ИНАЧЕ
18 Базовые алгоритмические структуры Цикл предназначен для обозначения выполнения повторяющегося действия или их набора. Разделяют заголовок («шапку», условие) цикла и тело цикла. В заголовке содержится условие, пока оно истинно, выполняется тело цикла – одно или несколько действий. Можно выделить два основных вида циклов: 1. Цикл «пока» - он выполняется до тех пор, пока выполняется некоторое условие. Цикл с предусловием: сначала проверяется истинность условия, а потом выполняется тело цикла. Цикл с постусловием: сначала выполняется тело цикла, а потом проверяется условие. Таким образом, тело цикла с постусловием гарантированно выполнится хотя бы один раз, вне зависимости от истинности условия. 2. Цикл «для каждого» (цикл со счетчиком): выполняется для каждого элемента из заданного набора или заданное изначально число раз.
19 Базовые алгоритмические структуры а) цикл "пока" с предусловием, б) цикл "пока" с постусловием, в) цикл со счетчиком
20 Базовые алгоритмические структуры Приведем пример полной блок-схемы для решения задачи нахождения корней квадратного уравнения ax 2 + bx + c = 0.
21 Продолжение -> Знакомство с языком Си. Компиляция программ
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.