Итерационные циклы с постусловием
Синтаксис - это правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза. Точнее говоря,синтаксис языка представляет собой набор правил, устанавливающих, какие комбинации символов являются осмысленными предложениями на этом языке.
Семантика определяет смысловое значение предложений языка. Являясь системой правил истолкования отдельных языковых конструкций,семантика устанавливает, какие последовательности действий описываются теми или иными фразами языкаи, в конечном итоге, какой алгоритм определен данным текстом на алгоритмическом языке.
(АЯ)- формальный язык, используемый для записи, реализации или изучения алгоритмов. Всякий язык программирования является алгоритмическим языком, но не всякий алгоритмический язык пригоден для использования в качестве языка программирования
6) Общий вид алгоритма:
алг. <название алгоритма>(аргументы, результаты)
дано <условие применимости алг.>
надо <цель выполнения алг.>
нач. <написание промежуточных величин>(последовательность команд (тело алгоритма))
кон.
Примеры строки алгоритма:
алг. объём и площадь цилиндра (арг. вещ. R, H, рез. вещ. V, S)
алг. корни кв. уравнения (арг. вещ. a, b, c, рез. вещ. x1, x2)
алг. число max (арг. цел. N, вещтаб. A[1:n], рез. цел. k)
дано (N>0)
надо (k-число max элементов в таблице A)
T – комментарии
7)
1)команда присваивания – служит для вычисления выражений, присваивания значений в переменной. 2)команда ввода-вывода
а)ввода. имена переменных
б) вывода. имена переменных, выражений, тексты.
3)команды ветвления (если, выбор)
4) команды цикла (для, пока)
8)
алг.(алгоритм)
арг.(аргумент)
рез.(результат)
нач.(начало)
кон.(конец)
цел.(целое)
вещ.(вещественное)
сим.(символьный)
лит.(литерный)
лог. (логический)
таб. (таблица)
н.ц.(начало цикла)
к.ц.(конец цикла)
длин.(длина)
утв.(утверждение)
дано
надо
если
то
иначе
все
пока
для
от
до
знач
и
или
не
да
нет
при
выбор
вывод
ввод
9) Правила записи арифметических выражений:
1)Нельзя опускать знак умножения между сомножителями
2)индексы элементов массивов записываются в квадратных (школьным, Pascal)и круглых (Basic)скобках.
3)Операции выполняются в порядке старшинства.
4) Операции одного старшинства выполняется слева направо.
10.)
1) Алгоритм АЯ значительно шире алфавита машинного языка, отсюда следует повышение наглядности текста программы
2) Набор операций, допустимых для использования независит от набора машинных операций.
3)Формат приложений достаточно гибок и удобен для использования => с помощью одного предложения можно задать достаточно одного предложения можно задать достаточно содержательный этап обработки данных.
4) Требуемые операции задаются с помощью общепринятых мат. обозначений.
5) Данным в алгоритмических языках присваиваются имена.
6) Может быть предусмотрен значительно более широкий набор типов данных по сравнению с машинным набором типов данных.
11) Язык программирования — формальная знаковая система, при помощи которой записываются компьютерные программы. По разным оценкам, в настоящее время существует от двух с половиной до десяти тысяч различных языков программирования.
Достоинства
§ Язык програмирования позволяет писать самый быстрый и компактный код, какой вообще возможен для данного процессора.
§ Если код программы достаточно большой, — данные, которыми он оперирует, не помещаются целиком в регистрах процессора, то есть частично или полностью находятся в оперативной памяти, то искусный программист, как правило, способен значительно оптимизировать программу по сравнению с транслятором с языка высокого уровня по одному или нескольким параметрам:
§ скорость работы — за счёт оптимизации вычислительного алгоритма и/или более рационального обращения к ОП, перераспределения данных;
§ объём кода (в том числе за счёт эффективного использования промежуточных результатов). (Сокращение объема кода также нередко повышает скорость выполнения программы.)
§ Обеспечение максимального использования специфических возможностей конкретной платформы, что также позволяет создавать более эффективные программы, — в том числе менее ресурсоемкие.
12) уровни ЯП:
I.Языки низкого уровня требуют указания мелких деталей.
1). машинное
2). машинно-ориентированное (ассамблера)
II. Языки высокого уровня – используют некие слова разговорного языка и общепринятые математические символы.
1). процедурные (алгоритмические) (Basic, pascal и др.)
Предназначены для однозначного описания алгоритмов. Для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру её решения.
2). Логические (Prologs, lisp и др.)
Ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи, с тем, чтобы решение следовало из составленного описания.
3). объектно-ориентированные (Objeck, Pascal и др.) В основе этих языков лежит понятие объекта, сочетающего в себе данные и действия над ними. Программы на объектно-ориентированном языке по сути описывает часть мира решаемой задачи. Описание действительности в системе взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.
13) Базовые алгоритмические структуры.
Алгоритм любой сложности может быть представлен в виде комбинации трёх элементарных алгоритмических структур.
Элементарные (базовые) структуры
1). Линейная (следование) – действия выполняются последовательно, каждая операция является самостоятельной. На схем-блоке располагаются в линейной последовательности.
2) Ветвление (ветви) – вычислительный процесс для реализации которого предусмотрено несколько направлений (ветвей). Ветвление в программе – это выбор одной из нескольких последовательностей команд при выполнении команд.
3).Циклическая (цикл) – это многократноповторяемый участок программы.
14) Линейная (следование) – действия выполняются последовательно, каждая операция является самостоятельной. На схем-блоке располагаются в линейной последовательности.
15) Ветвление – вычислительный процесс для реализации которого предусмотрено несколько направлений (ветвей). Ветвление в программе – это выбор одной из нескольких последовательностей команд при выполнении команд.
Выбор направления:
да (true) – условие выполнено
нет (false) – условие не выполнено
Пример: вычислить
y = a+b, x<0
c/b, x>0
16) Циклы понятия Последовательность инструкций, предназначенная для многократного исполнения, называется телом цикла. Единичное выполнение тела цикла называется итерацией.Выражение определяющее, будет в очередной раз выполняться итерация, или цикл завершится, называется условием выхода или условием окончания цикла (либо условием продолжения в зависимости от того, как интерпретируется его истинность — как признак необходимости завершения или продолжения цикла). Переменная, хранящая текущий номер итерации, называется счётчиком итераций цикла или просто счётчиком цикла. Цикл не обязательно содержит счётчик, счётчик не обязан быть один — условие выхода из цикла может зависеть от нескольких изменяемых в цикле переменных, а может определяться внешними условиями (например, наступлением определённого времени), в последнем случае счётчик может вообще не понадобиться.
17) Итерационные циклы – это циклы, в которых число повторений циклов заранее не известно и зависит от некоторых условий.
Итерационный цикл с предусловием
Синтаксис:
while выражение do оператор
Пример.
eps:=0.001;while x > eps do x:=x/2;Итерационные циклы с постусловием
Синтаксис:
repeat оператор; оператор; ... операторuntil выражениеПример.
repeat WriteLn('Введите положительное число'); ReadLn(x);until x>0;Вложенные циклы
Существует возможность организовать цикл внутри тела другого цикла. Такой цикл будет называться вложенным циклом. Вложенный цикл по отношению к циклу в тело которого он вложен будет именоваться внутренним циклом, и наоборот цикл в теле которого существует вложенный цикл будет именоваться внешним по отношению к вложенному. Внутри вложенного цикла в свою очередь может быть вложен еще один цикл, образуя следующий уровень вложенности и так далее. Количество уровней вложенности, как правило, не ограничивается.