Методическое пособие для 9 классов Составители

Вид материалаМетодическое пособие

Содержание


1.1. Запишите по правилам алгоритмического языка выражения
1. если—то (неполная форма ветвления)
Program PV1
Program PV3
Program PV5
Else begin end; End
Program PV6
3..5 : writeln ('Весна ')
9..11 : writeln ('Осень')
Самостоятельная работа № 2 по теме
Подсчитать количество положительных чисел среди чисел a,b,c.
Подобный материал:
1   2   3   4

1.1. Запишите по правилам алгоритмического языка выражения:


a)



e)



б)



ж)



в)



з)



г)



и)



д)



к)



1.2.2. Разветвляющийся алгоритм

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

Школьный алгоритмический язык

Язык блок-схем

Язык программирования Pascal




1. если—то (неполная форма ветвления)




если условие

  то действия

все





Условный оператор:


IF <логическое выражение> THEN оператор; {неполная форма ветвления};




Пример программы №2

Составить программу определения частного двух чисел


Program PV1;

var

a,b,c: real;

begin

write ('a='); readln (a);

write ('b='); readln (b);

if b<>0 then

begin

c:=a/b;

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

End;

Readln; End.



Если после команды then более

одной команды вводят операторные

скобки

(Begin end;).






2.если—то—иначе (полная форма ветвления)






если условие

  то действия 1

  иначе действия 2

все





IF < логическое выражение> THEN оператор 1 ELSE оператор 2;

{полная форма ветвления};




Пример программы №3

Составить программу определения частного двух чисел

Program PV3;

var

a,b,c: real;

begin

write ('a='); readln (a);

write ('b='); readln (b);

if b<>0 then

begin

c:=a/b;

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

end

else

Writeln (‘NO’, ‘ ’ , ‘b=0!!!’ );

Readln;

End.

Пример программы №4

Составить программу сравнения двух чисел

Program PV4;

var

a,b,: real;

begin

write ('a='); readln (a);

write ('b='); readln (b);

if a=b then Writeln (a,’=’,b)

else if a < b then Writeln (a,’<’,b )

else Writeln (a,’>’,b ); Readln;

End.


Пример программы №5

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


Program PV5;

uses var a,b,c:integer;

x1,x2,d:real;

begin

writeln ('Введите коэффициенты уравнения целые числа a,b,c:'); readln(a,b,c);

if a=0 then writeln('уравнение не квадратное') else

 begin

d:=b*b-4*a*c;

if d<0 then writeln('уравнение не имеет действительных корней')

else if d=0 then

begin

x1:=-b/(2*a);

writeln('x1=x2=',x1:0:2);

end

else if d>0 then

begin

x1:=(-b-sqrt(d))/(2*a);

x2:=(-b+sqrt(d))/(2*a);

   writeln('x1=',x1:0:2,'  x2=',x2:0:2);

  end;

 end;

readln;

end.



if условие1 then
   if условие2 then оператор1
   else оператор2


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

if условие1 then
begin
if условие2 then оператор1
end
else оператор2


 Например:

if amin := a
else min := b;


 Если используется оператор полного ветвления, то после

(Begin end else),

перед else ; не ставится!


 





  1. выбор


выбор

  при условие 1: действия 1

  при условие 2: действия 2

  . . . . . . . . . . . .

  при условие N: действия N

все



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

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

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

Case k of

K1: begin <серия команд1>end;

K2: begin <серия команд2>end;



KN: begin <серия команд N>end;

End;



  1. выбор — иначе


выбор

  при условие 1: действия 1

  при условие 2: действия 2

  . . . . . . . . . . . .

  при условие N: действия N

  иначе действия N+1

все



Case k of

K1: begin <серия команд1>end;

K2: begin <серия команд2>end;



KN: begin <серия команд N>end;

Else begin <серия команд N+1>end;

End;

Пример программы №6

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

Program PV6;




var




mont: integer;

{Номер месяца}

begin




writeln ('Введите номер месяца 1-12'); readln (mont);




case mont of

Вариант из

1,2,12: writeln ('Зима');

1,2,12: вывести ('Зима');

3..5 : writeln ('Весна ');

3..5 : вывести ('Весна ');

6..8 : writeln ('Лето');

6..8 : вывести ('Лето');

9..11 : writeln ('Осень');

9..11 : вывести ('Осень');

else writeln ('Внимание! Число не входит в диапазон 1..12')


Иначе вывести

(Внимание!

Число не входит в диапазон 1..12)

end;

readln;




end.















Самостоятельная работа № 2 по теме:

«Составление алгоритмов разветвляющихся структур»

Задание: «Представить решения задач в соответствии с обобщенной схемой алгоритма обработки данных»
  1. Даны три действительных числа. Возвести в квадрат те из них, значения которых отрицательны, а в 4 степень те, которые положительны.
  2. Даны две точки A(x1,y1) и В(x2,y2). Составить алгоритм, определяющий, которая из точек находится ближе к началу координат.
  3. Даны два треугольника в (градусах). Определить, существует ли такой треугольник. Если да, то будет ли он прямоугольным.
  4. Даны действительные числа x и y, не равные друг другу. Меньшее из этих двух чисел заменить половиной их суммы, а большее их удвоенным произведением.
  5. Определить какая из фигур круг или квадрат имеет большую площадь. Известно, что сторона квадрата равна а, радиус круга r . Вывести на печать название и значение площади большей фигуры.
  6. Определить, попадает ли точка М (х,у) в круг радиусом r с центром в начале координат.
  7. Даны три числа а, в, с. Найти наибольшее среди них.
  8. Даны целые числа m, n. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями.
  9. Определить является ли треугольник со сторонами a,b,c равносторонним.
  10. Подсчитать количество положительных чисел среди чисел a,b,c.