Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методика по Информатике / VBA / Усольцева Л.А.- Программир.на VBA.doc
Скачиваний:
110
Добавлен:
10.04.2015
Размер:
1.71 Mб
Скачать

А а Блок ввода – вывода

в 0,25 а

в

а Арифметический блок (выполнение операций или группы операций)

в

Логический блок – (выбор направления выполнения алгоритма, в зависимости от некоторых условий, имеет 1 вход и 2 или 3 выхода).

0,5 а Начало, конец или прерывание вычислений.

Использование ранее созданных    а алгоритмов и программ.

в

0,15 а

Соединительный элемент для четкого

изображения большого числа соединений.

0,5 а

Комментарий – словесные пояснения к

алгоритму: а = 10, 15, 20 в = 1,5 а.

5мм

Рис.1. Элементы блок-схем.

1.2. Типовые структуры алгоритмов

Алгоритм синтезируется из типовых элементов, которые имеют линейную, разветвляющуюся или циклическую структуры.

Алгоритм линейной структуры – алгоритм, блоки которого изображены на схеме в той последовательности, в какой должны быть выполнены предписываемые ими действия. Такой порядок выполнения действий называется естественным.

Пример: Составить блок – схему алгоритма вычисления продолжительности переправы танков по глубоким бродам и под водой (рис. 2):

Рис. 2. Блок-схема вычисления продолжительности переправы.

Алгоритм разветвляющейся структуры – алгоритм, в котором предусмотрено разветвление последовательности действий в зависимости от результата проверки какого-либо условия.

Пример: Составить блок-схему алгоритма вычисления скорости бронетранспортера V (рис. 3), если

да

V=10+2 sin 0,1(t-100)

V=√t

Рис. 3. Блок-схема вычисления скорости бронетранспортера.

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

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

2. Изменение значения этой переменной перед каждым новым повторением цикла;

3. Проверку условия окончания повторений по значению параметра и переход к началу цикла, если повторения не закончены.

Пример: Построить блок-схему вычисления средней наработки на отказ одного из элементов машины (рис. 4),

где S – сумма отказов;

N – количество отказов;

А – массив отказов;

I – индекс массива А;

SSR – средняя наработка на отказ.

S=0

I=1

S=S+A(I)

I=I+1

SSR=S/N

Рис. 4. Блок-схема вычисления средней наработки на отказ.

1.3. Языки программирования и их реализация

В настоящее время разрабатываются устройства ввода блок-схем алгоритмов в память ЭВМ. Но пока таких устройств нет. Для ввода алгоритмов решения задач на ЭВМ используют символьную кодировку буквенной и цифровой информации. Такая символьная запись называется программой вычислений, а набор символов и правил записи программы составляет язык программирования.

Единственный язык, который «понимает» ЭВМ – это язык, состоящий из кодов, записанных в двоичной системе исчисления. Поэтому программа, записанная на машинном языке, представляет набор нулей и единиц, при помощи которых кодируется последовательность команд, задающих процесс переработки информации.

Согласованная совокупность команд в ЭВМ, которая используется для записи машинных программ, называется системой команд ЭВМ. Каждая команда имеет свой уникальный двоичный код и состоит из кода операции и адресной части. Если коды команд одного типа совпадают с кодами команд другого типа, то говорят о программной совместимости ЭВМ.

По мере развития компьютерной техники развивались и методика, и технология программирования. Сначала возникает командное и операторное программирование, в 1960-х гг. бурно развивается структурное программирование, появляются линии логического и функционального программирования, а в последнее время – объектно-ориентированное и визуальное программирование.

Язык программирования – это система записей, набор правил, определяющих синтаксис правильной программы.

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

«Крестной матерью» программирования принято считать дочь Джорджа Гордона Байрона, Августу Аду1, которая, увлекшись идеями Чарлза Беббиджа, заложила основы построения алгоритмических языков. В 1980 году в Министерстве обороны США был разработан язык программирования, получивший название Ада.

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

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

Программа, составленная на языке низкого уровня, будет работать только для ЭВМ, имеющих одинаковую систему команд, одинаковый набор устройств. Примером языка низкого уровня является алгоритмический язык АССЕМБЛЕР, созданный в 1952 г.

  • Языки высокого уровня не зависят от системы команд, устройства конкретной ЭВМ и приближенны к естественному языку – языку математики. Более 1000 языков и их диалектов высокого уровня делятся на процедурно - ориентированные и проблемно-ориентированные.

К процедурно- ориентированным языкам относятся:

    • FORTRAN (Formula TRANslation) – переводчик формул, создан в 1957 г. Дж. Бэнусом, используется для технических расчетов.

    • ALGOL – 68 (ALGOritmik Languare) – язык, послуживший основой для разработки многих языков персональных ЭВМ: Паскаль, Ada, Modula, С.

    • PL/1 (Program Language One) – универсальное средство программирования с максимальным диапазоном применения, создан в 1962 г.

    • BASIC (Beginner’s All Purpose Symbolic Instruction Code) – многоцелевой язык для начинающих.

    • ФОРТРАН – многоцелевой язык для начинающих создан в 1965 г.

    • ПАСКАЛЬ – язык структурного программирования создан в 1970 г. швейцарским ученым профессором Никлаусом Виртом.

    • С – процедурный язык для структурного программирования создан в 1972 году Дэннисом Ритчи.

    • АДА – основной язык, используемый в вооруженных силах США, обладающий возможностями модульного и параллельного программирования, создан в 1980 г.

К проблемно-ориентированным языкам относятся:

    • GPSS – моделирование систем при помощи событий.

    • СИМУЛА – язык имитационного программирования.

    • С++, Python, Java, C# - объектно-ориентированные языки.

    • BASIС – для обучения программированию.

    • ПАСКАЛЬ – для осуществления научно-технических расчетов.

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

Следует четко различать язык программирования и его реализацию.

Реализация языка программирования – это программа, которая преобразует (переводит) запись с языка высокого уровня в последовательность машинных команд. Необходимость в реализации вызвана тем, что ЭВМ даже пятого поколения «понимает» только один язык – машинный. Программы-переводчики называются трансляторами.

Существует два основных способа трансляции с языков высокого уровня – компиляция и интерпретация.

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

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

Преимущество компиляторов (для языков ФОРТРАН, ПАСКАЛЬ, СИ) состоит в высокой скорости выполнения готовой программы. Интерпретаторы (для языков BASIC, Logo) более удобны при откладки программ, так как реализуют диалоговый стиль разработки программ.