Студопедия — Алгоритмические конструкции
Студопедия Главная Случайная страница Обратная связь

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

Алгоритмические конструкции






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

Основными алгоритмическими конструкциями являются линейная последовательность шагов, ветвление и цикл.

Линейная последовательность шагов

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

На рисунке изображена блок-схема линейного алгоритма, состоящего из двух шагов.

Язык блок-схем Алгоритмический язык
нач действие 1 действие 2................... кон  

Пример программы на языке программирования Pascal
{программа вычисляет площадь прямоугольника}

Program ploshad;
var a,b,s:word;
begin
write('a=');
read (a);
write ('b=');
read (b);
s:=a*b;
writeln ('площадь
прямоугольника', s);
end.

Ветвление

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

На рисунке приведена блок-схема ветвления

Язык блок-схем Алгоритмический язык
еслиусловие тодействия 1 иначедействия 2 все

Если условие истинно, то будет выполнено только действие1, в противном случае будет выполнено только действие2.

В языках программирования высокого уровня ветвление обычно реализуется с помощью оператора (команды) IF. (См. оператор If в Паскале, оператор If в языке Basic.)

Пример программы на языке программирования Pascal

{Программа, которая находит наибольшее из трех чисел}

Program maximal;
var a,b,c,d:word;
begin
write ('a,b,c'');
read (a,b,c);
if a>b then d:=a
else d:=b;
if c>d tnen d:=c then
writeln ('наибольшее
',d);
end.

Цикл

Цикл представляет собой алгоритмическую конструкцию, в которой многократно выполняется одна и та же последовательность шагов, называемая телом цикла. Каждое однократное исполнение тела цикла называется итерацией. Если тело цикла было выполнено N раз, говорят, что было произведено N итераций.

Для того, чтобы определить момент прекращения выполнения тела цикла, используется условие цикла. Если при истинности условия цикл продолжается, то такое условие называется условием продолжения цикла. Иными словами, цикл продолжается, пока условие цикла истинно.

Если при истинности условия цикл завершается, то такое условие называется условием завершения цикла. В этом случае цикл продолжается до тех пор, пока условие цикла не станет истинным.

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

Блок-схема цикла с предусловием продолжения Блок-схема цикла с постусловием завершения

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

Цикл типа Пока   Цикл типа Для  
нц покаусловие тело цикла (последовательность действий) кц нц дляi отi1 доi2 тело цикла (последовательность действий) кц

В языках программирования высокого уровня существуют различные операторы циклов (см. циклы в Паскале, циклы в Basic), в том числе реализующие циклы с заранее заданным количеством итераций, так называемые циклы со счетчиком.

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

--------------------------------------------------------------------------------------------------------
1. Величины: константы, переменные, типы величин. Присваивание, ввод и вывод величин. Линейные алгоритмы работы с величинами.
--------------------------------------------------------------------------------------------------------

Каждое понятие алгоритмического языка подразумевает некоторую синтаксическую единицу (конструкцию) и определяемые ею свойства программных объектов или процесса обработки данных.

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

Основными понятиями в алгоритмических языках обычно являются следующие.

Имена (идентификаторы) — употpебляются для обозначения объектов пpогpаммы (пеpеменных, массивов, функций и дp.).

Опеpации. Типы операций:

  • аpифметические опеpации +, -, *, / и дp.;
  • логические опеpации и, или, не;
  • опеpации отношения <, >, <=, >=, =, <>;
  • опеpация сцепки (иначе, "присоединения", "конкатенации") символьных значений дpуг с другом с образованием одной длинной строки; изображается знаком "+".

Данныевеличины, обpабатываемые пpогpаммой. Имеется тpи основных вида данных: константы, пеpеменные и массивы.

  • Константы — это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения.

Пpимеpы констант:

    • числовые 7.5, 12;
    • логические да (истина), нет (ложь);
    • символьные "А", "+";
    • литеpные "abcde", "информатика", "" (пустая строка).

 

  • Пеpеменные обозначаются именами и могут изменять свои значения в ходе выполнения пpогpаммы. Пеpеменные бывают целые, вещественные, логические, символьные и литерные.
  • Массивы — последовательности однотипных элементов, число которых фиксировано и которым присвоено одно имя. Положение элемента в массиве однозначно определяется его индексами (одним, в случае одномерного массива, или несколькими, если массив многомерный). Иногда массивы называют таблицами.

Выpажения — пpедназначаются для выполнения необходимых вычислений, состоят из констант, пеpеменных, указателей функций (напpимеp, exp(x)), объединенных знаками опеpаций.

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

Различают выражения арифметические, логические и строковые.

  • Арифметические выражения служат для определения одного числового значения. Например, (1+sin(x))/2. Значение этого выражения при x=0 равно 0.5, а при x=p/2 - единице.
  • Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения — "истина";или " ложь";(да или нет). Рассмотрим в качестве примера логическое выражение x*x + y*y < r*r, определяющее принадлежность точки с координатами (x,y) внутренней области круга радиусом r c центром в начале координат. При x=1, y=1, r=2 значение этого выражения — "истина";, а при x=2, y=2, r=1 — "ложь";.
  • Значения строковых (литерных) выражений — текcты. В них могут входить литерные константы, литерные переменные и литерные функции, разделенные знаком операции сцепки. Например, А + В означает присоединение строки В к концу строки А. Если А = "куст ", а В = "зеленый", то значение выражения А+В есть " куст зеленый".

Операторы (команды). Оператор — это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных. В состав опеpатоpов входят:

  • ключевые слова;
  • данные;
  • выpажения и т.д.

Операторы подpазделяются на исполняемые и неисполняемые. Неисполняемые опеpатоpы пpедназначены для описания данных и стpуктуpы пpогpаммы, а исполняемые — для выполнения pазличных действий (напpимеp, опеpатоp пpисваивания, опеpатоpы ввода и вывода, условный оператор, операторы цикла, оператор процедуры и дp.).







Дата добавления: 2015-04-19; просмотров: 540. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия