Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Алгоритм разветвляющейся структуры↑ Стр 1 из 6Следующая ⇒ Содержание книги Похожие статьи вашей тематики
Поиск на нашем сайте
Алгоритм, порядок выполнения действий в котором зависит от итогов проверки условия, называется алгоритмом разветвляющейся структуры. Его схема имеет такой вид:
На схеме алгоритма разветвление изображается блоком "решение", внутри которого записывается проверяемое условие. Если условие выполняется, то реализуются действия, предусмотренные направлением "да". В случае невыполнения проверяемого условия реализуются действия, предусмотренные ветвью "нет". Направление "нет" логически определяет выполнение условия, противоположного проверяемому. Пример 1. Найти корни квадратного уравнения . Решение уравнения зависит от значения дискриминанта : 1) если d < 0, то действительных корней уравнение не имеет; 2) если d = 0, то корни действительные и равные ; 3) если d > 0, то корни действительные и разные:
.
Схема алгоритма решения квадратного уравнения имеет вид
Если алгоритм содержит несколько вложенных друг в друга разветвлений, то эффективно использовать разветвление с "пустой" веткой "нет":
Пример 2. Решение квадратного уравнения изобразим с использованием разветвлений с пустой веткой "нет".
Алгоритм циклической структуры с Заданным числом повторений
Цикл – многократно повторяемый участок вычислительного процесса. Если количество повторений определено, то такой цикл называется циклом с заданным числом повторений (цикл с параметром). На схеме алгоритма он изображается с помощью блока модификация:
На этой схеме i – параметр цикла, iнач – начальное значение параметра цикла, iкон – конечное значение. Шаг изменения параметра задан равным 1 в соответствии с требованиями алгоритмического языка Паскаль. Изображенный участок определяет следующие действия: 1) i= iнач, если i£ iкон, то выполняется цикл; 2) i = iнач+1, если i£ iкон, то выполняется цикл; 3) i= iнач+2, если i£ iкон, то выполняется цикл; ... n) i= iкон, цикл выполняется последний раз. Затем выполняются действия после цикла.
Алгоритмизация задач с использованием Массивов
Массив – упорядоченный набор фиксированного числа данных одного типа. Например: 1) совокупность целых чисел 0 1 -2 3 7 8 – массив А из шести элементов целого типа; 2) набор чисел 2,5 -1,125 -3,5 -0,5 -2,5 – массив Х из пяти элементов вещественного типа. Количество элементов массива, с которым выполняется вычислительный процесс, называется рабочей размерностью Каждый элемент массива характеризуется: 1) именем массива, элементом которого он является; 2) номером (индексом), указывающим место нахождения элемента в массиве; 3) значением. Любое действие над массивом в целом осуществляется путем выполнения этого действия над каждым элементом массива. Так как количество повторений действия определяется чаще всего рабочей размерностью массива, то для работы с массивами используется алгоритм циклической структуры с заданным числом повторений. Пример 1. Для заданного массива Р рабочей размерности k £ 15 вычислить
Для решения задачи используем алгоритм суммы, реализуемый циклом с заданным числом повторений. В качестве параметра цикла используется переменная i, обозначающая номер текущего элемента массива. Значение i для перебора всех элементов изменяется от 1 до k.
Проверка алгоритма вычисления суммы: ... 3. S=0 4. i=1,…,k 4.1. i=1 S=S+P1=0+P1= P1 4.2. i=2 S=S+ P2= P1 +P2 4.3. i=3 S=S+ P3 =P1 +P2 +P3 ... 4.k. i=k S=S+Pk =P1 +P2 +…+Pk-1 +Pk 5. Вывод S.
Пример 2. Вычислить среднее геометрическое положительных элементов массива X (n), n £ 10. Среднее геометрическое – корень m -й степени из произведения m сомножителей. Необходимо построить алгоритм вычисления произведения положительных элементов массива и алгоритм вычисления их количества.
Пример 3. Для заданного массива t рабочей размерности n построить массив по формуле: Исходными данными для решения задачи будут: n – рабочая размерность массивов t и ; t – массив времен; tр – переменная, значение которой определяет условие; нач, a. В решение задачи можно выделить три основных этапа: 1) ввод массива t; 2) построение массива ; 3) вывод массива . Схема алгоритма решения:
Структура Паскаль-программы
Программа – запись конечной последовательности описаний и действий, приводящих к решению некоторой задачи. Описание данных предшествует реализации действий. Действия представляются операторами языка. Оператор программы может записываться в одной или нескольких строках (разрыв осуществляется по пробелам, знакам операций). Одна строка может содержать один и более операторов. Признаком конца оператора является точка с запятой (;). Любая программа на Паскале имеет следующую структуру:
PROGRAM <имя>; USES <список используемых модулей>; LABEL <раздел описания меток>; CONST <раздел описания констант>; TYPE <раздел описания типов>; VAR <раздел описания переменных>; PROCEDURE <раздел описания процедур>; FUNCTION <раздел описания функций>; BEGIN <раздел операторов>; END.
Заголовок Общий вид описания: PROGRAM <имя программы>; где <имя программы> – идентификатор, состоящий из букв латинского алфавита, цифр, может также содержать знак разбивки (_). Пример: Program lr1_010;
Подсоединение модулей Общий вид описания: USES <список используемых модулей>; Для работы с экраном используется модуль CRT. Пример: Uses CRT;
Раздел описания констант
Используется для присвоения идентификаторам констант постоянных значений. Вид использования: CONST <идентификатор 1> = <значение 1>; <идентификатор 2> = <значение 2>; В качестве значений разрешено использовать константы, которые при работе программы никогда не будут менять свое значение. Пример: Const G=9.81; В языке Паскаль имеется ряд заранее определенных констант, например PI (p=3,141592654), которые используются без описания.
Раздел описания типов
Используется для описания типов переменных, отличных от стандартных, и имеет вид TYPE <имя типа 1> = <вид типа 1>; <имя типа 2> = <вид типа 2>; Пример: Type Vect = array[1..15] of real; В данном примере описан тип Vect, определяющий массивы, состоящие из 15-ти элементов вещественного типа. Раздел описания переменных
В этом разделе должны быть описаны все переменные, которые используются в программе. В соответствии с этим описанием осу-ществляется выделение памяти для хранения значений переменных. VAR <имя переменной 1, имя переменной 2,...>:<тип 1>; <имя переменной 3, имя переменной 4,...>:<тип 2>; В качестве <тип 1>, <тип 2> могут использоваться: 1) стандартный тип; 2) имя типа, описанное в разделе TYPE; 3) непосредственно указанный вид типа. Пример: 1) Type Mas=array[1..20] of real; Var a,b:real; M,N:Mas; 2) Var M,N: array[1..20] of real; a,b:real; Раздел операторов
Раздел операторов, реализующий действия, начинается зарезервированным словом begin, за которым следуют операторы языка. Завершает раздел зарезервированное слово end, после которого должна стоять точка. Например: Begin <оператор 1>; <оператор 2>; <оператор 3> End.
Рассмотрим наиболее часто используемые операторы.
ClrScr; - обращение к процедуре очистки экрана.
Операторы вывода. Используются для вывода текстовой информации и значений переменных. В языке Паскаль имеют вид: Write(c1, c2, …, cn); – осуществляет вывод данных и оставляет курсор на этой же строке; Writeln(c1, c2, …, cn); – вывод данных и перевод курсора на следующую строку; Writeln; – осуществляет перевод курсора на следующую строку или пропуск строки. В операторах вывода c1, c2, …, cn – список вывода, который может состоять из: 1) имен переменных, значения которых будут выводиться; 2) числовых, символьных или строковых констант; 3) арифметических или логических выражений (значение выражения вычисляется и выводится). Для читаемости результатов используется форматный вывод. В данном случае пользователь сам указывает количество позиций, от-водимых под размещение значения объекта списка вывода. При выводе целых, символьных и строковых данных формат задается в виде Write(c1:p1, c2:p2, …); Writeln(c1:p1, c2:p2, …); где pi – количество позиций, отводимых пользователем. Пример. Даны два целых числа i =5 и j = -32. При записи writeln(i,j); writeln(i:3,j:5); ... получим на экране 5-32 5 -32. При выводе вещественных данных – Write(ci:pi:qi,, …); Writeln(ci:pi:qi,…); где pi – количество позиций, отводимых под все число; qi – количество позиций, отводимых под дробную часть. Пример. Даны два вещественных числа a =-12.23 и b =0.5. При записи Write(a:7:3,b:5:2); на экране получим -12.230 0.50. Вывод числовых значений должен сопровождаться пояснительным текстом. Пример. Writeln('Значения a=',a:7:3,' и b=',b:5:2); На экране получим: Значения a=-12.230 и b= 0.50.
Операторы ввода. Используются для задания значений переменным, которые являются исходными данными решаемой задачи. В языке Паскаль имеют вид Read(c1, c2, …, cn); Readln(c1, c2, …, cn); где c1, c2, …, cn – список ввода, состоящий из имен переменных. Процесс ввода осуществляется на этапе выполнения программы. Численные значения переменных набираются с клавиатуры в соответствии с порядком следования и типом переменных в списке ввода. Значения вещественных переменных представляются в виде констант с фиксированной или плавающей точкой. Если список ввода содержит имена нескольких переменных, то соответствующие им константы разделяются пробелами. После набора всех констант для одного оператора ввода необходимо нажать клавишу ¿ ("Ввод", Enter). Перед вводом данных необходимо вывести на экран приглашение к вводу, используя оператор вывода. Пример: Write('введите а='); Readln(a);
Оператор присваивания. Общий вид оператора: <имя переменной>:=<выражение>; Порядок работы оператора: 1) вычисляется значение выражения; 2) значение переменной становится равным результату вычисления. Тип переменной должен быть тем же, что и тип выражения. Исключениями являются: тип переменной – вещественный, тип выражения – вещественный или целый.
Составной оператор – это объединение нескольких операторов в одну группу. Общий вид оператора: Begin <оператор 1>; <оператор 2>; ... <оператор N> End; Слова begin и end в данном случае выполняют роль операторных скобок – открывающей и закрывающей. Составной оператор можно вставлять в любое место программы, где допускается использование одного оператора. В свою очередь любой из операторов составного оператора также может быть составным. После слова begin точка с запятой никогда не ставится.
Оператор условного перехода. Общий вид оператора: 1) If <логическое выражение> then <оператор 1> else <оператор 2>; 2) If < логическое выражение > then < оператор 1>; где < оператор 1>, <оператор 2> – простые или составные операторы. Если <оператор 1>, <оператор 2> реализуют несколько действий (более одного), то они должны быть обязательно составными. Порядок работы оператора: 1) вычисляется значение логического выражения; 2) если значение логического выражения – true (ИСТИНА), то выполняется <оператор 1>, а затем оператор, следующий за IF; 3) если значение логического выражения – false (ЛОЖЬ), то выполняется <оператор 2> (если он присутствует). После отработки <оператора 2> и в случае его отсутствия выполняется оператор, следующий за оператором IF. Замечание: знак ";" перед ELSE не ставится.
|
|||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-15; просмотров: 565; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.193.166 (0.026 с.) |