Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Алгоритмические языки.





Алгоритмическим языком или языком программирования является и машинный язык (система команд ПК). Однако машинный язык неудобен для записи алгоритма в силу его особенностей:

- запись алгоритма на машинном языке (или, как говорят, в кодах ПK) требует знания архитектуры конкретного ПК;

- машинные языки слишком многообразны;

- мала наглядность алгоритма на машинном языке.

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

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

- наглядную и компактную запись алгоритма;

- однозначное понимание записей;

- удобство публикаций;

- достаточно простой перевод на язык конкретного ПК;

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

Все алгоритмические языки делятся на две группы: машинно-зависимые (низкого уровня) и машинно-независимые (высокого уровня). Языки низкого уровня тесно связаны с архитектурой данного типа ПК. Примером машинно-зависимого языка является любой язык Ассемблера. Языки высокого уровня мало связаны с типом ПК и записанные на них программы могут легко переноситься с одного типа ПК на другой. Примерами машинно-независимых языков программирования для ПК являются Бейсик, Паскаль, Си и др.

Пример записи алгоритма на языке высокого уровня Алгол, который появился в начале 60-х годов и лег в основу синтаксиса последующих разработок многих алгоритмических языков:

программа: пояснения

begin начало

real (x, a, y); описание типа данных

input (x, a); ввод исходных данных

if x>a then y: = x-a вычисления

else y:=0;

output (y) вывод результата

end конец

Смысл программы понятен пользователю, знакомому с английским языком, кроме знака присваивания:=, который в данном случае обозначает "переменной y присвоить значение х-а, или 0".

 

Структуры алгоритма

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

1. Структура "следование" (линейный алгоритм) состоит из нескольких последовательно соединенных блоковAi "процесс" (рис.3).

 

 
 

 


Пример записи алгоритма на псевдокоде

Начало

A1, A2, …, An

Конец

 

 
 

 


Пример графической схемы алгоритма.

Составить графическую схему алгоритма начисления заработной платы П трех сотрудников C1, C2 и С3 за текущий месяц в зависимости от поступле­ний ХС.

2. Структура "ветвление" (разветвляющийся алгоритм) производит выбор одного из двух путей исполнения алгоритма в зависимости от выполнения или невыполнения логического условия Р в блоке "решение" (рис.5).

 

 
 

 


Если условие Р выполняется, т.е. принимает значение "да" (1 или true - истина), то исполняется процесс А1, при невыполнении условия Р (значение "нет", 0 или false - ложь) исполняется процесс А2.

 

Пример на псевдокоде

Начало

Если условие Р истинно,

то выполняется блок А1,

иначе выполняется блок А2.

Конец

 

Пример графической схемы алгоритма.

Составить графическую схему алгоритма расчета подоходного налога. Налог рассчитывается до формуле N=F1, если доход не превышает сумму R1, по формуле N=F2, если доход превышает сумму R1.

 

 

 


3.Структура "переключение" (алгоритм выбора одного процесса из несколь­ких возможных) показана на рис. 7.

Блок "решение" представляет собой набор логических условий Р1, Р2,….,Рm, в зависимости от значения которых осуществляется исполнение одного из процессов A1, A2, …, An.

Пример на псевдокоде.

Начало

Если условие P1 истинно, то выполняется блок A1, иначе проверяется условие Р2; если условие Р2 истинно, то выполняется блок А2; иначе проверяется условие РЗ; если условие РЗ истинно, то выполняется блок A3, иначе проверяется условие Р4; если условие Р4 выполняется, то выполняется блок А4, иначе вывод результатов.

Конец.


Пример графической схемы.

Составить графическую схему алгоритма начисления платы за аренду помещения, если сумма штрафа составляет S1 при задолженности D1дней, сумма S2 при задолженности D2, сумма S3 при задол­женности D3 (D1 < D2 < D3) (рис.8).

 

4. Структура "повторение" (циклический алгоритм) обеспечивает много­кратное выполнение участка алгоритма, называемого телом цикла. Число исполнений тела цикла может быть заранее известно (вычислено) или неизвестно. Примером структуры с известным числом повторений являются циклы со счетчиком, в которых число повторений регистрируется специаль­ным счетчиком и при достижении заданного числа повторений цикл прекра­щается. Количество повторений исполнения тела цикла неизвестно в так называемых итерационных циклах, где исполнения тела цикла повторяются, пока некоторая монотонно убывающая величина D остается по абсолют­ной величине больше наперед заданного положительного числа e, т.е. | D | > e. Такие циклы используются при решений задач методами после­довательных приближений. В циклических алгоритмах используются две основные структуры: цикл с предусловием и цикл с постусловием.


Цикл с предусловием (цикл "пока"), структура которого показана на рис.9.

 

 

 
 

 


В этой структуре проверка условия повторения исполнения тела цикла или выхода из цикла осуществляется до начала исполнения тела цикла. Пока условие Р выполняется, т.е. принимает значение «да» (1, true – истина) исполняется тело цикла, но исполнение прекращается, когда Рпринимает значение «нет» (0, false - ложь). Если условие Р не вы­полняется с самого начала, то тело цикла не будет выполнено ни- разу. Один из операторов тела цикла после каждого его исполнения изменяет переменную цикла в условии Р, иначе цикл может продолжаться беско­нечно.

 

 

Пример на псевдокоде

Начало

пока выполняется условие Р, повторять исполнение А.

Конец

 

 

Пример графической схемы.

Составить графическую схему алгоритма построения-графика функции y=f(x), если переменнаях принимает значения от xmin до xmax с дискретностью Dх.

 

 

 


Цикл с постусловием (цикл «до»), структура которого показана на рис.11.

 

 

Проверка условия повторения тела цикла осуществляется после испол­нения тела цикла. До тех пор, пока условие Р не будет выполнено, будет повторяться исполнение тела цикла. В этом случае тело цикла исполняется обязательно хотя бы один раз.

Пример на псевдокоде:

Начало

повторять исполнение А

до выполнения условия Р

Конец

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

Пример графической схемы по условию предыдущей задачи показан на рис. 12.

 

 


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

 

Пример графической схемы.

Составить графическую схему алгоритма вычисления функции y=f(А,x), если х принимает значения от 0 до 1 с дискретностью 0,01, а коэффициент А принимает все значения натурального ряда чисел в интервале от 0 до 10 (рис. 13).

 

Date: 2016-07-25; view: 1156; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.004 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию