Автор admin Просмотров 17.3к. Обновлено 26 сентября 2021
Дана следующая функция y=f(x):
y = 2x — 10, если x > 0
y = 0, если x = 0
y = 2 * |x| — 1, если x < 0Требуется найти значение функции по переданному x.
- Получить с клавиатуры значение x.
- Если x больше 0, то вычислить выражение 2*x-10, результат присвоить переменной y.
- Иначе если x равен 0, то присвоить y значение 0.
- Иначе присвоить y результат выражения 2*|x|-1.
- Иначе если x равен 0, то присвоить y значение 0.
- Вывести значение y на экран.
Pascal
Язык Си
Python
КуМир
Basic-256
На занятии будет объяснен алгоритм работы с функциями на Паскале, рассмотрены стандартные функции. Будут разобраны примеры использования функций с параметрами и без параметров.
Содержание:
- Стандартные функции языка Pascal
- Арифметические функции (основные)
- Функции преобразования типов
- Пользовательские функции Pascal
- Самостоятельная работа
Арифметические функции (основные)
Функция | Назначение | Тип результата |
---|---|---|
abs (x) | абсолютное значение аргумента | совпадает с типом аргумента |
sqr (x) | квадрат аргумента | совпадает с типом аргумента |
sqrt (x) | квадратный корень аргумента | вещественный |
cos (x) | косинус аргумента | вещественный |
sin (x) | синус аргумента | вещественный |
arctan (x) | арктангенс аргумента | вещественный |
exp (x) | ex | вещественный |
ln (x) | натуральный логарифм | вещественный |
int (x) | целая часть числа | вещественный |
frac (x) | дробная часть числа | вещественный |
Функции преобразования типов
round (x) | — округляет вещественное число до ближайшего целого. |
trunc (x) | — выдает целую часть вещественного числа, отбрасывая дробную. |
Пользовательские функции Pascal
Функция в Паскале — это подпрограмма, которая в отличие от процедуры всегда возвращает какое-либо значение. Для этого в теле функции её имени присваивается вычисленное значение — результат, который она возвращает.
- Функция – это подпрограмма, результатом работы которой является определенное значение.
- Функции используются для:
- выполнения одинаковых расчетов в различных местах программы;
- для создания общедоступных библиотек функций.
- Синтаксис:
- заголовок начинается служебным словом
function
- описание формальных параметров (тех, значения которых передаются из основной программы в функцию):
- параметры-переменные — параметры, значения которых становятся доступны и в основной программе (возвращаются в программу)
- тип возвращаемого функцией результата описывается в конце заголовка функции через двоеточие:
- Вызывается функция в теле основной программы, только если ее имя фигурирует в каком-либо выражении. В отличие от процедуры, которая вызывается отдельно.
- Внутри функции можно объявлять и использовать локальные переменные:
- значение, которое является результатом, записывается в переменную, имя которой совпадает с названием функции; объявлять ее НЕ НАДО:
Рассмотрим синтаксис:
var …;{объявление глобальных переменных} function название (параметры): тип результата; var…; {объявление локальных переменных} begin … {тело функции} название:=результат; {результат вычислений всегда присваивается функции} end; begin … {тело основной программы} end.
Пример: написать функцию, которая вычисляет наибольшее из заданных двух значений
Решение:
Вызов функции:
PascalABC.NET
:
Правила описания функции:
1. Мы должны написать тип значения, которое возвращает функция.
2. Переменная Result
хранит результат функции.
function f(x: real): real; begin Result := x * x + 1; end;
Вызов функции стоит в выражении:
// основная программа begin var x := 5; var r := Sqrt(x) + f(x); end.
Задача function 0. Написать функцию, которая вычисляет наибольшее из заданных трех значений. Функция с тремя параметрами.
✍ Пример результата:
Введите три числа: 4 1 6 наибольшее = 6
Пример: Написать функцию на Паскале, которая складывает два любых числа
✍ Пример результата:
первое число: 2 второе число: 5 сумма = 7
✍ Решение:
1 2 3 4 5 6 7 8 9 10 11 12 |
var x,y:integer; function f(a,b:integer):integer; begin f:= a+b; end; begin writeln('первое число:'); readln(x); writeln('второе число:'); readln(y); writeln('сумма= ',f(x,y)); end. |
В рассмотренном примере использования функции в Паскале: функция f
имеет два целочисленных параметра — a
и b
. Через двоеточие в заголовке функции (строка 2) указано, что значение, вычисляемое функцией, будет тоже целочисленным. В теле функции вычисляемая сумма присваивается имени функции. А в основной программе вызов функции осуществляется в качестве параметра оператора writeln
.
Таким образом, главное отличие функции от процедуры — это то, что функция производит какие-либо вычисления и выдает в программу результат в виде значения, в то время как процедура чаще всего выполняет какие-либо действия с результатом, например, выводит его на экран (функция этого делать не может).
Задача function 1. При помощи функции найти среднее арифметическое двух чисел (функция с двумя параметрами).
✍ Пример результата:
Введите два числа: 4 7 среднее арифметическое = 5,5
Пример: Составить программу с функцией для вычисления факториала числа.
Показать решение:
Pascal | PascalABC.NET | ||||
|
|
В рассмотренном примере функция имеет один параметр — a
. Вычисляемое функцией значение имеет целочисленный тип, это указывается в заголовке функции (строка 2). В теле функции в цикле for
вычисляется факториал числа. Результат вычисления присваивается имени функции (строка 9). В теле программы для вывода результата функции она вызывается в операторе writeln
(строка 14), который и выводит результат на экран.
PascalABC.NET
:
Короткое определение функции:
function Sq(x: real) := x * x + 1; begin var x := 10; var r := Sq(x) + Sq(2) end.
Короткая запись
Если тело функции состоит только из одного оператора, PascalABC.NET позволяет использовать при описании сокращенный синтаксис, без ключевых слов begin
и end
:
1 2 3 4 5 6 |
## function SumXY(x,y: real) := x + y; // основная программа begin Print (SumXY(9,2)); //11 end; |
Задача function 2. Составить функцию, которая определяет сумму всех чисел от 1 до N и привести пример ее использования. N — параметр функции.
Пример:
Введите число: 100 сумма = 5050
Задача function 3. Составить функцию, которая определяет, сколько зерен попросил положить на N-ую клетку изобретатель шахмат (на 1-ую – 1 зерно, на 2-ую – 2 зерна (в два раза больше предыдущего результата), на 3-ю – 4 зерна, на 4-ю – 8 зерен…). N
— параметр функции.
Пример:
Введите номер клетки: 28 На 28-ой клетке 134217728 зерен.
Задача function 4. Описать функцию IsDigit(A)
, которая возвращает истину, если целое число A
представляет цифру (то есть A
лежит в диапазоне 0–9). В основной программе вывести значение этой функции для N
(N ≥ 0) данных чисел.
Пример:
Введите N: 3 Введите число: 2 >>> true Введите число: 34 >>> false Введите число: 4 >>> true
Задача function 5. Вычисление степени числа с помощью функции на языке Паскаль.
Пример:
Введите число: 3 Введите степень числа: 2 Результат 3^2 = 9
Задача function 6. Описать функцию Calc(A, B, Operation)
вещественного типа, выполняющую над ненулевыми вещественными числами A
и B
одну из арифметических операций и возвращающую ее результат. Вид операции определяется целым параметром Operation
: 1
— вычитание, 2
— умножение, 3
— деление, остальные значения — сложение. С помощью Calc
выполнить для данных A
и B
операции, определяемые данными целыми N1
, N2
, N3
.
Пример:
Введите два числа: 5 7 Введите номер операции (1 — вычитание, 2 — умножение, 3 — деление, остальные значения — сложение): 2 Результат 5*7 = 35
* Из задачника М. Э. Абрамян (Proc22)
Самостоятельная работа
1 вариант: Описать функцию CircleS(R)
вещественного типа, находящую площадь круга радиуса R
(R
— вещественное). С помощью этой функции найти площади трех кругов с данными радиусами. Площадь круга радиуса R вычисляется по формуле S=π∗R2
. В качестве значения Пи использовать 3.14
.
* Из задачника М. Э. Абрамян (Proc18)
Пример:
Введите радиус: 5.2 Площадь круга = 16,328 ___ Введите радиус: 6.3 Площадь круга = 19,782 ___ Введите радиус: 7.1 Площадь круга = 22,294
2 вариант: Описать функцию TriangleP(a, h)
, находящую периметр равнобедренного треугольника по его основанию a
и высоте h
, проведенной к основанию (a
и h
— вещественные). С помощью этой функции найти периметры трех треугольников, для которых даны основания и высоты (периметр = сумме длин всех сторон). Для нахождения боковой стороны b
треугольника использовать теорему Пифагора: b2=(a/2)2+h2
.
* Из задачника М. Э. Абрамян (Proc20)
Пример:
Введите основание треугольника: 6 Введите высоту треугольника: 5 Периметр треугольника = 17,83095 ___ Введите основание треугольника: ... Введите высоту треугольника: ... Периметр треугольника = ... ___ Введите основание треугольника: ... Введите высоту треугольника: ... Периметр треугольника = ...
Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:
Двадцать первое задание из ЕГЭ по информатике — довольно серьёзно задание, которое требует понимания основ программирования и использования функций.
Все сегодняшние задачи из ЕГЭ по информатике будем рассматривать на языке программирования Паскаль.
Что такое Функция в языке программирования Паскаль ?
Функция – это подпрограмма, результатом работы которой является определенное значение.
Рассмотрим пример функции, которая суммируем два числа!
var a, b, summa: integer; // Функция, которая суммирует два числа. function F(x:integer; y:integer):integer; begin F := x + y; end; BEGIN Readln(a); Readln(b); summa := F(a, b); WriteLn(summa); END.
Здесь функция F, которая суммирует два числа.
В главной часте программы, которая заключена между BEGIN и END, запрашиваются два числа с клавиатуры: a и b! Эти два числа передаются в функцию F. В функции эти числа кладутся в локальные переменные x и y. Переменные x и y суммируются, и результатом работы функции будет сумма переменных a и b.
Результат работы функции будет помещён в переменную summa (В строке summa := F(a, b)).
Таким образом, в переменной summa будет сумма двух переменных a и b.
Значение, которое вернёт функция, указано в строчке F := x + y;
Функции позволяют сократить программный код для однотипных расчётов.
Отличие функций от процедур в языке программирования Паскаль заключается в том, что функция возвращает значение, которое можно присвоить переменной, а процедура — нет.
Функции так же могут попасться и в 11 задании из ЕГЭ по информатике, поэтому понимание функций очень важно на экзамене по информатике.
Тренировочные задачи 21 задания из ЕГЭ по информатике
Задача (стандартная)
Определите, при каком наименьшем значении b в результате выполнения следующего алгоритма будет напечатано число 100 (Для Вашего удобства алгоритм представлен на пяти языках):
Бейсик | Паскаль |
---|---|
DIM A, B AS INTEGER INPUT B A = 0 WHILE F(A) < B A = A + 1 WEND PRINT A FUNCTION F(x) DIM I, S, AS INTEGER S = 0 I = 1 WHILE I <= x S = S + 5 I = I + 1 WEND F = S END FUNCTION |
var a, b :integer; function F(x :integer): integer; var i, s : integer; begin s := 0; i := 1; while i <= x do begin s := s + 5; i := i + 1; end; F := s end; BEGIN readln(b); a := 0; while F(a) < b do a := a + 1; write(a); END. |
C++ | Алгоритмический язык |
#include using namespace std; long F(long x) { long i, s; s = 0; i = 1; while(i <= x) { s = s + 5; i = i + 1; } return s; } int main() { int a, b; cin >> b; a = 0; while (F(a) < b) a = a + 1; cout << a << endl; return 0; } |
алг нач цел a, b ввод b a := 0 нц пока F(a) < b a := a + 1 кц вывод a кон алг цел F(цел x) нач цел i, s s := 0 i := 1 нц пока i <= x s := s + 5 i := i + 1 кц знач := s кон |
Python | |
def F(x) s = 0 i = 1 while i <= x: s = s + 5 i = i + 1 return s b = int(input()) a = 0 while F(a) < b: a = a + 1 print(a) |
Решение:
Чтобы программа напечатала число 100, в переменной a по окончанию программы должно быть число 100.
Переменная a увеличивается в цикле while, т.е. пока значение функции F(a) меньше того числа, которое пользователь ввёл с клавиатуры (переменной b), Цикл будет прибавлять к переменной a единицу.
В последний раз, когда Цикл while в основной части программы пройдёт проверку (F(a) < b), значение переменной a = 99. Ведь к переменной a прибавится 1 внутри цикла, и как раз, программа напечатает 100.
Найдём, чему будет равно значение функции при последнем проходе Цикла (при a = 99).
Переменная x внутри функции олицетворяет переменную a, которая передаётся в виде аргумента в функцию F.
Тогда и x = 99, следовательно, цикл while (внутри функции) будет повторятся 99 раз. После окончания цикла (внутри функции) в переменной s будет значение s = 0 + 99 * 5 = 495. Это число вернёт функция в виде значения, и это значение будет участвовать в условии цикла while в главной части программы.
Нужно найти наименьшее значение b, чтобы условие 495 < b выполнялось (это будет последний проход ЦИКЛА).
Понимаем, что b = 496.
Ответ: 496.
Потренируемся решать ещё примерные задачи 21 задания из ЕГЭ по информатике.
Задача (закрепление материала)
Определите при каком наименьшем значении b в результате выполнения следующего алгоритма будет напечатано число 20 (для Вашего удобства алгоритм представлен на пяти языках):
Бейсик | Паскаль |
---|---|
DIM A, B AS INTEGER INPUT B A = 0 WHILE F(A) < B A = A + 1 WEND PRINT A FUNCTION F(x) IF x = 0 F = 0 ELSE F = 7 + F(x-1) END IF END FUNCTION |
var a, b : integer; function F(x:integer):integer; begin if x = 0 then F := 0 else F := 7 + F(x-1) end; BEGIN readln(b); a := 0; while F(a) < b do a := a + 1; write(a); END. |
C++ | Алгоритмический язык |
#include using namespace std; long F(long x) { if(x == 0) return 0; else return 7 + F(x - 1); } int main() { int a, b; cin >> b; a = 0; while (F(a) < b) a = a + 1; cout << a << endl; return 0; } |
алг нач цел a, b ввод b a := 0 нц пока F(a) < b a := a + 1 кц вывод a кон алг цел F(цел x) нач если x > 0 то знач := 0 иначе знач := 7 + F(x-1) все кон |
Python | |
def F(x): if x == 0: return 0 else: return 7 + F(x-1) b = int(input()) a = 0 while F(a) < b: a = a + 1 print(a) |
Решение:
Чтобы программа напечатала число 20, нужно, чтобы при последнем проходе цикла while в главной части программы условие F(a) < b было верно при a = 19.
Число 19 передаём в функцию, посмотрим какое значение вернёт функция.
Локальная переменная x после того, как будет запущена функция F, будет равна 19. Условие отработает по ветке else, т.к. 19 неравно 0. Значит функция F запускает ещё раз функцию F но с другим параметром 18 (19 — 1). И т.д., пока параметр передаваемый в функцию не будет равен нулю.
Получается такая картина:
F(19) = F(18) + 7
F(18) = F(17) + 7
F(17) = F(16) + 7
…
F(1) = F(0) + 7
F(0) = 0
При запуске F(19) функция возвращает сумму девятнадцати семёрок. F(19) = 19 * 7 = 133.
Т.е. последний раз, когда выполняется цикл в главной части программы должно выполнится условие 133 < b. Понимаем, что наименьшее значение b должно быть 134.
Ответ: 134
Важный пример для изучения 21 задания из ЕГЭ по информатике.
Задача (Минимум функции)
Определите, какое число будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на пяти языках):
Бейсик | Паскаль |
---|---|
DIM A, B, T, M, R AS INTEGER A = -20: B = 20 M = A : R = F(A) FOR T = A TO B IF F(T) <= R THEN M = T R = F(T) END IF NEXT T PRINT M + 6 FUNCTION F(X) F = (x * x - 16) * (x * x - 16) + 3 END FUNCTION |
var a, b, t, M, R :integer; function F(x:integer):integer; begin F := (x * x - 16) * (x * x - 16) + 3 end; BEGIN a: = -20; b := 20; M := a; R := F(a); for t := a to b do if F(t) <= R then begin M := t; R := F(t); end; write(M + 6); END. |
C++ | Алгоритмический язык |
#include using namespace std; long F(long x) { return (x * x - 16) * (x * x - 16) + 3; } int main() { long a, b, t, M, R; a = -20; b = 20; M = a; R = F(a); for(t = a; t <= b; t++) { if(F(t) <= R) { M = t; R = F(t); } } cout << M + 6 << endl; return 0; } |
алг нач цел a, b, t, M, R a := -20; b := 20 M := a; R := F(a) нц для t от a до b если F(t) <= R то M := t R := F(t) все кц вывод M + 6 кон алг цел F(цел x) нач знач := (x*x - 16) * (x*x - 16) + 3 кон |
Python | |
def F(x): return (x * x - 16) * (x * x - 16) + 3 a = -20; b = 20 M = a; R = F(a) for t in range(a, b+1): if (F(t) <= R): M = t; R = F(t) print(M + 6) |
Решение:
В главной части программы находится цикл FOR. В нём переменная t проходит целые числа от -20 до 20. И эта переменная t является аргументов в функции F.
В теле цикла идёт условие. Это условие ищет наименьшее значение для функции F. Если мы нашли меньшее значение для функции F, чем то значение, которое сейчас считается наименьшим и находится в переменной R, то это значение будет считаться наименьшим.
Таким образом, после прохождения всего цикла, в переменной R будет минимум всей функции F! А в переменной M значение переменной t, при котором этот минимум настаёт.
Чтобы ответить на вопрос задачи, необходимо найти минимум функции F = (x2 — 16) * (x2 — 16) + 3.
Обозначим z = x2 — 16. Тогда функция примет вид F = z2 + 3. Минимум этой функции достигается при z = 0. Значит, x2 — 16 = 0 => (x — 4)(x + 4) = 0. Т.е. минимум функции достигается при двух значениях x = 4, x = -4.
Примечание: Минимум можно искать любым способом, вплоть до нахождения производной!
Т.к. переменная t идёт в цикле FOR от минуса к плюсу, а неравенство внутри цикла нестрогое, то в переменной M будет второе значение (4!) после прохождения всего цикла!
Тогда ответ получается равен 10!
Ответ: 10
Задачи 21 задания из реального ЕГЭ по информатике
Рассмотрим задачи, которые были на реальном экзамене по информатике в 2019 и 2020 годах.
Задача (ЕГЭ по информатике, Москва, 2019)
Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма. Для Вашего удобства программа приведена на четырёх языках программирования.
Бейсик | Python |
---|---|
DIM A, B, T, M, R AS LONG A = -20 : B = 20 M = A : R = F(A) FOR T = A TO B IF F(T) < R THEN M = T R = F(T) END IF NEXT T PRINT M + R FUNCTION F(x) F = 2 * (x * x - 1) * (x * x - 1) + 5 END FUNCTION |
def F(x): return 2 * (x * x - 1) * (x * x - 1) + 5 a = -20 b = 20 M = a R = F(a) for t in range(a, b + 1): if F(t) < R: M = t R = F(t) print(M + 18) |
Паскаль | C++ |
var a, b, t, M, R :integer; function F(x:integer):integer; begin F := 2 * (x * x - 1) * (x * x - 1) + 5 end; begin a := -20; b := 20; M := a ; R := F(a); for t := a to b do if (F(t) < R) then begin M := t; R := F(t) end; write(M + 18) end. |
#include using namespace std; int F(int x) { return 2 * (x * x - 1) * (x * x - 1) + 5; } int main() { int a, b, M, R; a = -20; b = 20; M = a; R = F(a); for(int t = a; t <= b; t++) if(F(t) < R) { M = t; R = F(t); } cout << M + 18; return 0; } |
Решение:
Задача похоже на предыдущую. Снова по окончании цикла FOR в переменной R будет минимум функции F, а в переменной M значение, при котором функция F достигает минимума.
Найдём минимум для функции F = 2 * (x2 — 1) * (x2 — 1) + 5. Обозначим z = x2 — 1. Тогда функция F = 2 * z2 + 5 минимум принимаем в значении z = 0. Следовательно, минимум будет достигаться x2 — 1 = 0. Т.е. при x = -1 и при x = 1 достигается минимум функции.
Переменная t в цикле FOR перебирает значение от минусовых значений к плюсовым значениям. Неравенство внутри тела цикла строгое! Значит, в переменной M будет минусовое значение.
В ответе напишем -1 + 18 = 17.
Ответ: 17
Задача (ЕГЭ по информатике, Москва, 2020)
Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма. Для Вашего удобства программа приведена на 4 языках программирования.
Бейсик | Python |
---|---|
DIM A, B, T, M, R AS LONG A = -20: B = 20 M = A: R = F(A) FOR T = A TO B IF F(T) < R THEN M = T R = F(T) END IF NEXT t PRINT M + R FUNCTION F(x) F = 2 * (x * x - 9) * (x * x - 9) + 5 END FUNCTION |
def F(x): return 2 * (x * x - 9) * (x * x - 9) + 5 a = -20 b = 20 M = a R = F(a) for t in range(a, b+1): if F(t) < R : M = t R = F(t) print(M + 18) |
Паскаль | C++ |
var a, b, t, M, R : integer; function F(x:integer) : integer; begin F := 2 * (x * x - 9) * (x * x - 9) + 5 end; begin a := -20; b := 20; M := a ; R := F(a); for t := a to b do if (F(t) < R) then begin M := t; R := F(t) end; write(M + 18); end. |
#include using namespace std; int F(int x) { return 2 * (x * x - 9) * (x * x - 9) + 5; } int main() { int a, b, M, R; a = -20; b = 20; M = a; R = F(a); for(int t = a; t <= b; t++) if(F(t) < R) { M = t; R = F(t); } cout << M + 18; return 0; } |
Решение:
Опять такая же ситуация, как в предыдущих двух задачах.
Найдём при каких значениях x достигается минимум функции F = 2 * (x2 — 9) * (x2 — 9) + 5.
Минимум функции F достигается при x = 3 и x = -3.
Переменная t перебирает целые числа от минусовых значений до плюсовых. Неравенство внутри цикла строгое, значит, после окончания цикла переменная M = -3.
Ответ будет -3 + 18 = 15.
Ответ: 15
На этом завершился урок по подготовке 21 задания из ЕГЭ по информатике. Удачи!
Вспомогательные алгоритмы используют тогда, когда в программе необходимо выполнять одно и то же действие несколько раз.
Рассмотрим три вспомогательных алгоритма на языке программирования Pascal:
- функции;
- процедуры;
- рекурсии.
Функция — это подпрограмма, в результате работы которой выводится одна переменная (число или текст).
Обрати внимание!
Общий вид описания функции:
function F (x: тип): тип функции;
begin
F: (=) выражение;
end;
Функция описывается до начала описания основной программы.
Напишем программу, которая будет выбирать из двух введённых с клавиатуры значений наибольшее.
С помощью функции опишем алгоритм нахождения большего из двух чисел, а в блоке основной программы запросим ввод данных и воспользуемся уже готовой функцией. В результате работы программы будет выведена одна переменная.
Напишем программу, которая по координатам точек будет вычислять длины сторон квадрата. Найдём периметр квадрата.
Описание функции. Здесь мы указали координаты для первой и второй точек одной стороны, тип функции real, т. к. в формуле используется квадратный корень и значения могут получаться нецелыми.
В блоке подпрограммы описан алгоритм вычисления длины стороны по формуле, известной из геометрии.
Далее в теле основной программы мы задаём координаты для каждой стороны квадрата совместно с функцией. Вычисляем периметр.
Подумай! Как нужно изменить последнюю программу, чтобы она стала универсальной для любого квадрата? Попробуй написать такую программу.
Цели урока:
- научить строить графики элементарных
математических функций с помощью табличного
процессора Excel; - показать возможности использования программы
Excel для решения задач по математике; - закрепить навыки работы с Мастером диаграмм.
Задачи урока:
- образовательная – знакомство учащихся с
основными приемами построения графиков функций
в программе Excel; - развивающие – формирование у учащихся
логического и алгоритмического мышления;
развитие познавательного интереса к предмету;
развитие умения оперировать ранее полученными
знаниями; развитие умения планировать свою
деятельность; - воспитательные – воспитание умения
самостоятельно мыслить, ответственности за
выполняемую работу, аккуратности при выполнении
работы.
Тип урока:
- комбинированный
Учебники:
Информатика. Базовый курс 2-е издание/Под ред.
С.В. Симоновича. — СПб.: Питер, 2004.-640с.:ил.
Технические и программные средства:
- Персональные компьютеры;
- Приложение Windows – электронные таблицы Excel.
- Проектор
Раздаточный материал:
- Карточки с индивидуальными заданиями на
построение графиков функций.
План урока.
- Организационный момент – 3 мин.
- Проверка домашнего задания –10 мин.
- Объяснение нового материала –20 мин.
- Применение полученных знаний –20 мин.
- Самостоятельная работа. – 20 мин
- Подведение итогов урока. Домашнее задание – 7
мин.
Ход урока
Организационный момент
Проверка готовности учащихся к уроку, отметка
отсутствующих, объявление темы и цели урока
Проверка домашнего задания. (фронтальный
опрос)
Вопросы для проверки
- Что представляет собой рабочая область
программы Excel? - Как определяется адрес ячейки?
- Как изменить ширину столбца, высоту строки?
- Как ввести формулу в Excel?
- Что такое маркер заполнения и для чего он нужен?
- Что такое относительная адресация ячеек?
- Что такое абсолютная адресация ячеек? Как она
задается? - Что такое колонтитулы? Как они задаются?
- Как задать поля печатного документа? Как
изменить ориентацию бумаги? - Что такое функциональная зависимость у = f(х)?
Какая переменная является зависимой, а какая
независимой? - Как ввести функцию в Excel?
- Что такое график функции у = f(х)?
- Как построить диаграмму в Excel?
Объяснение нового материала.
При объяснении нового материала может быть
использован файл Excel с шаблонами задач (Приложение 1), который
выводится на экран с помощью проектора
Сегодня мы рассмотрим применение табличного
процессора Excel для графиков функций. На
предыдущих практических вы уже строили
диаграммы к различным задачам, используя Мастер
диаграмм. Графики функций, так же как и диаграммы
строятся с помощью Мастера диаграмм программы
Excel.
Рассмотрим построение графиков функций на
примере функции у = sin x.
Вид данного графика хорошо известен вам по
урокам математики, попробуем построить его
средствами Excel.
Программа будет строить график по точкам: точки
с известными значениями будут плавно
соединяться линией. Эти точки нужно указать
программе, поэтому, сначала создается таблица
значений функции у = f(х).
Чтобы создать таблицу, нужно определить
- отрезок оси ОХ, на котором будет строиться
график. - шаг переменной х, т.е. через какой промежуток
будут вычисляться значения функции.
Задача 1.Построить график функции у = sin
x на отрезке [– 2; 2] с шагом h = 0,5.
1. Заполним таблицу значений функции. В ячейку С4
введем первое значение отрезка: – 2
2. В ячейку D4 введем формулу, которая будет
добавлять к лево-стоящей ячейки шаг: = В4 + $A$4
3. Маркером заполнения ячейки D4 заполним влево
ячейки строки 4, до тех пор, пока получим значение
другого конца отрезка: 2.
4. Выделим ячейку С5, вызовем Мастер функций, в
категории математические выберем функцию SIN, в
качестве аргумента функции выберем ячейку С4.
5. Маркером заполнения распространим эту формулу
в ячейках строки 5 до конца таблицы.
Таким образом, мы получили таблицу аргументов
(х) и значений (у) функции у = sin x на отрезке [-2;2] с
шагом h = 0,5 :
x | -2 | -1,75 | -1,5 | -1,25 | -1 | -0,75 | -0,5 | -0,25 | 0 | 0,25 | 0,5 | 0,75 | 1 | 1,25 | 1,5 | 1,75 | 2 |
y | -0,9092 | -0,9839 | -0,9974 | -0,9489 | -0,8414 | -0,6816 | -0,4794 | -0,2474 | 0 | 0,2474 | 0,4794 | 0,6816 | 0,8414 | 0,9489 | 0,9974 | 0,9839 | 0,9092 |
6. Следующий шаг. Выделим таблицу и вызовем
Мастер диаграмм. На первом шаге выберем во
вкладке Нестандартные Гладкие графики.
7. На втором шаге во вкладке Ряд выполним:
В поле Ряд необходимо выделить ряд х и нажать на
кнопку “Удалить” (график изменений х нам не
нужен. График функции – это график изменения
значений у)
В поле Подписи оси Х нажать на кнопку.
Выделить в таблице ячейки со значениями х и
нажмите на кнопку . Подписи по горизонтальной оси
станут такими, как у нас в таблице.
8. На третьем шаге заполним вкладку Заголовки.
9. Пример полученного графика.
На самом деле пока это мало похоже на график
функции в нашем привычном понимании.
Для форматирования графика:
- Вызовем контекстное меню оси ОУ. Затем, выберем
пункт Формат оси…. Во вкладке Шкала установим:
цена основного деления: 1. Во вкладке Шрифт
установим размер шрифта 8пт. - Вызовем контекстное меню оси ОХ. Выберем пункт
Формат оси….
Во вкладке Шкала установим: пересечение с осью
ОУ установите номер категории 5 (чтобы ось ОУ
пересекала ось ОХ в категории с подписью 0, а это
пятая по счету категория).
Во вкладке шрифт установите размер шрифта 8пт.
Нажмите на кнопку ОК.
Остальные изменения выполняются аналогично.
Для закрепления рассмотрим еще одну задачу на
построение графика функций. Эту задачу
попробуйте решить самостоятельно, сверяясь с
экраном проектора.
Применение полученных знаний.
Пригласить к проектору студента и
сформулировать следующую задачу.
Задача 2. Построить график функции у = х3
на отрезке [– 3; 3] с шагом h = 0,5.
1. Создать следующую таблицу: Создать таблица
значений функции у = f(х).
2. В ячейку С4 ввести первое значение отрезка: –3
3. В ячейку D4 ввести формулу, которая будет
добавлять к лево-стоящей ячейки шаг: = В4 + $A$4
4. Маркером заполнения ячейки D3 заполнить влево
ячейки строки 3, до тех пор, пока не будет получено
значение другого конца отрезка: 3.
5. В ячейку С5 ввести формулу вычисления значения
функции: = С4^3
6. Маркером заполнения скопировать формулу в
ячейки строки 5 до конца таблицы.
Таким образом, должна получиться таблица
аргументов (х) и значений (у) функции у = х3 на
отрезке [–3;3] с шагом h = 0,5:
х | -3 | -2,5 | -2 | -1,5 | -1 | -0,5 | 0 | 0,5 | 1 | 1,5 | 2 | 2,5 | 3 |
y | -27 | -15,625 | -8 | -3,375 | -1 | -0,125 | 0 | 0,125 | 1 | 3,375 | 8 | 15,625 | 27 |
7. Выделить таблицу и вызвать мастер диаграмм.
На первом шаге выбрать во второй вкладке Гладкие
графики.
8. На втором шаге во вкладке Ряд выполнить:
9. На третьем шаге заполнить вкладку Заголовки.
10. Пример полученного графика:
11. Оформить график.
12. Установить параметры страницы и размеры
диаграмм таким образом, что бы все поместилось на
одном листе альбомной ориентации.
13. Создать колонтитулы для данного листа (Вид
Колонтитулы…):
14. Верхний колонтитул слева: график функции у = x3
Сохранить документ своей папке под именем
График.
Самостоятельная работа.
Работа по карточкам с индивидуальными
заданиями. (Приложение 2)
Пример карточки, с задачей в общем виде,
выводится на экран с помощью проектора.
1. Построить график функции y=f(x) на отрезке [a;b] с
шагом h=c
2. Установить параметры страницы и размеры
графика таким образом, что бы все поместилось на
одном листе альбомной ориентации.
3. Создать колонтитулы для данного листа (Вид
Колонтитулы…):
- Верхний колонтитул слева: график функции y=f(x)
- Нижний колонтитул в центре: ваши Ф.И.О. и дата
4. Сохранить в своей папке под именем “Зачетный
график”
5. Вывести документ на печать.
После выполнения задания правильность каждого
варианта проверяется с помощью проектора.
Подведение итогов.
Домашнее задание.
Оценки за урок.