Основные математические функции.
Урок 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); | ||||||||
î Проверь себя:
| î Проверь себя:
|
: Упражнения.
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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!