Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Другие методич. материалы / "Алгоритмические конструкции и соответствующие им операторы языка Turbo Pascal"

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

Самые низкие цены на курсы профессиональной переподготовки и повышения квалификации!

Предлагаем учителям воспользоваться 50% скидкой при обучении по программам профессиональной переподготовки.

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

Обучение проходит заочно прямо на сайте проекта "Инфоурок".

Начало обучения ближайших групп: 18 января и 25 января. Оплата возможна в беспроцентную рассрочку (20% в начале обучения и 80% в конце обучения)!

Подайте заявку на интересующий Вас курс сейчас: https://infourok.ru/kursy


СВИДЕТЕЛЬСТВО СРАЗУ ПОСЛЕ ПРОСМОТРА ВЕБИНАРА

Вебинар «Подростковая лень: причины, способы борьбы»

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

Получить свидетельство за вебинар - https://infourok.ru/webinar/65.html

  • Информатика

Поделитесь материалом с коллегами:


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

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





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

на тему:


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

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







Выполнила:

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

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



Элиста 2013

Содержание




Введение

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

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

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


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

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

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

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

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

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

  • ветвление;

  • цикл.

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

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

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

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

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

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

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

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

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

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

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

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

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

hello_html_m13da9a65.gif

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

    1. Ветвление

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

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

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

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

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

  2. Если – то;

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

  4. Выбор.

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

hello_html_m6d468ad1.gif

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

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

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

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

      1. Если – то

hello_html_515ac3a9.gif

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

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

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

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

hello_html_182d4f41.gif

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

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

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

ELSE

<оператор>

END;

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

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

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

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

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

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

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

      1. Выбор

hello_html_465afe92.gif

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

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

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

END;

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

    1. Цикл

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

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

hello_html_m731c12ab.gif

Синтаксис:

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

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

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

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

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


hello_html_2125996a.gif

Синтаксис:

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

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

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

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

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

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

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

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

hello_html_m67ed9bcb.gif

Синтаксис:

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



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

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

Замечания:

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

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

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

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

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

Phello_html_61296b50.gifrogram 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.




Зhello_html_m170e37b1.gifадача №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: Составить программу табулирования функции

hello_html_58a4cfe3.gif

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

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.

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

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

-

+

hello_html_5f62f2f9.gifrogram 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с.: ил.


Идёт приём заявок на самые массовые международные олимпиады проекта "Инфоурок"

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

1. Бесплатные наградные документы с указанием данных образовательной Лицензии и Свидeтельства СМИ;
2. Призовой фонд 1.500.000 рублей для самых активных учителей;
3. До 100 рублей за одного ученика остаётся у учителя (при орг.взносе 150 рублей);
4. Бесплатные путёвки в Турцию (на двоих, всё включено) - розыгрыш среди активных учителей;
5. Бесплатная подписка на месяц на видеоуроки от "Инфоурок" - активным учителям;
6. Благодарность учителю будет выслана на адрес руководителя школы.

Подайте заявку на олимпиаду сейчас - https://infourok.ru/konkurs

Автор
Дата добавления 20.10.2015
Раздел Информатика
Подраздел Другие методич. материалы
Просмотров474
Номер материала ДВ-079966
Получить свидетельство о публикации

УЖЕ ЧЕРЕЗ 10 МИНУТ ВЫ МОЖЕТЕ ПОЛУЧИТЬ ДИПЛОМ

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

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

Список всех тестов можно посмотреть тут - https://infourok.ru/tests


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