|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Блок-схемы алгоритмов. Составление блок-схем. Графическое представления алгоритма в соответствии с ГОСТомПри описании алгоритма в виде блок-схемы алгоритм изображается геометрическими фигурами (блоками), связанными линиями (по направлению потока) со стрелками. В блоках записывается последовательность действий. Каждая операция вычислительного процесса изображается отдельной геометрической фигурой. Оформление блок-схемы должно соответствовать определенным требованиям. В настоящее время действует единая система программной документации (ЕСПД), которая устанавливает правила разработки, оформления программ и программной документации. В ЕСПД определены и правила оформления блок-схем алгоритмов (ГОСТ 10.002-80 ЕСПД, ГОСТ 10.003-80 ЕСПД). Большая часть блоков по построению условно вписана в прямоугольник со сторонами a и b. Минимальное значение а равно 10 мм, увеличение а производится на число, кратное 5 мм. Размер b-1,5a. Для отдельных блоков допускается соотношение между а и b, равное 1:2. В пределах одной схемы рекомендуется изображать блоки одинаковых размеров. Все блоки нумеруются. Номера проставляются в разрыве верхней линии в левом углу. Линии, соединяющие блоки и указывающие последовательность связей между ними, должны проводится параллельно линиям рамки (только вертикально или горизонтально). Стрелка в конце линии может не ставиться, если линия направлена слева направо или сверху вниз. Схему алгоритма следует выполнять как единое целое, однако в случае необходимости допускается обрывать линии, соединяющие блоки. Если при обрыве линии продолжение схемы находится на этом же листе, то на одном и другом конце линии изображается специальный символ соединитель — окружность, диаметром 0,5 а. Внутри парных окружностей указывается идентификатор. В качестве идентификатора, как правило, используется порядковый номер блока, к которому направлена соединительная линия. Если схема занимает более одного листа, то в случае разрыва линии вместо окружности используется межстраничный соединитель. Внутри каждого соединителя указывается адрес — откуда и куда направлена соединительная линия. Адрес — порядковый номер блока. Блок-схема должна содержать все разветвления, циклы и обращения к подпрограммам, содержащиеся в программе. Правила составления алгоритмов: 1) каждый блок имеет единственную точку входа, кроме блока «Начало», который не имеет входа; 2) безусловные блоки содержат единственную точку выхода, кроме блока «Конец», который не имеет ни одной точки выхода; 3) блок «Условие» имеет два или, в отдельных случаях, (очень редко) три выхода; 4) линии, идущие на вход блока, могут соединяться. Урок № 2-3. Виды алгоритмов. Составление алгоритмов. Виды алгоритмов. Любой вычислительный процесс может быть представлен как комбинация элементарных алгоритмических структур. Алгоритмические структуры можно разделить на три основных вида: • линейные; • ветвящиеся; • циклические.
Линейным принято называть вычислительный процесс, в котором операции выполняются однократно последовательно, в порядке их записи. Каждая операция является самостоятельной, независимой от каких-либо условий. Пример, вычисление арифметических выражений, когда имеются конкретные числовые данные. Ветвящийся – содержит одно или несколько логических условий, в зависимости от которых осуществляется та или иная последовательность вычислений. При разветвлении происходит однократный проход по одной из ветвей решения задачи. Ветвящийся процесс, включающий в себя две ветви, называется простым, более двух ветвей — сложным. Сложный ветвящийся процесс можно представить с помощью нескольких простых. Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа: «да» — условие выполнено и «нет» — условие не выполнено. Любая ветвь, по которой осуществляются вычисления, должна приводить к завершению вычислительного процесса. (см. ВЕТВЛЕНИЕ 1,2,3,4)
Нет Да Циклические - многократное повторение некоторой последовательности действий (участок программы). Различают следующие виды циклов: - цикл с предусловием (тело цикла может не выполниться ни разу в случае, если условие сразу не выполняется); (см. Цикл типа ПОКА). - цикл с постусловием (тело цикла выполняется как минимум один раз, т.к. сначала производятся вычисления, а затем проверяется условие); - цикл с параметром (задается конкретное число повторов цикла). (см. Цикл типа ДЛЯ).
2. Составление алгоритмов.
Задача. Алгоритм нахождения суммы элементов массива Аi (i=1,10).
Урок № 4. Понятие системы программирования.Понятия языка программирования. Эволюция языков программирования. 1. Понятие системы программирования.Понятия языка программирования, уровни языков программирования. Система программирования - это совокупность инструментов, используемых при разработке программного обеспечения. Этот набор обычно состоит из файловой системы, текстового редактора, редактора связей и компилятора. Дополнительно он может включать большое количество инструментальных комплексов с единообразным интерфейсом пользователя. Язык программирования – это способ записи программ решения различных задач на ЭВМ в «понятной» для компьютера форме. В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения. Любой алгоритм есть последовательность предписаний, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний определяется уровень языка программирования — чем меньше детализация, тем выше уровень языка. Можно выделить следующие уровни языков программирования: • машинные; • машинно-ориентированные (ассемблеры); • машинно-независимые (языки высокого уровня). Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных. Процесс написания программы на машинном языке очень трудоемкий и утомительный. Программа получается громоздкой, труднообозримой, ее трудно отлаживать, изменять и развивать. Поэтому в случае, когда нужно иметь эффективную программу, в максимальной степени учитывающую специфику конкретного компьютера, вместо машинных языков используют близкие к ним машинно-ориентированные языки (ассемблеры). Программы, написанные на языке ассемблера, требуют значительно меньшего объема памяти и времени выполнения. Знание программистом языка ассемблера и машинного кода дает ему понимание архитектуры машины. Несмотря на то, что большинство специалистов в области программного обеспечения разрабатывают программы на языках; высокого уровня, наиболее мощное и эффективное программное обеспечение полностью или частично написано на языке ассемблера. Языки высокого уровня были разработаны для того, чтобы освободить программиста от учета технических особенностей конкретных компьютеров, их архитектуры. Они имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека.
2. Классификация языков программирования Языки высокого уровня делятся на: • процедурные (алгоритмические) (Basic, Pascal, С и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения; • логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания; • объектно-ориентированные (Delphi, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над ними. Основные преимущества алгоритмических языков: • алфавит алгоритмического языка значительно шире алфавита машинного языка, что существенно повышает наглядность текста программы; • набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса; • формат предложений достаточно гибок и удобен для использования, что позволяет с помощью одного предложения задать достаточно содержательный этап обработки данных; Таким образом, алгоритмические языки в значительной мере являются машинно-независимыми. Они облегчают работу программиста и повышают надежность создаваемых программ.
3. Эволюция языков программирования. До 50-х гг. все языки программирования были машинно-ориентированными, т.е. они были настроены на структуру машинных команд конкретного компьютера. Такие языки называют машинными. При написании программ на одном из таких языков требовал от программиста знания числовых кодов всех машинных команд. Первыми популярными языками программирования высокого уровня были Фортран, Кобол и Алгол. Языки Фортран и Алгол были ориентированы на научно-технические расчеты математического характера. Кобол – язык для программирования экономических задач. В нем хорошо были развиты средства обработки текстов, организация вывода данных в форме требуемого документа. Для первых языков программирования высокого уровня предметная ориентация языков была характерной чертой. В 60-70-х гг. появилось большое количество языков программирования. В 1965 г. в Дартмутском университете был разработан язык Бейсик. Он представлял собой простой, легко изучаемый язык, предназначенный для программирования несложных расчетных задач. Однако Бейсик – неструктурный язык и потому плохо подходит для обучения качественному программированию. В эпоху ЭВМ 3-го поколения получил большое распространение язык PL/1, разработанный фирмой IBM. Это был первый язык, претендовавший на универсальность, т.е. на возможность решать любые задачи: вычислительные, обработки текстов, накопления и поиска информации. Однако PL/1 оказался слишком сложным языком. Значительным событием в истории языков программирования стало создание в 1971 г. язык Паскаль. Его автор – швейцарский профессор Н.Вирт разрабатывал Паскаль как учебный язык структурного программирования. Наибольший успех в распространении языка Паскаль обеспечили персональные компьютеры. Фирма Borland International разработала систему программирования Turbo Pascal. Турбо Паскаль – это не только язык, но еще и операционная оболочка, позволяющая пользователю удобно работать на Паскале. Транслятор с Турбо-Паскаля по оптимальности создаваемых им программ не уступает транслятору Фортрана. В силу этого Паскаль стал источником создания таких языков, как Ада, Модула-2, Си и др. Совершенствуя Turbo Pascal, фирма Borland разрабатывала новые версии пакета. Так, в систему были внесены дополнения, позволяющие создавать большие программные проекты, что сделало ее привлекательной для профессиональных программистов. Со временем в Turbo Pascal появились средства, обеспечивающие поддержку концепции объектно-ориентированного программирования, и язык Turbo Pascal стал называться Object Pascal. Развитие вычислительной техники и технологии программирования привело к тому, что фирма Borland разработала принципиально новый программный продукт, который получил название Delphi. Delphi – это среда разработки программ, ориентированных на работу в Windows. В основе идеологии Delphi лежит технология визуального проектирования и методология объектно-ориентированного программирования. Первая версия, Delphi 1, работала в среде Windows 3.1. С появлением Windows 95 Borland выпустила сначала 16-разрядную версию, Delphi 2, а затем значительно более совершенную 32-разрядную – Delphi 3. С появлением Windows 98 была выпущена четвертая версия, а затем и пятая. Delphi 5, вобрав в себя все лучшее от предыдущих версий, предоставляет ряд новых возможностей, таких как: улучшение интерфейса среды программирования; создаваемые программы учитывают архитектуру современных процессоров; улучшены возможности отладчика; расширен набор компонентов и др.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |