Основные математические функции.



Урок 1. Основные алгоритмические конструкции (повторение)

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

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

Система команд исполнителя – набор команд исполнителя.

Программа – последовательность команд, исполнителем которой является компьютер.

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

СЛЕДОВАНИЕ     

ВЕТВЛЕНИЕ

ПОВТОРЕНИЕ (ЦИКЛ)

Алгоритмическая конструкция СЛЕДОВАНИЕ

Блок-схема

                                                                

Общий вид программы Program ‹имя программы›; Uses раздел подключения модулей; Var раздел описаний; В egin операторы Е nd . Замечание. Первая строка (заголовок программы) не является обязательной
Раздел описаний Var имя переменной : тип переменной;
Типы данных integer – целые; real – вещественные; boolean – логические
Команды вывода write (список вывода); write (‘Текстовая информация’); writeLn (список вывода);
Команды ввода read (список вывода); readLn (список вывода);
Команда присваивания := Имя переменной := выражение;

Арифметические операции

Операция Название Пример
+ Сложение a + b
Вычитание; изменение знака a – b;      – а
* Умножение a * b
/ Деление a / b (тип real)!
div Деление нацело а div b (тип integer)!
mod Остаток от деления a mod b (тип integer)!

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

Var a, b, c, P: integer;

Begin

writeLn('Введите значения длин сторон треугольника');

readLn (a,b,c);

P:=a+b+c;

writeLn('Периметр треугольника равен ',P);

End.

î Проверь себя:

Пример ввода 4 7 9
Результат 20

Пример 2. Составить программу, которая вычисляет значение выражения:

Вариант 1 Вариант 2
 .    .  

J Подсказка учителя J

1.writeLn('a=',a); 2.write('Введите значение x='); 3.End. 4.Var x,a:real; 5.Begin 6.a:=2*x/(x*x+4); 7.read(x); 1.y:=(abs(z)-3*z)/7; 2.writeLn('y=',y); 3.Var z,y:real; 4.End. 5.write('Введите значение z='); 6.Begin 7.read(z);
î Проверь себя:
Пример ввода 2
Результат 0,5
î Проверь себя:
Пример ввода – 8,5
Результат 4,857…

: Упражнения.

1. Ежедневно в зоопарке горилла получает 3 банана, шимпанзе - 2 банана, лемур 1 банан. Составить программу, определяющую, сколько бананов требуется в день, если в зоопарке живут G горилл, S шимпанзе, L лемуров. Значения переменных G, S , L  введите с клавиатуры.

2. Составьте программу подсчёта количества часов, минут и секунд в данном числе суток. Число суток введите с клавиатуры.

3. Заданы 3 числа. Напишите программу для нахождения среднего арифметического этих чисел.

4. Заданы 2 числа. Напишите программу для нахождения частного от деления первого числа на второе и округлите результат до ближайшего целого.

5. В среднем человек выделяет в день 5 миллилитров слёз. Сколько литров слёз наберётся за N лет? Значение переменной N введите с клавиатуры.

? Домашнее задание : §13, упр. 2 (1 столбик), упр. 4 ?

Урок 2. Простые и составные условия. Логический тип данных. Оператор ветвления

Высказывание – это повествовательное предложение (утверждение), о котором можно сказать, истинно оно или ложно.

Простое условие – два выражения, связанные одним из знаков:

Операция PascalABC
Равно (=) =
Не равно (≠) <>
Больше (>) >
Меньше (<) <
Больше или равно (≥) >=
Меньше или равно (≤) <=

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

Например:

Условие Запись на языке Pascal Вид условия
Число х – отрицательное x < 0 простое
Число х – чётное x mod 2 = 0 простое
Число х – нечётное x mod 2 <> 0 простое
1≤х≤10 (x>=1) and (x<=10) составное
х≠7 x<>7 простое
Числа х и у­ - положительные (x>0) and (y>0) составное
Среди чисел х, у, z число х - самое большое (x>y) аnd (x>z) составное

 

Простые и составные условия называются также логическими выражениями.

Тип

Длина Диапазон значений
boolean логический 1 байт True, False
       

 

Составной оператор – последовательность команд, заключенная в операторные скобки begin и   end .

Например :

if x>y then

begin Max:=x; Min:=y end

else

begin Max:=y; Min:=x end;

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

а) полная форма б) сокращенная форма
if условие then оператор 1 else оператор 2; if условие then оператор 1;

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

1-й способ 2-й способ
Var x:integer; Begin writeLn ('Введите х= '); reаdLn (x); if x mod 2=0 then writeLn ('Да') else writeLn ('Нет'); Е nd. Var x:integer; а:boolean; Begin writeLn ('Введите х= '); readLn (x); a:=x mod 2=0; writeLn ('Число чётное - ',а); Е nd.

 

Пример 2. В PascalABC определена логическая функция odd ( x ). Значение этой функции true, если число х является нечётным, и false, если х - чётное. Измените программу предыдущего примера (2-й способ), используя функцию odd(x).

: Упражнения.

1. Составьте программу, которая запрашивает возраст человека и определяет, является ли этот человек школьником (школьником считать человека в возрасте от 6 до 17 лет включительно).

2. Составьте программу, которая запрашивает целое число х и определяет, является ли это число двузначным.

? Домашнее задание : §15, упр. 4      ?

Урок 3. Оператор ветвления

Пример 1. Составьте программу, которая запрашивает номер месяца и выводит на экран название поры года.

Var N : integer;

Begin

writeLn('Введите номер месяца: ');

readLn (N);

if (N=12) or (N=1) or (N=2)

then writeLn('Зима');

if (N>=3) and (N<=5)     это значит

then WriteLn('Весна');

//...(лето добавьте самостоятельно J )

End.

î Проверь себя:

Пример ввода 2 5 8
Результат Зима Весна Лето

 

Пример 2. Дано целое число N – номер дня недели. Определите, является ли этот день выходным или будним днем (выходным считать субботу и воскресенье, т. е. дни с номерами 6 и 7)

J Подсказка учителя J

Вариант 1 Вариант 2
если N равен 6 или N равен 7 то вывести «выходной» иначе вывести «рабочий день» если то вывести «рабочий день» иначе вывести «выходной»

 

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

J Подсказка учителя J

...

readLn (R1,R2,R3);

if (R1>R2) and (R1>R3)

   then writeLn('Самый высокий рост: ',R1);

if (R2>R1) and (R2>R3)

   then writeLn('Самый высокий рост: ',R2);

...

: Упражнения.

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

2. На круизном пароме стоимость завтрака для взрослых (18 лет и старше) составляет 10 евро, для подростков (12-17 лет) - 6 евро, для детей (6 -11 лет) - 4 евро, для детей младше 6 лет - бесплатно. Составьте программу, которая запрашивает возраст пассажира и выводит на экран стоимость завтрака.

? Домашнее задание : §16.1, упражнение Ê    ?

Составьте программу, которая запрашивает t – время в часах (целое от 0 до 24) и выводит на экран название времени суток: "Ночь", если 0<= t <6; "Утро", если 6<= t <12; "День", если 12<=t <18; "Вечер" если, 18<= t <=24.

 

Урок 4. Оператор цикла с предусловием

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

Последовательность повторяемых действий называется телом цикла.

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

 

Цикл с предусловием (цикл « While »)
while условие do тело цикла;

 

Команды цикла выполняются многократно до тех пор, пока условие истинно.

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

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

Задание 1. Разберите работу программы:

Var x,y:integer;

Begin

x:=1;

while x<5 do

Begin

y:=x*x;

writeLn(x,’ ’,y);

x:=x+1;

end;

End.

Задание 2. Установите взаимно-однозначное соответствие.

1 x:=1; while x<10 do writeLn(x); A Тело цикла не выполнится ни разу
2 x:=1; while x=1 do begin writeLn(x); x:=x+1; end; Б Тело цикла будет выполнено 10 раз
3 x:=1; while x<10 begin writeLn(x); x:=x+1; end; В Тело цикла будет выполнено 1 раз
4 x:=1; while x<0 do begin writeLn(x); x:=x-1; end; Г Тело цикла будет выполняться бесконечно
5 x:=1; while x<=10 do begin writeLn(x); x:=x+1; end; Д Появится сообщение об ошибке

: Упражнения.

1. Составьте программу, выводящую на экран числа от 1 до 10 в одну строку через пробел.

2. . Составьте программу, выводящую на экран числа от 10 до 1 в одну строку в порядке убывания.

3. Составьте программу, выводящую на экран нечётные числа от 11 до 31.

4. Составьте программу, выводящую на экран все числа от -10 до 10, а также их модули:

–10 10

–9   9

...

9 9

 10 10

? Домашнее задание : выучить конспект; упражнения Ê      ?

1. Составьте программу, выводящую на экран чётные числа от 8 до 40.

2. Составьте программу, выводящую на экран числа от 1 до 10, а также квадраты этих чисел в следующем виде: 1 1

2 4 

...

10 100

Урок 5. Оператор цикла с параметром

Цикл с повторением используется в том случае, когда известно количество повторений.

Цикл с повторением (цикл « For »)

For i:=A to B do тело цикла ; For i:=A downto B do тело цикла ;
Если начальное значение параметра цикла больше конечного значения (А> B), то тело цикла не выполнится ни разу. Если начальное значение параметра цикла больше конечного значения (А< B), то тело цикла не выполнится ни разу.

Примечание:

i – переменная целого типа (параметр цикла);

А – начальное значение, В – конечное значение параметра цикла;

тело цикла – простой или составной оператор.

Пример 1 (Устно). Определите, сколько раз выполнится тело цикла:

For x:=2 to 7 do write('*');
for x:=3 to 3 do write('*');
for x:=5 to 2 do write('*');
for x:=5 downto 2 do write('*');
for x:=10 downto 4 do write('*');

Пример 1. Составить программу, которая напечатает столбиком:

а) все целые числа от 20 до 35 b) все целые числа от 20 до 35 в обратном порядке

J Подсказка учителя J

Program а; uses CRT; var i:integer; Begin for i:=20 to 35 do writeLn(i); E nd. Program b; uses CRT; var i:integer; Begin for i:=35 downto 20 do writeLn(i); End.

 

Пример 2. Составьте программу, которая запрашивает стоимость 1 кг киви и выводит на экран стоимость 1, 2, 3, ...,10 кг киви.

J Подсказка учителя J

//...  

writeLn('Введите стоимость 1 кг киви');

readLn(N);

for i:=1 to 10 do writeln('Стоимость ',i,' кг киви = ', i*N );

//...

î Проверь себя:

Пример ввода 3,5
Результат Стоимость 1 кг киви = 3,5 Стоимость 2 кг киви = 7 Стоимость 3 кг киви = 10,5 ….. Стоимость 10 кг киви = 35

: Упражнения.

1. Составьте программу, которая 13 раз выводит на экран фразу «Цвет настроения …».

2. Составьте программу, которая выводит на экран в столбик в обратном порядке квадраты всех чисел от 15 до 33.

? Домашнее задание : §17.2, упр.9 (стр.88) ?

 

Урок 6. Графические возможности среды программирования PascalABC. Работа со справочной системой среды программирования

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

В языке программирования каждая из этих фигур рисуется своей командой. Для того, чтобы в Паскале использовать команды рисования, необходимо подключить дополнительный модуль с командами (процедурами) рисования, после строки program набрать uses GraphABC;

 

Program …;

uses GraphABC;

Begin

End.

Положение фигур задается координатами в графическом окне. Началом координат является верхний левый угол графического окна – точка (0;0)

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

Отсчет значений координаты х происходит слева направо, а координаты усверху вниз.

По умолчанию создается графическое окно размером 640х480 пикселей.

Пример 1. Познакомьтесь со справочной системой PascalABC: откройте справочную систему: Помощь ® Содержание ® ­ Стандартные модули ® модуль GraphABC.

Пример 2. Разберите программу рисования отрезка:

Uses GraphABC; // подключение модуля GraphABC

Begin

SetWindowSize(600,400); // ширина и высота графического окна

SetPenColor(clRed);  // устанавливается красный цвет пера

SetPenWidth(5);  // устанавливается ширина пера 5 пикселей

Line(10,20,10,100);                    //рисуется отрезок

End.

Пример 3. Нарисовать синим, желтым и зеленым стороны треугольника и закрасить красным цветом сам треугольник.

Uses CRT,GraphABC;

Begin

SetPenColor(clBlue);

SetPenWidth(7);

MoveTo(100,50);

LineTo(400,100);

//...(самостоятельно J )

FloodFill(130,70,clred);

E nd.

 

В команде FloodFill достаточно указать любую точку внутри треугольника и цвет заливки.

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

Uses CRT,GraphABC;

Begin

Circle(250,125,30);

Rectangle(100,200,400,450);

Ellipse(100,200,400,450);

Line(450,50,550,350);

End.

: Упражнения.

1. Составить программу, которая рисует фиолетовый прямоугольник с желтой контурной линией толщиной 9 пикселей и ярко-зеленый круг с красной контурной линией толщиной 6 пикселей.

2. Составьте программу для рисования домика.

       

? Домашнее задание : §14 (стр.65-68), упр. 4 (одно на выбор)  ?

Урок 7. Составление алгоритмов для работы с графикой

В графическом режиме PascalABC можно выводить в графическое окно тексты и числа.

Команда TextOut ( x , y , z ) – выводит строку или число z в прямоугольник с координатами левого верхнего угла (х,у).

Если нужно вывести строку, то ее символы заключают в кавычки.

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

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

Команды для изменения параметров текста смотри в Справочных материалах.

Пример 1. Разберите программу и выполните ее на компьютере.

Uses CRT,GraphABC;

Begin

// цвет фона для текста

SetBrushColor(clYellow);

SetFontName(‘Comic Sans MS’);

// цвет букв

SetFontColor(clBlue);

// размер шрифта

SetFontSize(25);

// полужирный шрифт

SetFontStyle(fsBold);

TextOut(20,30,’Ученье – ’);

SetBrushColor(clLime);

SetFontName(‘Monotype Corsiva’);

SetFontSize(50);

SetFontStyle(fsUnderline);

TextOut(120,130,’СВЕТ!’);  

//прозрачный фон

SetBrushStyle(bsClear);

SetFontName(‘Tahoma’);

SetBrushColor(clSilver);

SetFontSize(20);

SetFontStyle(fsItalic);

TextOut(400,130,’PascalABC’);

End.

: Упражнения.

1. Составьте программу для рисования светофора. Сделайте надпись «Соблюдайте правила дорожного движения!»

2. Составьте программу для рисования улитки. Сделайте надпись «Тише едешь – дальше будешь!»

? Домашнее задание : повторить §15, 16.1, упражнение Ê ?

На одном экране нарисовать и закрасить разными цветами квадрат, круг, линию, треугольник с контурами различной толщины.

 

Урок 8. Составление алгоритмов для работы с графикой с использованием алгоритмической конструкции «ветвление»

Пример 1. Разберите и выполните на компьютере программу, которая запрашивает цифру

 (1 или 2) и рисует красный круг, если введена цифра 1, или желтый круг, если введена 2.

Program KRUG;

Uses CRT,GraphABC;

Var n :integer;

Begin

SetWindowSize(800,600);

writeLn('Введите цвет (1 - красный, 2 - желтый): ');

readLn (n);

if n=1

then SetBrushColor(clRed)

else SetBrushColor(clYellow);

circle(400,300,100);

End.

 

î Проверь себя:

    

Пример 2. Составьте программу, которая запрашивает цифру (от 1 до 3) и рисует эту цифру в графическом окне.

J Подсказка учителя J

Program chislo;

Uses CRT,GraphABC;

Var n :integer;

Begin

SetWindowSize(300,400);

writeLn('Введите цифру от 1 до 3 : ');

readLn (n);

if n=1

Then

Begin

MoveTo(100,200);

LineTo(200,100);

LineTo(200,300);

End;

//...(цифры 2 и 3 добавьте самостоятельно J )

End.

Пример 2. Дополните предыдущую программу цветовыми решениями (цвет и толщина линий).

: Упражнения.

1. Составьте программу, которая запрашивает показания температуры t и рисует снежинку, если t<=0, или солнышко, если t>0.

Например:

 

            

 

? Домашнее задание : §16, упр.5 ?

 

Урок 9. Составление алгоритмов для работы с графикой с использованием алгоритмической конструкции «повторение»

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

Program KVADR;

Uses CRT,GraphABC;

 Var x, y :integer;

Begin

SetWindowSize(600,200);

SetPenColor(clRed);

SetPenWidth(5);

SetBrushColor(clYellow);

x:=50;

y:=50;

while x <= 550 do

Begin

rectangle(x,y,x+50, y+50);

x:=x+100;

sleep(100);

end;

End.

Пример 2. Составьте программу построения концентрических окружностей, вписанных в поле размером 600х600, с центрами в точке (300,300) и радиусами 50, 60, 70,… и т.д.

J Подсказка учителя J

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

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

Program KRUGI;

Uses CRT,GraphABC;

Var i, n, x, y, r :integer;

Begin

SetWindowSize(800,600);

writeLn('Введите количество кругов: ');

readLn (n);

SetBrushColor(clRed);

r:=30;

x:=r;

y:=150;

for i:=1 to n do

Begin

circle(x,y,r);

x:=x+2*r;

end;

End.

: Упражнения.

1. Составьте программу роста закрашенного круга с радиуса r=10 до размеров поля (600х600).

2. Составьте программу рисования квадратов, расположенных вертикально друг под другом или по диагонали.

          

 

? Домашнее задание : §17, упр.1 (п.2) ?

Справочные материалы

Основные математические функции.


Дата добавления: 2019-02-26; просмотров: 1440; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!