kopilkaurokov.ru - сайт для учителей

Создайте Ваш сайт учителя Курсы ПК и ППК Видеоуроки Олимпиады Вебинары для учителей

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

Нажмите, чтобы узнать подробности

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

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





МБОУ КАМЕНСКАЯ ШКОЛА НАРО-ФОМИНСКОГО РАЙОНА МОСКОСКОЙ ОБЛАСТИ









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

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















учитель информатики

Петрухина Нина Степановна









Тема:

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

Слово алгоритм происходит от algorithmic – латинской формы написания имени латинского математика IX в. Аль-Хорезми, который сформулировал правила выполнения четырёх арифметических действий над многозадачными числами. В дальнейшем алгоритм стали называть описание любой последовательности действий, которую следует выполнить для решения заданной задачи.

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

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

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

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

1. Однозначность алгоритма, под которой понимается единственность толкования исполнителем правил выполнения действий и порядка их выполнения. Чтобы алгоритм обладал этим свойством, он должен быть записан командами из системы команд исполнителя.

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









3 Результативность алгоритма, предполагающая, что выполнение алгоритма должно завершится получением определенных результатов.

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

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

Алгоритмы бывают трех основных видов (типов), которые и являются базовыми при написании программ.

Первый тип — линейный алгоритм; такой, в котором все действия выполняются в строгом порядке, последовательно, одно за другим.

Второй тип — разветвляющийся алгоритм; такой, в котором выполняются те или иные действия в зависимости от выполнения или невыполнения некоего условия.

Третий тип — циклический алгоритм; такой, в котором присутствуют повторяющиеся действия с какой-либо изменяющейся величиной, так называемым параметром.

Исполнитель алгоритма — это человек или какое-либо устройство (компьютер или робот).

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

Способы задания алгоритма:

словесный, табличный, графический (блок-схемы).

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











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

Они могут быть простыми или более сложными в зависимости от требований решаемой задачи.

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

- Базовая структура ветвления лежит в основе разветвляющегося алгоритма.

В общем случае схема разветвляющего алгоритма будет выглядеть так:

Если , то , иначе .

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

Если , то .

В блок-схемах блок условия обозначается в виде ромба. Внутри блока проверяемое условие записывается в математической форме или в форме вопроса. Если в ходе исполнения алгоритма условие оказывается выполненным, то процесс продолжается в направлении «Да». Если проверяемое условие не выполняется, то процесс продолжается в направлении «Нет».

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

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

Все ветвления делятся на:

- Неполные. (либо с ответом «да» либо с ответом «нет»)

- Полные. (действия следуют как за ответом «да» так и за ответом «нет»

- Множественные. (проверется более чем одно условие)





Составление структурных схем дает возможность представить себе пошаговое выполнение алгоритма. Для примера я даю задачу: Составить условие и произвести вычисления согласно представленной структурной схеме. Заменить структурную схему на алгоритм алгоритм *a:=14 *b:=9 *c:=6 *если (a-b)c ** a:=b-c *иначе **a:=c-b *все-если *вывод (‘а=’,a:5:3) Ответ:(а=-3,00) Program znachenie; Var a,b,c: real; begin a:=14; b:=9; c:=6; if (a-b)c then a:=b-c else a:=c-b writeln(‘a=’,a:5:3) end.

4. Составление блок-схемы по условию.

Даны три отрезка с длинами a, b, c. Составьте алгоритм проверки существования треугольника со сторонами a, b, c.

Алгоритм представленный в виде блок-схемы.

И структурированного алгоритма:

*вывод (ввести длины отрезков a,b.c )

*ввод ( a,b,c)

*если (a+b)c

**если (a+c)b

*** если (b+c)a



**** вывод(треугольник существует)

***вывод(треугольник не существует)

** вывод (треугольник не существует)

*вывод (треугольник не существует)

*все-если



Program treug;

var a,d,c: integer;

begin

writeln (‘введи длины отрезков a,b,c ‘);

readln (a,b,c);

if (a+b)c then

if(a+c)b then

if(b+c)a then

writeln (‘ треугольник существует ‘);





else

end

writeln (‘ треугольник не существует ‘);

else

end

writeln (‘ треугольник не существует ‘);

else

writeln (‘ треугольник не существует ‘);

end.

Алгоритм записанный для компьютера,

называется программой.

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

Турбо Паскаль - это язык высокого уровня программирования общего назначения. Язык получил своё имя в честь великого французского математика и философа Блеза Паскаля, автора первых образцов счетной техники. Паскаль был разработан швейцарским ученым Никлоусом Виртом в 1968-1971 годах и изначально был ориентирован на обучение программированию. Язык получил широкое распространение в сфере образования, используетя в промышленном программировании и служит базой для множества других языков.

Turbo Pascal - это не просто язык программирования, это целая система для программистов, которая включает в себя редактор, компилятор, отладчик и еще некоторые возможности.

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









Основные этапы решения задач на компьютере. Процесс решения задач на компьютере – это совместная деятельность человека и ЭВМ. Этот процесс можно представить виде нескольких последовательных этапов.

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

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

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

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

Четвёртый этап – программирование. Программой называется план действий, подлежащий выполнению некоторым исполнителем, в качестве которого может выступать компьютер.

Пятый этап – ввод программы и исходных данных в ЭВМ. Программа и исходные данные вводятся в ЭВМ с клавиатуры с помощью редакторов текстов

Шестой этап – тестирование и отладка программы. На этом этапе происходит исполнение алгоритма с помощью ЭВМ, поиск и исключение ошибок.

Седьмой этап – исполнение отлаженной программы и анализ результатов.

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



Турбо Паскаль - это язык высокого уровня программирования общего назначения. Язык получил своё имя в честь великого французского математика и философа Блеза Паскаля, автора первых образцов счетной техники. Паскаль был разработан швейцарским ученым Никлоусом Виртом в 1968-1971 годах и изначально был ориентирован на обучение программированию. Язык получил широкое распространение в сфере образования, используется в промышленном программировании и служит базой для множества других языков.

Программа на языке Turbo Pascal формируется с помощью конечного набора знаков, образующих алфавит языка, он состоит

-прописных и строчных букв латинского алфавита (A,BZ, a,b,…,z) и знака подчеркивания.

-десятичных (0,1,…9) и шестнадцатиричных цифр (0,1,…9,A,B,…,F)

-также в алфавит включаются специальные символы и составные символы.

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

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









Типы данных: Для временного хранения информации вв памяти машины в языке Паскаль используются константы и переменные. Они могут быть целые, действительные, символьные. Целые типы:
Название Длина в байтах Диапазон значений
byte 1 0…255
shortint 1 -128…127
word 2 0…65535
integer 2 -32768…32767
longlnt 4 -2147483648…2147483647
Логический тип (boolen): Логический тип данных часто называют булевым по имени английского математика Д.Буля, создателя математической логики. В языке Паскаль имеется две логические константы TRUE и FALSE. Логическая переменная принимает одно из этих значений и имеет тип Boolen. Для сравнения данных предусмотрены следующие операции отношения: ,=,=. Результат операции может быть ложным или истинным. Над Величинами этого типа можно выполнять логические операции OR –или, AND –и ,NOT-не. Этот тип данных мы будем применять на условном операторе. Строковый тип (STRING): Значением строковой величины является строка переменной длины (может быть пустая). Строковая константа представляет собой произвольную последовательность символов, заключенную в ординарные кавычки. Вещественный тип:
Название Длина в байтах Диапазон значений
Single 4 -45…+38
Real 6 -39…+38
Double 8 -324…+308
Extended 10 -4951…+4932
Comp 8 -2*10 63+2*10 63
Символьный тип (Char): Значением величины данного типа является символ из множество всех символов компьютера: русская латинская большая или маленькая буква, цифра, знак препинания, специальный знак. Каждый из символов имеет уникальный номер от 0 до 255. Символьная константа – любой символ языка, заключенный в одинарные кавычки. Условный оператор и оператор выбора

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

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


Операции

Название

выражение

=

равно

A=B

не равно

AB

больше

AB

меньше

A

=

больше или равно

A=B

меньше или равно

A

in

принадлежит

A in B


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


Основные логические операции:

Логическое отрицание

Логическое (И) конъюнкция

Логическое (ИЛИ) дизъюнкция

Исключающее ИЛИ

действие

Not

Fnd

Or

xor

Операция


Not A

A and B

A or B

A xor B

Выражение





Приоритет операций.

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

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

Пример записи логических выражений:

- (x1)and (x

- not((x-2) and(x,2))

- (x=2)


В Turbo Pascal имеются две реализации ветвления. Это условный оператор – IF и оператор выбора CASE.

Условный оператор имеет полную и краткую формы.

Полная форма условного оператора выглядит следующим образом:

if условие

then

begin

оператор1 {эти опереторы выполняются, }

{ если Условие истинно }

end

else

begin

оператор2{эти операторы выполняются, }

{ если Условие ложно }

end;


В качестве условия указывается операция отношения. Сложные условия составляются из простых с помощью логических операций and, or. Если условие оказывается истинным, то выполняется оператор1, в противном случае выполняется оператор2.


Краткая форма условного оператора имеет вид:

if условие

then

begin оператор { эти операторы выполняются }

{если условие ложно }

end;






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

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

Вложенное условие (операторы) может принимать вид: Вариант1: If условие1 then If условие 2 then оператор 1 else оператор 2 else оператор 3; Вариант2: If условие 1 then оператор 1 else if условие 2 then опрератор2 else оператор3; Вариант3: If условие1 then If условие 2 then оператор1 Else оператор2; Оператор выбора Не рекомендуют использовать многократно вложенный друг в друга условный оператор if. Если необходимо проверить много условий и в зависимости от них выполнять те или иные действия, то используют оператор выбора case.

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

case переключатель of
  список выбора 1: begin

{ инструкции1 }

end

список выбора N: begin

{ инструкции N}

end

else

begin

{инструкции }

end;

end;



Переключатель представляет собой выражение порядкового типа (целого, символьного, перечислимого или интервального), а списки выбора содержат константы совместимого типа. Как и в операторе if, ветка else может отсутствовать.

Оператор case работает следующим образом. Если в одном из списков выбора найдено текущее значение переключателя, то выполняется оператор, соответствующий данному списку. Если же значение переключателя не найдено ни в одном списке, то выполняется оператор по ветке else или, если ветка else отсутствует, оператор case не выполняет никаких действий.

end.

оператор 1 , оператор 2, оператор n


Разберем задачи различного уровня сложности:


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

1Сравнение двух чисел.


Алгоритм решения:

*вывод («ввести два числа»)

*ввод(а,в)

*если а=в то

**вывод(«числа равны»

** иначе если а

***вывод (а,«меньше», в)

***иначе

****вывод (в ,«большее»,а)

*конец если



Программа:

program chislo;

var

a,b: integer; { сравниваемые числа }

begin

writeln (‘ введите два числа ‘);


readln(a,b);

if a=b






then writeln(‘числа равны ‘);

else if a

then writeln(a,’ меньше ‘,b)

else writeln(a,’ больше ‘,b);

readln;

end.




Задача2.Ввести число с клавиатуры проверить его на четность.


Алгоритм решения:

*вывод («введи целое число»)

*ввод (n )

*если n mod 2 =0

**то

**вывод («четное число»)

**иначе («число е четное»)

*конец если


Программа:

Program четность;

Var a: integer;

If a mod 2 =0 then writeln(‘число четное’);

else writeln(‘число не четное’);

еnd.

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




Задача. Заданы коэффициенты a,b,c и биквадратного уравнения ax4+bx2+c=0. Найти все его действительные корни. Для решения биквадратного уравнения необходимо заменой y=x2 переменной привести его к квадратному и решить это уравнение.

Входные данные задачи решения биквадратного уравнения: a,b,c

Выходные данные задачи решения биквадратного уравнения: x1, x2, x3, x4.








Алгоритм решения

*вывод (ввести коэффициенты a,b,c)

*ввод (a,b,c)

*d=d2-4*a*c

*если d

**вывод (нет корней)

*иначе

**y1=(-b+sgrt(d))/2*a

**y2=(-b+sgrt(d))/2*a

**если y1

***вывод (нет корней)

**иначе

***если y1=0 and y2=0

****x1=sgrt(y1)

****x2=-x1

****x3=sgrt(y2)

****x4=-x3

****вывод(x1,x2,x3,x4)

***иначе

****если y1=0

*****x1=sgrt(y1)

*****x2=sgrt(y2)

***** вывод( x1,x2)

****иначе

*****x1=sgrt(y2)

*****x2=-x1

*****вывод (x1,x2)

****конец если

***конец если

**конец если

*конец если











Блок схема задачи:










































Program bikvadrat;

{описание всех переменных: a,b,c -коэффициенты биквадратного уравнения,

d-дискриминант, x1,x2,x3,x4-корни биквадратного уравнения, y1,y2- корни квадратного уравнения ay2^2=by+c=0}

var

a,b,c,d,x1,x2,x3,x4,y1,y2:real

begin

writeln ( ‘ введите коэффициенты биквадратного уравнения ‘);

readln ( a,b,c );

d:=d*d-4*a*c; { вычисление дискрименанта }

if dкорней нет ‘)

else {если дискриминант =0}

begin

y1:=(-b*-sgrt(d))/2*a;

y2:= (-b*+sgrt(d))/2*a ;

if(y1

writeln (‘корней нет ‘)

else if(y1=0) and(y2=0) then {если оба корня квадратного уравнения =0 }

begin { вычисление коней биквадратного уравнения }

x1:=sgrt(y1);

x2=-x1;

x3=sgrt(y2);

x4:=-x3;

writeln(‘x1=’,x1;5:2,’x2=’,x2:5:2); writeln(‘x3=’,x3:5:2,’x4=’,x4:5:2);

end

{если не выполнились оба условия 1.y1b y2y1=0 b y2=0,то проверяем условие y1=0 }

else if(y1=0) then

begin

x1:=sgrt(y1);

x2:-x1;

writeln (‘x1=’,x1:5:2,’x2=’,x2:5:2);

end

else

begin

x1:=sgrt(y2);

x2:-x1:

writeln (‘x1=’,x1:5:2,’x2=’,x2:5:2);

end

end

end.



Использование оператора варианта


Задача1: По заданному номеру месяца вывести на печать название месяца года.

Для решения данной задачи необходимо проверить выполнение четырех условий. Если данное число равно 12,1 или 2, то это зима, если число попадает в диапазон от 3 до 5, то весна. Лето определяется принадлежностью числа диапазону от 6 до 9, и соответственно, пр равенстве переменной 9,10 или 11- это осень. Понятно, что область возможных значений переменной находится в диапазоне от 1 до 12.




Алгоритм решения:

*вывод («ввести номер месяца m»)

*ввод (m)

*если m=1 и m

**то выбор

**12,1,2

**вывод («зима»)

**3,4,5

**вывод («весна»)

**6,7,8

**вывод («лето»)

**9,10,11

**вывод («осень»)

*иначе

**вывод («ошибка при вводе»)

*конец если


Программа:


program leto;

var

m: byte;

begin

writeln(‘введите номер месяца m= ‘);

readln( m);

{ проверка области допустимых значений переменной m };

if (m=1) and (m

case m of

{ в зависимости от значения переменной m }

{ выводится название времени года. }

12,1,2: writeln (‘ зима ‘);

3..5: writeln(‘весна ‘);

6..8: writeln(‘ лето ‘);

9..11; writeln(‘ осень ‘);

end

{если значение переменной m выходит за пределы области допустимых значений, то выдается сообщение об ошибке. }

else writeln (‘ошибка при вводе ‘);

end.

end.










Список использованной литературы:


1.Фаронов В.В. «Turbo Pascal»


2. Рапаков Г.Г. «Turbo Pascal для студентов и школьников»


5. Лукин С.Н. «Turbo Pascal 7.0»



26






Получите в подарок сайт учителя

Предмет: Информатика

Категория: Уроки

Целевая аудитория: 9 класс

Скачать
«Алгоритм ветвления и начальное программирование задач с условием на языке «Turbo Pascal»

Автор: Петрухина Нина Степановна

Дата: 19.08.2014

Номер свидетельства: 112212



ПОЛУЧИТЕ СВИДЕТЕЛЬСТВО МГНОВЕННО

Добавить свою работу

* Свидетельство о публикации выдается БЕСПЛАТНО, СРАЗУ же после добавления Вами Вашей работы на сайт

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

Ваш личный кабинет
Проверка свидетельства