Алгоритмические конструкции и соответствующие им операторы языка Turbo Pascal

Раздел Информатика
Класс -
Тип Другие методич. материалы
Автор
Дата
Формат doc
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Министерство образования и науки Республики Калмыкия

БПОУ РК «Калмыцкий государственный колледж нефти и газа»





Методическая разработка

на тему:


«Алгоритмические конструкции и соответствующие им

операторы языка Turbo Pascal»







Выполнила:

преподаватель информатики и ВТ

Эрдниева Н.С.

Элиста 2013

Содержание

Введение

Название "алгоритм" произошло от латинской формы имени величайшего среднеазиатского математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi), жившего в 783-850 гг. В своей книге "Об индийском счете" он изложил правила записи натуральных чисел с помощью арабских цифр и правила действий над ними "столбиком", знакомые теперь каждому школьнику. В XII веке эта книга была переведена на латынь и получила широкое распространение в Европе.

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

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


  1. Теоретический материал

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

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

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

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

  • следование;

  • ветвление;

  • цикл.

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

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

Алгоритмические конструкции неотделимы от такого понятия, как способы записи алгоритмов. На практике наиболее распространены следующие формы представления алгоритмов:

  • словесная (запись на естественном языке);

  • графическая (изображения из графических символов);

  • псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);

  • программная (тексты на языках программирования).

Рассмотрим сопоставление графического (блок-схема) и программного (на языке программирования Turbo Pascal) способов записи алгоритмов.

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

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

  1. Следование

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

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

Алгоритмические конструкции и соответствующие им операторы языка Turbo Pascal

На процедурном языке программирования данная конструкция выражается просто последовательной записью инструкций (операторов языка программирования).

  1. Ветвление

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

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

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

Структура ветвление существует в четырех основных вариантах:

  1. Если - то - иначе;

  2. Если - то;

  3. Выбор - иначе;

  4. Выбор.

    1. Если - то - иначе

Алгоритмические конструкции и соответствующие им операторы языка Turbo Pascal

Синтаксис полной конструкции:

IF <условие> THEN <действие 1> ELSE <действие 2>;

Результатом условия являются значения булевского типа. Если условие истинно (true), то выполняется действие 1, следующее за ключевым словом THEN. Если условие ложно (false), то выполняется действие 2, следующее за ключевым словом ELSE (рис.2).

Под выражением действие 1 (действие 2) подразумевается один оператор, если требуется указать несколько операторов, то их следует включить в операторные скобки (Begin...end).

      1. Если - то

Алгоритмические конструкции и соответствующие им операторы языка Turbo Pascal

Синтаксис неполной конструкции:

IF <условие> THEN <действие 1>;

Под условием понимается логическое выражение, которое принимает два значения: true и false. Если условие истинно (true), то выполняется действие 1. Если условие ложно (false), то никакие действия не выполняются (рис.3).

      1. Выбор - иначе

Алгоритмические конструкции и соответствующие им операторы языка Turbo Pascal

Синтаксис полной конструкции:

CASE <ключ выбора> OF

<список выбора>

ELSE

<оператор>

END;

Ключ выбора - выражение порядкового типа.

Список выбора - одна или более конструкций вида:

<условие>: <действие>

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

<константа выбора>: <оператор>

Константа выбора - константа того же типа, что и ключ выбора (рис.4).

Оператор работает следующим образом: в начале вычисляется значение выражения ключ выбора, а затем в последовательности операторов список выбора, отыскивается такой, которому предшествует константа, равная вычисленному значению. Найденный оператор выполняется, после чего оператор выбора завершает свою работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению ключа выбора управление передаётся оператору (действие N+1), стоящему за словом ELSE.

      1. Выбор

Алгоритмические конструкции и соответствующие им операторы языка Turbo Pascal

Синтаксис неполной конструкции:

CASE <ключ выбора> OF

<список выбора>

END;

Оператор работает аналогично оператору Выбор - иначе, за исключением, что опущена часть [ELSE <оператор>], в этом случае при отсутствии в списке выбора нужной константы ничего не произойдёт и оператор выбора просто завершит свою работу (рис.5).

    1. Цикл

Цикл (повтор) - это алгоритмическая конструкция, в которой одна и та же совокупность действий, т.е. тело цикла, выполняется многократно.

      1. Цикл с предусловием «Пока»

Алгоритмические конструкции и соответствующие им операторы языка Turbo Pascal

Синтаксис:

WHILE <логическое выражение> DO <тело цикла>;

Если тело цикла состоит из нескольких простых операторов, то оно будет заключаться в операторные скобки.

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

Если логическое выражение ложно, когда WHILE выполняется в первый раз, то тело цикла вообще не будет выполняться (рис.6).

      1. Цикл с постусловием «До»

Алгоритмические конструкции и соответствующие им операторы языка Turbo Pascal

Синтаксис:

REPEAT <тело цикла> UNTIL < логическое выражение >;

Здесь тело цикла подразумевает несколько операторов, поэтому операторные скобки не нужны.

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

Эта конструкция работает аналогично циклу WHILE, но REPEAT проверяет условие после выполнения действий, это гарантирует хотя бы одно выполнение действий до завершения цикла (рис.7).

Замечание: обе конструкции будут использоваться, когда неизвестно количество шагов (сколько раз будет выполняться тело цикла)

      1. Цикл со счётчиком «Параметр»

Эта конструкция используется, когда известно количество шагов.

Параметр цикла - это величина, с изменением которой связано многократное выполнение цикла (рис.8).

Алгоритмические конструкции и соответствующие им операторы языка Turbo Pascal

Синтаксис:

FOR <управляющая переменная> := <начальное значение> TO <конечное значение> DO <тело цикла>

FOR <управляющая переменная> := <конечное значение> DOWNTO <начальное значение> DO <тело цикла>

При переходе к обработке оператора FOR управляющей переменной присваивается заданное начальное значение. Затем в цикле выполняется тело цикла (подразумевается один оператор). Каждый раз при выполнении исполнительного оператора управляющая переменная увеличивается на 1 (FOR … TO … DO) или уменьшается на 1 (FOR … DOWNTO … DO). Цикл завершается при достижении управляющей переменной своего конечного значения.

Замечания:

  • Считается, что при завершении цикла управляющая переменная не имеет определённого значения

  • Не следует использовать значение управляющей переменной за пределами цикла

  • Запрещается изменять значение управляющей переменной и её начальное и конечное значение (если они заданы переменными или выражениями с ними) и внутри тела цикла.

  1. Практический материал

Задача №1: Вычислить по формуле Герона площадь произвольного треугольника.

PАлгоритмические конструкции и соответствующие им операторы языка Turbo Pascalrogram Gerona;

Var a, b, c, p, s: real;

Begin

Writeln('Введите стороны

треугольника a, b, c:');

Readln(a, b, c);

P:=(a+b+c)/2;

S:=sqrt(p*(p-a)*(p-b)*(p-c));

Writeln('S=', s: 8: 2);

End.

ЗАлгоритмические конструкции и соответствующие им операторы языка Turbo Pascalадача №2: Найти максимум двух чисел max(a+b; a*b/2).

Program max;

Var a, b, p, q, max: real;

Begin

Writeln('Введите a, b:');

readln(a, b);

p:=a+b;

q:=a*b/2;

if (p>q) then max:=p else max:=q;

writeln('max=', max: 6: 2);

end.


Задача №3: Составить программу табулирования функции

Алгоритмические конструкции и соответствующие им операторы языка Turbo Pascal

ЦАлгоритмические конструкции и соответствующие им операторы языка Turbo Pascalикл с постусловием «До»

program post;

const sh=0.2;

var a, b, x, w: real;

begin

writeln('Введите a, b');

readln(a, b);

writeln('Введите таблицу значений функции w(x)');

writeln(' x w');

x:=-10;

Repeat

If (x<1.2) then w:=a*x*x+b*x+c

Else if (x=1.2) then w:=a/x+sqrt(x*x+1)

Else w:=(a+b*x)/sqrt(x*x+1);

Writeln(x: 8: 2, w: 8: 2);

x:=x+sh

Until (x>10)

End.

ЦАлгоритмические конструкции и соответствующие им операторы языка Turbo Pascalикл с предусловием «Пока»

Program pred;

const sh=0.2;

var a, b, x, w: real;

begin

writeln('Введите a, b');

readln(a, b);

writeln('Введите таблицу значений функции w(x)');

writeln(' x w');

x:=-10;

While (x<=10) Do

begin

If (x<1.2) then w:=a*x*x+b*x+c

Else if (x=1.2) then w:=a/x+sqrt(x*x+1)

Else w:=(a+b*x)/sqrt(x*x+1);

Writeln(x: 8: 2, w: 8: 2);

x:=x+sh

end;

end.

Цикл со счётчиком «Параметр»

P

-

+Алгоритмические конструкции и соответствующие им операторы языка Turbo Pascalrogram param;

const sh=0.2;

var a, b, x, w: real;

n, i: integer;

begin

writeln ('Введите a, b');

readln (a, b);

writeln('Введите таблицу значений функции w(x)');

writeln(' x w');

x:=-10;

n:=trunc(20/sh);

For i:=0 to n do

begin

If (x<1.2) then w:=a*x*x+b*x+c

Else if (x=1.2) then w:=a/x+sqrt(x*x+1)

Else w:=(a+b*x)/sqrt(x*x+1);

Writeln(x: 8: 2, w: 8: 2);

x:=x+sh;

end;

end.

Заключение

Данная разработка предназначена для студентов ФГОУ СПО «КГТ-ЭК», обучающихся по специальности «Программное обеспечение вычислительной техники и автоматизированных систем». Я считаю, что методическая разработка актуальна, так как может применяться на занятиях по дисциплине «Основы алгоритмизации и программирования» при изучении раздела «Алгоритмические конструкции».

Теоретический материал отображает три алгоритмические конструкции: следование, ветвление, цикл.

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

Список литературы

  1. Голицына О.Л., Попов И.И. «Основы алгоритмизации и программирования»: учебное пособие - М.: «Форум: Инфра-М», 2002г.

  2. Фаронов П.П. «Турбо Паскаль 7.0. Начальный курс.»: учебное пособие - М.: «Нолидж», 2001г.

  3. Горячев А., Шафрин Ю. «Практикум по информационным технологиям» - Москва: «Лаборатория Базовых Знаний», 1999г.

  4. Зуев Е.А. «Язык программирования Turbo Pascal 6.0.» - М.: «Унитех», 1992г.

  5. Семакин И. Г. «Основы программирования: учебник для сред. проф. Образования / И.Г. Семакин, А. П. Шестаков. - 5-е изд., стер.» - М. : Издательский центр «Академия», 2006. - 432с

  6. Немнюгин С.А. «Turbo Pascal. Программирование на языке высокого уровня: Учебник для вузов. 2-е изд.» - СПб: Питер, 2008. - 544с.: ил.


© 2010-2022