Скачать презентацию Программа это упорядоченная последовательность команд Конечная цель Скачать презентацию Программа это упорядоченная последовательность команд Конечная цель

Алгоритм и программа, языки программирования.pptx

  • Количество слайдов: 42

Программа — это упорядоченная последовательность команд. Конечная цель любой компьютерной программы — управление аппаратными Программа — это упорядоченная последовательность команд. Конечная цель любой компьютерной программы — управление аппаратными средствами. Программная конфигурация - состав программного обеспечения вычислительной системы. Программное обеспечение делится на две части: *системные программы - комплекс программных средств, предназначенных для того, чтобы на вычислительной машине можно было организовать выполнение программ; *прикладные программы - множество тех программ, которые нацелены на решение конкретных задач.

Алгоритм — это точно определенное описание способа решения задачи в виде конечной (по времени) Алгоритм — это точно определенное описание способа решения задачи в виде конечной (по времени) последовательности действий. 825 год - Мухаммед ибн Муса Хорезми (Аль. Хорезми) - Algoritmi de numero Indorum ( «Алгоритмы о счёте индийском» )

* * * Основные свойства алгоритма: Дискретность (разрывность) - каждый алгоритм состоит из отдельных * * * Основные свойства алгоритма: Дискретность (разрывность) - каждый алгоритм состоит из отдельных законченных действий. Шагом называется каждое действие алгоритма; Определенность - каждый шаг алгоритма должен быть строго определен и не допускать различных толкований, также строго должен быть определен порядок выполнения отдельных шагов; Массовость - применимость ко всем задачам рассматриваемого типа, при любых исходных данных; Результативность - алгоритм должен завершаться за конечное (может быть очень большое) число шагов; Формальность - любой исполнитель, способный воспринимать и выполнять инструкции алгоритма, действует формально, т. е. лишь строго выполняет инструкции.

Способы записи алгоритма: 1. Словесное описание алгоритма (формальное) на естественном языке в виде последовательности Способы записи алгоритма: 1. Словесное описание алгоритма (формальное) на естественном языке в виде последовательности инструкций. Например, любой прибор бытовой техники имеет инструкцию по эксплуатации. Никаких правил составления словесного описания не существует. Не получил широкого распространения, т. к. : * строго не формализуем , т. е. описание не абсолютно полное и не учитывает все возможные ситуации, которые могут возникнуть в ходе решения; * допускает неоднозначность толкования при описании некоторых действий; * страдает многословностью.

2. Псевдокод - описание структуры алгоритма на естественном, частично формализованном языке, позволяющее выявить основные 2. Псевдокод - описание структуры алгоритма на естественном, частично формализованном языке, позволяющее выявить основные этапы решения задачи; Строгих синтаксических правил для записи псевдокода не существует. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика. Этот способ облегчает запись алгоритма на стадии его проектирования и дает возможность в дальнейшем легко перевести алгоритм в команды формального языка программирования.

* *

* *

3. Графическое описание алгоритма (блок-схема), где каждый блок обозначает определенное действие. Блоки различаются по 3. Графическое описание алгоритма (блок-схема), где каждый блок обозначает определенное действие. Блоки различаются по своему внешнему виду и назначению. Направление стрелок между блоками задает последовательность действий. Благодаря наглядности, этот способ обеспечивает «читаемость» алгоритма и явно отображает порядок выполнения отдельных команд.

* *

Алгоритмические конструкции: *линейной структуры; *разветвляющейся структуры; *циклической структуры. Алгоритмические конструкции: *линейной структуры; *разветвляющейся структуры; *циклической структуры.

* *

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

* *

* *

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

*Вычислить * *Вычислить *

Позволяет при соблюдении проверяемого в нем условия выполнить заданную цепочку действий: команды 1…N. При Позволяет при соблюдении проверяемого в нем условия выполнить заданную цепочку действий: команды 1…N. При несоблюдении указанного условия команды 1…N пропускаются и сразу начинает выполняться следующая за ветвлением команда N+1.

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

Предусматривает проверку условий только у первых N-1 альтернатив, а у последней N-й цепочки команд Предусматривает проверку условий только у первых N-1 альтернатив, а у последней N-й цепочки команд условие отсутствует. Если не сработает ни одна из первых N-1 альтернатив, то тогда автоматически выполнится N-я цепочка команд. Таким образом, в отличие от ветвления «выбор» , здесь обязательно произойдет срабатывание одной из имеющихся N цепочек команд.

* *

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

* *

* *

Когда число повторов выполнения тела цикла заранее известно, для отображении цикла удобно использовать блок Когда число повторов выполнения тела цикла заранее известно, для отображении цикла удобно использовать блок модификатор, в котором размещается заголовок цикла. В заголовке цикла использованы следующие обозначения: K – имя переменной, выполняющей функцию счетчика числа повторов выполнения тела цикла; k 1 – начальное значение параметра цикла; k 2 – конечное значение параметра цикла; k 3 – шаг изменения параметра цикла после очередного выполнения тела цикла. Если этот параметр не указан, шаг изменения полагается равным 1. *

* *

* *

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

* *

Этапы создания программы: * Постановка задачи - составление точного и понятного словесного описания того, Этапы создания программы: * Постановка задачи - составление точного и понятного словесного описания того, как должна работать будущая программа, что должен делать пользователь в процессе ее работы. * * Составление алгоритма. * * Трансляция текста программы и выполнение ее процессором. Тестирование программы (проверка правильности её работы) и отладка программы (устранение ошибок). * Создание документации, помощи. Программирование - создание текста программы (исходного кода) на языке программирования.

Язык программирования — формализованный, искусственный язык, предназначенный для записи текста программ. Синтаксис и семантика Язык программирования — формализованный, искусственный язык, предназначенный для записи текста программ. Синтаксис и семантика языка строго определены. * Синтаксис языка - совокупность правил записи операторов и команд. * Семантика языка - смысл каждой команды и других конструкций языка.

Чтобы получить работающую программу надо : * либо текст программы автоматически перевести в машинный Чтобы получить работающую программу надо : * либо текст программы автоматически перевести в машинный код, а затем использовать отдельно от исходного текста программы; * либо сразу выполнять команды языка, указанные в тексте программы. Программы - компиляторы переводят текст исходной программы в машинный код (файл с расширением. exe). Программы - интерпретаторы осуществляют пооператорную обработку и выполнение исходной программы.

Машинный код — система команд конкретной вычислительной машины, которая интерпретируется непосредственно микропроцессором или микропрограммами Машинный код — система команд конкретной вычислительной машины, которая интерпретируется непосредственно микропроцессором или микропрограммами данной вычислительной машины. *Машинный код (двоичное представление): 110110010111 11011001 00011101011 01000000 11101000 10011000 11011100 0000 11011110 10010111 000011011001 11000001 01000000 11010000 11111110 1101 0000 *Машинный код (шестнадцатеричное представление): D 9 EBDC 0 D D 0 97 40 00 D 9 FED 9 E 8 DE C 1 DD 1 D 98 97 40 00

Пример программы в машинном коде: Программа — это список машинных инструкций, выполняемых процессором. Пример программы в машинном коде: Программа — это список машинных инструкций, выполняемых процессором.

Для алгоритмических языков: постановка задачи алгоритм язык программирования текст программы транслятор (интерпретатор; компилятор) машинный Для алгоритмических языков: постановка задачи алгоритм язык программирования текст программы транслятор (интерпретатор; компилятор) машинный код

Языки программирования: * язык низкого уровня, - язык программирования, предназначенный для определенного типа ЭВМ Языки программирования: * язык низкого уровня, - язык программирования, предназначенный для определенного типа ЭВМ и отражающий его внутренний машинный код. Ассемблер, CIL, Форт и др. * язык высокого уровня - язык программирования, средства которого обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Он не зависит от внутренних машинных кодов ЭВМ любого типа, поэтому программы, написанные на языках высокого уровня, требуют перевода в машинные коды программами транслятора либо интерпретатора. С, C++, C#, Java, Python, PHP (от PHP: Hypertext Preprocessor ), Ruby, Perl, Basic, Delphi, Lisp, Ada и др.

* *

Поколения языков программирования: 1. Поколение - начало пятидесятых годов двадцатого века, когда появились первые Поколения языков программирования: 1. Поколение - начало пятидесятых годов двадцатого века, когда появились первые компьютеры. Ассемблер. 2. Поколение - начало шестидесятых годов прошлого века. Символический ассемблер первый полноценный язык программирования, возросли скорость разработки и надежность программ. 3. Поколение – середина шестидесятых годов прошлого века. Появились универсальные языки высокого уровня, с их помощью удается решать задачи из любых областей. Небольшие программы стали писать специалисты-инженеры, специалисты в экономике.

4. Поколение – с начала 70 -гг. прошлого века. Появились языки, предназначенные для реализации 4. Поколение – с начала 70 -гг. прошлого века. Появились языки, предназначенные для реализации крупных проектов, ориентированные на специализированные области применения. 5. Поколение – с середина 90 -гг. прошлого века. Появились языки для автоматического создания прикладных программ с использованием визуальных средств программирования.

Языки программирования баз данных: При появлении первых баз данных был создан структурированный язык запросов Языки программирования баз данных: При появлении первых баз данных был создан структурированный язык запросов SQL (Structured Query Language) – 1974 г. - для обработки больших массивов информации и выборки записей по определенным признакам. Практически в каждой СУБД кроме поддержки языка SQL имеется также свой уникальный язык, ориентированный на особенности этой СУБД, не переносимый на другие системы. СУБД Oracle - встроенный язык PL/SQL, СУБД Informix – INFORMIXS 4 GL, СУБД Adabas – язык Natural и т. д. С появлением ПК были созданы так называемые настольные СУБД с языком программирования d. Base (диалектами этого языка).

Языки программирования для Интернет: С развитием глобальной сети было создано немало языков программирования, адаптированных Языки программирования для Интернет: С развитием глобальной сети было создано немало языков программирования, адаптированных специально для Интернет (скрипт-языки). Скрипт-язык интерпретируемый (объектноориентированный) алгоритмический язык, предназначенный для генерации динамических вебстраниц. Их особенность: языки интерпретируемые, интерпретаторы распространяются бесплатно, а программы – в исходных текстах. HTML (Hyper Text Markup Language), XML (е. Xtensible Markup Language) и др.