14138

Запис алгоритмів з використанням вказівки розгалуження мовою програмування

Конспект урока

Информатика, кибернетика и программирование

Тема уроку: Запис алгоритмів з використанням вказівки розгалуження мовою програмування. Мета уроку: Навчити складати алгоритми з використанням команди розгалуження та записувати їх мовою програмування.Тип уроку: Розбір задач що потребують для свого розв'язання вказ

Украинкский

2013-05-21

63.5 KB

0 чел.

Тема уроку: "Запис алгоритмів з використанням вказівки розгалуження мовою програмування."

Мета уроку: Навчити складати алгоритми з використанням команди розгалуження та записувати їх мовою програмування.
Тип уроку: Розбір задач, що потребують для свого розв'язання вказівку розгалуження.

На початку уроку бажано зробити експрес опитування за матеріалом попереднього уроку (поняття умови, умови прості та складені, поняття команди розгалуження, її форми, запис мовою програмування та мовою блок-схем).
Далі пропонується розглянути типові задачі з використанням команди розгалуження.

Задача №96 (1).
Умова: Дано значення цілих величин x та y . Знайти:

Program Example_96_1;

Uses crt;

Var x,y,Max,Min,Rezultat:integer;   

Begin 

 Clrscr;          {Очищення екрану} 

 Write(‘Введіть значення x та y: ’);

 Readln(x,y);

 If x{Знаходження максимуму та мінімуму} 

 Then  

   Begin 

      Max:=y;

      Min:=x;

   end 

 Else 

   Begin 

      Max:=x;

      Min:=y;

   End;

 Rezultat:=sqr(Max)-sqr(Min);

 Writeln(‘Резудьтат обчислень:  ’,Rezultat:8:2);

 Readkey;      {Затримка зображення на екрані до  

                натискання будь якої клавіші} 

End.

Задача №97(2).
Умова: Дано значення дійсних величин a, b, c. Знайти:

Program Example_97_2;

Uses crt;

Var a,b,c : real;  

   Rez1,Rez2,Min : real; {Rez1, Rez2 – проміжні  

            обчислення; Min – результат виконання програми} 

 Begin 

 Clrscr;          {Очищення екрану} 

 Write(‘Введіть числа a,b,c: ’);

 Readln(a,b,c);

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

 Rez2:=sqrt(1/(sqr(a)+1)+1/(sqr(b)+1)+1/(sqr(c)+1));

 If Rez1Then Min:=Rez1

 Else Min:=Rez2;

 Writeln(‘Min=’,Min:8:2);

 Readkey;       {Затримка зображення на екрані до  

                 натискання будь якої клавіші} 

End.

Задача №100(2).
Умова: Дано значення дійсної величини Х. Визначити:

Для розв'язання цієї задачі необхідно пам'ятати, що ділити на нуль не можна.

Program Example_100_2;

Uses crt;

Var X,Rezultat:real;

Begin 

 Clrscr;          {Очищення екрану} 

 Write(‘Введіть значення X: ’);

 Readln(Х);

 If X*X*X+X-2<>0

 Then 

   begin  

     Rezultat:=(X-5)/(X*X*X+X-2);

     Writeln(‘Rezultat=’,Rezultat:8:2);

   end 

 Else 

   Writeln(‘Обчислення неможливі – ділення на нуль!’);

 Readkey;      {Затримка зображення на екрані до  

                натискання будь якої клавіші} 

End.

Задача №101(4).
Умова: При даному значенні Х обчислити:

Для розв'язання цієї задачі необхідно пам'ятати, що не можна знайти квадратний корінь з від'ємного числа.

Program Example_101_4;

Uses crt;

Var X,Rezultat:real;

Begin 

 Clrscr;          {Очищення екрану} 

 Write(‘Введіть значення X: ’);

 Readln(Х);

 If (X>=1) and (X*X*X-sqrt(X-1)>=0)

 Then 

   begin  

     Rezultat:=sqrt(X*X*X-sqrt(X-1));

     Writeln(‘Rezultat=’,Rezultat:8:2);

   end 

 Else 

   Writeln(‘Обчислення неможливівідємний  

            підкореневий вираз!’);

 Readkey;     {Затримка зображення на екрані до  

               натискання будь якої клавіші} 

End.

Задача №102(3).
Умова: Дано дійсні значення x та y. Обчислити:

Для розв'язання цієї задачі необхідно виконання умов обох попередній прикладів.

Program Example_102_3;

Uses crt;

Var X,Y,Rezultat:real;

Begin 

 Clrscr;          {Очищення екрану} 

 Write(‘Введіть значення X та Y: ’);

 Readln(Х);

 If (sqr(X)-sqr(Y)<>0) and (X*X*X-Y+0.5>=0)

 Then 

   begin  

     Rezultat:=sqrt(X*X*X-Y+0.5)/(sqr(X)-sqr(Y));

     Writeln(‘Rezultat=’,Rezultat:8:2);

   end 

 Else 

   Writeln(‘Обчислення неможливі!’);

 Readkey;  {Затримка зображення на екрані до  

            натискання будь якої клавіші} 

End.

Задача №107.
За рейтинговою системою оцінка визначається таким чином, якщо сумарний бал учня становить не менше 92% від максимального, то виставляється оцінка 12, якщо не нижче 70%, то виставляється 8, якщо ж не нижче 50%, то оцінка 5, в інших випадках - оцінка 2. Визначте оцінку учня, якщо він набрав
N балів, а максимальне значення сумарного балу становить S.
В цій задачі можна використати повну або скорочену форму команди розгалуження. Вам пропонується розв'язок зі скороченою формою.

Program Example_107;

Uses crt;

Var N,S,Grade:integer; {N – бали, що набрав учень; S  

                       – максимальне значення  

                       сумарного балу; Grade –

                       оцінка учня} 

Begin 

 Clrscr;             {Очищення екрану} 

 Write(‘Введіть максимальне значення сумарного балу,  

       що може набрати учень: ’);

 Readln(S);

 Write(‘Введіть кількість балів, що отримав учень: ‘);  

 Readln(N);

 If (S<=0) or (N<=0) or (N>S)

 Then writeln(‘Помилка вхідних даних.’)   

 Else 

   Begin 

     N:=round(N/S*100); {Знаходження процентного  

                         відношення балів учня до  

                         максимально можливого} 

     If N>=92 then Grade:=12;

     If (N<92) and (N>=70) then Grade:=8;

     If (N<70) and (N>=50) then Grade:=5;

     If (N<50) then Grade:=2;

     Writeln(‘Учень отримав оцінку - ’, Grade);

   End;

 Readkey;        {Затримка зображення на екрані до  

                  натискання будь якої клавіші} 

End.

Задача №103.
Умова: На площині дано дві точки (x1, y1) та (x2, y2). Визначити, яка з них знаходиться далі від початку координат.
Для розв'язання цієї задачі необхідно скористатися теоремою Піфагора для знаходження відстані від початку координат до заданої точки (дивись малюнок):

Очевидно, що відстань від початку координат до точки з координатами (x, y) буде обчислюватись наступним співвідношенням: .
Зверніть увагу на те, що в зв'язку з тим, що кожна з координат в формулі підноситься до квадрату, неважливо, в якій чверті координатної площини буде знаходитись точка.
Виходячи з усього вище сказаного, програма для розв'язання даної задачі має наступний вигляд:

Program Example_103;

Uses crt;

Var X1,Y1,X2,Y2:real; {X1,Y2,X2,Y2 – координати даних  

                      точок} 

   S1,S2:real;     {S1,S2 – відстані відповідно до  

                   першої та другої точки} 

 

Begin 

 Clrscr;          {Очищення екрану} 

 Write(‘Введіть координати першої точки: ’);

 Readln(Х1,Y1);

 Write(‘Введіть координати другої точки: ’);

 Readln(Х2,Y2);

 S1:=sqrt(sqr(X1)+sqr(Y1));

 S2:=sqrt(sqr(X2)+sqr(Y2));

 If S1Then Writeln(‘Друга точка далі від початку координат’)

 Else Writeln(‘Перша точка далі від початку координат’);

 Readkey;       {Затримка зображення на екрані до  

                  натискання будь якої клавіші} 

End.

Задача №112.
Умова: Дано значення дійсних величин a, b, c. Подвоїти ці значення, якщо a >= b >= c, і замінити їх абсолютними значеннями, якщо це не так.
В цій задачі зверніть увагу на дуже поширену помилку: в програмі не можна писати подвійну нерівність, як це робиться в математиці. Тобто, вираз
a >= b >= c в програмі записується як складена умова (a >= b) and (b >= c).

Program Example_112;

Uses crt;

Var a,b,c:real;  

Begin 

 Clrscr;          {Очищення екрану} 

 Write(‘Введіть три числа: ’);

 Readln(a,b,c);

 If (a>=b) and (b>=c)

 Then  

   Begin 

     A:=A*2;

     B:=B*2;

     C:=C*2;

   End 

 Else 

   Begin 

     A:=abs(A);

     B:=abs(B);

     C:=abs(C);

   End;

 Writeln(‘Вихідні значення:’);

 Writeln(‘a=’,a:8:2);

 Writeln(‘b=’,b:8:2);

 Writeln(‘c=’,c:8:2);

 Readkey;     {Затримка зображення на екрані до  

               натискання будь якої клавіші} 

End.

Домашнє завдання:

  •  прочитати сторінки 59 - 65 запропонованого підручника;

задачі №96(2), 97(3), 99, 100(4), 101(5), 102


 

А также другие работы, которые могут Вас заинтересовать

71030. Развитие кадрового потенциала ОАО «ЖТК» 477.5 KB
  Изучить современные научные подходы к проблеме подготовки, переподготовки и повышения квалификации кадров; проанализировать состояние работы по подготовке, переподготовки и повышению квалификации руководителей и специалистов Красноярского филиала ОАО «ЖТК»; выявить проблемы организации процесса подготовки, переподготовки и повышения квалификации руководителей и специалистов Красноярского филиала ОАО «ЖТК»...
71031. Изучение основных принципов работы маршрутизаторов в сетях ЭВМ на основе протокола OSPF 209 KB
  Изучение основных принципов работы маршрутизаторов в сетях ЭВМ на основе протокола OSPF. В результате выполнения лабораторной работы студент получает знания по принципам построения и алгоритмам функционирования маршрутизаторов в сетях ЭВМ и навыки по выбору кратчайших путей в сети на основе протокола OSPF.
71032. Разработка универсальной модульной системы, предназначенной для организации промышленной шины 3.78 MB
  Недостатком промышленной сети является то, что при обрыве кабеля теряется возможность получать данные и управлять не одним, а несколькими устройствами (в зависимости от места обрыва и топологии сети остается возможность автономного функционирования сегмента сети и схемы управления).
71033. Информационно–справочная система архива проектно–сметной документации для Ставропольнефтегаз 16.24 MB
  Непосредственной целью данного дипломного проекта является проектирование и разработка информационно – справочной системы ведения архива проектно – сметной документации, которая будет вести учет проектно – сметной документации.
71035. ВЫБОР РАЦИОНАЛЬНОЙ ДЛИНЫ ПАКЕТА СЕТИ ЭВМ 131.5 KB
  Изучить влияние длины пакета на характеристики сети ЭВМ. Изучить методику расчёта рациональной длины пакета сети ЭВМ. Определить рациональную длину пакета сети ЭВМ. Исследовать зависимость эффективной скорости передачи данных от длины пакета для основного цифрового канала связи и канала связи тональной...
71036. ФУНКЦИОНИРОВАНИЕ МАРШРУТИЗАТОРОВ НА ОСНОВЕ ПРОТОКОЛА СЕТЕВОГО УРОВНЯ OSPF СТЕКА ПРОТОКОЛОВ TCP/IP 197.5 KB
  Изучение основных принципов работы маршрутизаторов в сетях ЭВМ на основе протокола OSPF. В результате выполнения лабораторной работы студент получает знания по принципам построения и алгоритмам функционирования маршрутизаторов в сетях ЭВМ и навыки по выбору кратчайших путей в сети на основе протокола OSPF.
71037. Повірка вольтметра, амперметра і лічильника електричної енергії 258 KB
  В електронних лічильниках напруга і струм перетворюються у імпульси які перемножуються інтегруються в часі так що їх кількість пропорційна спожитій електроенергії. Дійсна стала лічильника Номінальна стала лічильника це кількість електроенергії у ватсекундах яка відповідає вказаному на лічильнику передаточному числу...
71038. Дослідження однофазного трансформатора 871.5 KB
  Вивчити будову і дослідити роботу трансформатора в режимах холостого ходу короткого замикання і під навантаженням. Механічним аналогом трансформатора може бути редуктор.1 зображені функціональні схеми трансформатора і редуктора. До трансформатора від джерела електричної енергії підводиться потужність...