Использование алгоритма ветвления при решении физико-математических задач на Паскале

Содержание

Слайд 2

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

Повторение пройденного материала что называется алгоритмом? какие базовые типы алгоритмов? в чем
с полным и неполным ветвлением?
какова структура программы на Паскале?
какие типы переменных используются в языке Паскаль?
какова структура ветвления на Паскале?
сколько операторов разрешает синтаксис IF ставить после THEN и ELSE?
как преодолеть эту трудность? Как записывается составной оператор?
что такое форматируемый вывод и для чего он нужен?

Слайд 3

Задача №1
Требуется запросить значения трех углов и по введенным значениям определить, можно

Задача №1 Требуется запросить значения трех углов и по введенным значениям определить,
ли по этим углам построить треугольник?

Алгоритм решения:
запрашиваем значения углов и вводим их с клавиатуры;
анализируем сумму углов: если она равна 1800, то сообщаем «треугольник существует», в противном случае выводим «треугольник не существует».

Слайд 4

Блок-схема решения задачи №1

Блок-схема решения задачи №1

Слайд 5

program treug-1;
var a,b,c :integer;
begin
writeln(‘введите три угла’);
read (a,b,c);
if (a+b+c)=180 then write (‘треугольник существует’)

program treug-1; var a,b,c :integer; begin writeln(‘введите три угла’); read (a,b,c); if

else write (‘треугольник не существует’);
end.

Слайд 6

Задача №2
В задаче №1 в случае, если треугольник по введенным углам построить

Задача №2 В задаче №1 в случае, если треугольник по введенным углам
можно, уточнить, а какой именно треугольник будет построен – прямоугольный, остроугольный или тупоугольный?

При решении задачи будем использовать вложенные условия, а также сложные условия, связанные логическим «ИЛИ» (OR).

Слайд 7

выводим «Нет»

введите a,b, c

прямоуг.треуг.

да

нет

( a+b+c) <> 180 ?

( a=90)or(b=90)or(c=90)

да

нет

нет

да

тупоуг.треуг.

остроуг.треуг.

комбинируем оба типа ветвления

Блок-схема

выводим «Нет» введите a,b, c прямоуг.треуг. да нет ( a+b+c) 180 ?
решения задачи №2

Слайд 8

program treug_2;
var a,b,c :integer;
begin
writeln(‘введите три угла’);
readln (a,b,c);
if (a+b+c)<>180 then write (‘Нет’)

program treug_2; var a,b,c :integer; begin writeln(‘введите три угла’); readln (a,b,c); if
else
if (a=90) or (b=90) or (c=90) then write
(‘прямоуг.треуг’);
if (a>90) or(b>90) or (c>90) then write
(‘тупоуг.треуг’)
else write (‘остроуг.треуг’);
end.

Слайд 9

Задача №3
Запросить значения двух сопротивлений цепи R1 и R2,
а также вид соединения

Задача №3 Запросить значения двух сопротивлений цепи R1 и R2, а также
(1-последовательное или 2-параллельное). Посчитать и вывести значение общего сопротивления цепи R0.

При последовательном соединении:

При параллельном соединении:

R0 = R1 + R2

R0 = R1* R2/( R1+ R2 )

Слайд 10

Блок-схема решения задачи №3

введите сопр-я

r0=r1*r2/(r1+r2)

k = 1 ?

r0=r1+r2

нет

да

введите тип цепи k

вывод r0

Блок-схема решения задачи №3 введите сопр-я r0=r1*r2/(r1+r2) k = 1 ? r0=r1+r2

Слайд 11

program rezistor;
var r1,r2,k :integer; r0 :real;
begin
writeln(‘введите два сопротивления);
readln (r1,r2);
writeln(‘введите тип соединения:

program rezistor; var r1,r2,k :integer; r0 :real; begin writeln(‘введите два сопротивления); readln
1- последов., 2 – паралл.');
readln (k);
if k=1 then r0 = r1 + r2
else
r0 = r1 * r2 / (r1 + r2);
write (‘общее сопротивление цепи = ‘, r0 :4 :1);
end.

Слайд 12

Задача №4
Программа запрашивает ввод двух координат некоей точки, анализирует введенные числа и

Задача №4 Программа запрашивает ввод двух координат некоей точки, анализирует введенные числа
выводит сообщение – какой четверти координатной плоскости принадлежит эта точка.

Алгоритм решения:
- запросить и ввести координаты точки;
проанализировать четыре различных комбинации чисел;
для каждого случая сделать вывод соответствующего сообщения.
Решение задачи будет более простым, если использовать неполное ветвление.

Слайд 13

program koordinat_plosk;
var a,b :integer;
begin
writeln(‘введите две координаты точки’);
readln (a,b);
if (a > 0) and

program koordinat_plosk; var a,b :integer; begin writeln(‘введите две координаты точки’); readln (a,b);
(b > 0) then write (‘1 четверть’) ;
if (a < 0) and (b > 0) then write (‘2 четверть’) ;
if (a < 0) and (b < 0) then write (‘3 четверть’) ;
if (a > 0) and (b < 0) then write (‘4 четверть’) ;
end.
Имя файла: Использование-алгоритма-ветвления-при-решении-физико-математических-задач-на-Паскале.pptx
Количество просмотров: 89
Количество скачиваний: 0