Автор работы: Пользователь скрыл имя, 16 Ноября 2011 в 02:16, курсовая работа
Преподавание информатики в школах нашей страны фактически начиналось с преподавания программирования. В то время даже был провозглашен лозунг: “Программирование - это вторая грамотность”. Заметим, что компьютеры в школах тогда практически отсутствовали. Для ЭВМ первых поколений это было достаточно сложным и трудоемким занятием, искусством которого овладевали за многие годы. Прогресс вычислительной техники и развитие программирования привели к тому, что им начало заниматься всё большее число людей, а профессия программиста стала престижной.
Введение . . . . . . . 03 с.
Выбор языка программирования. . . 05 с.
Подходы к изучению программирования . 09 с.
Методика обучения программированию. 010 с.
Планы уроков . . . . . . 11 с.
Список литературы . . . . . 25 с.
Очень важным в данном уроке является обсуждение понятия переменной. В программировании под переменной понимается нечто напрямую не связанное с понятием переменной в математике. Скорее, понятие переменной в программировании ближе к понятию параметра в математике (например, в параметрических уравнениях). А главное, понятие переменной напрямую связано с компьютерной памятью. Объяснение здесь можно дополнить аналогией с ящиками, на которых наклеены уникальные этикетки (имена) и в которых что-то хранится (значения). Такая аналогия очень пригодится на следующем уроке при объяснении семантики оператора присваивания. Уже на этом уроке можно рассказать, что для описанных в разделе описания переменных (глобальных переменных) в начале выполнения программы выделяется соответствующая память ("подписываются ящики" соответствующего размера), но содержимое этой памяти не определено, т.е. в соответствующих ячейках памяти первоначально будут находиться значения, которые остались после использования этой памяти другой программой, а вовсе не нулевые значения, как могут подумать школьники, работая со средой программирования. Дело в том, что последние версии сред для разработки программ на языке Delphi действительно обнуляют значения переменных при отведении памяти. Но при запуске соответствующего исполняемого файла (ехе-файла) операционной системой (без среды программирования) этого не произойдет. На олимпиадах по программированию неинициализация переменных (то есть незадание для них начальных значений) является одной из основных ошибок.
Целые и вещественные числовые типы данных
Основным типом для работы с целочисленными данными является тип integer. Значениями переменных этого типа являются целые числа от -2 147 483 648 до 2 147 483 647. К переменным целочисленных типов применимы следующие арифметические операции:
+, -, * — сложение, вычитание и умножение;
div — целая часть от деления (значение не округляется, а дробная часть просто отбрасывается);
mod — остаток от деления нацело:
a mod b = а - ((a div b) * b).
Приведем примеры выполнения двух последних операций для аргументов разных знаков:
5 div 3 = 1; 5 mod 3 = 2;
-5 div 3 = -1; -5 mod 3 = -2;
5 div -3 = -1; 5 mod -3 = 2;
-5 div -3 = 1; -5 mod -3 = -2;
Отступление для учителя. Данный урок очень логично дополнить занятиями по теме "Представление информации в компьютере". Подробные материалы по данной теме можно найти в книге Е.В. Андреевой и И.Н. Фалиной "Системы счисления и компьютерная арифметика", изд-во "БИНОМ. Лаборатория знаний", 2004. В любом случае особое внимание школьников надо обратить на ограниченность значений числовых типов. При разборе целочисленных арифметических операций следует уточнить, что операция деления '/' целочисленной не является. Далее следует вспомнить операцию деления нацело, которая ученикам уже известна из курса математики, но в 7—9-х классах в курсе алгебры она оказывается практически не востребованной. Особые сложности вызывает деление с остатком в случае, когда делимое меньше делителя, например, при делении 3 на 5. Большинство ребят понимают, что целая часть от деления в данном случае равна 0, а вот каких только значений для остатка они не предлагают. Это и 0, и 2, и 3, и 5. В данном случае имеет смысл напомнить им формальное определение остатка и получить верный остаток 3 по определению. Сложнее дело обстоит с целочисленным делением в случае, когда один из операндов отрицателен. Дело в том, что результаты операций div и mod в данном случае не соответствуют принятым в математике. На это надо обязательно обратить внимание школьников. В других языках программирования (в частности, в Basic) результаты аналогичных операций могут быть отличны и от языка Delphi, и от математики.
Основным типом для работы с вещественными (действительными) числами является тип real. Вещественных чисел, точно представимых в компьютере, конечное число. Остальные числа либо приближаются представимыми, либо оказываются непредставимыми. Последнее относится к слишком большим и к слишком маленьким вещественным числам.
К числовым типам данных применимы стандартные функции, приведенные в таблице ниже.
Функция |
|
|
|
abs(х) |
|
|
|
exp(х) |
|
|
|
In (X) |
|
|
|
sqr(x) |
|
|
|
sqrt(x) |
|
|
|
pi |
|
|
|
sin(x) |
|
|
|
cos(x) |
|
|
|
arctan (x) |
|
|
|
round(x) |
|
|
|
trunc (x) |
|
|
|
int(x) |
|
|
|
frac(x) |
|
|
|
Упражнения
1. Выберите среди перечисленных ниже слов те, которые могут использоваться в языке Delphi в качестве идентификаторов, т.е. следует определить, можем ли мы назвать переменную так, чтобы она выглядела так, как это показано ниже. Друг от друга слова отделены запятыми:
PaScaL, Тр6, ееВlаЗ, _choice, my_name, Зеее, КТО, КТО-ТО, СССР, США, a+b, sin, sinl, sin(x), new, with, СЕТКА, ЗАМОК, prog.pas , error
2. Вычислите:
20 div 6 trunc(6.9)
20 mod 6 round(6.9)
20 div 4 trunc (-1.8)
20 mod 4 round(-1.8)
2 div 5 round(0.5)
2 mod 5 round(-0.5)
3. Определите тип выражения (integer или real)
1 + 0 . 0 sqrt(16) trunc(pi)
20/4 sin(0) trac(pi)
sqr(4) sqr(5.0)
Ответы и комментарии для учителя
1. В качестве имен можно использовать следующие из перечисленных слов: PaScaL, Трб, ееВ1аЗ, _choice, my_name, Зеее, КТО, СССР, sin, sinl, new, СЕТКА, error. Упражнение выполняется с использованием таблицы служебных слов. Здесь важно, что sin и new зарезервированными словами не являются, хотя и предопределены как стандартные функции. После описания переменной с таким именем стандартная функция становится недоступна. Возможным также является написание русских слов КТО, СССР, но с использованием только латинских букв.
2. Упражнение не только помогает восстановить навыки целочисленного деления, но и указывает на специфику работы широко употребимых функций trunc и round.
3. Это
упражнение на развитие умения формально
подходить к определениям. Так, школьники
могут даже не знать, что означает функция
sin х, но успешно выполнить упражнение.
Ответ: real, real, integer, real, real, real, integer, real.
Урок 3
Логические типы данных
Множество
значений логического типа boolean содержит всего два элемента
— false
(ложь) и true (истина). Эти константы
предопределены так, что false
< true. Логические
значения получаются также в результате
выполнения операций сравнения числовых,
символьных, строковых или логических
переменных: =, <>, <, >, <=, > = . Таким
образом, условия представляют собой частный
случай выражений, а именно выражения
со значениями логического типа. Подобные
выражения можно присваивать переменным
типа boolean, а также печатать (на экран будет
выведено слово false или true соответственно). Кроме
операций сравнения, для построения логических
выражений используются операции not, and, or, хог. Последняя
операция при применении ее к логическим
операндам совпадает с операцией "не
равно", то есть (х
хог у) - (х о у). Приведем
таблицы результатов других логических
операций для всех возможных значений
операндов (в алгебре логики такие таблицы
называются таблицами истинности):
|
not х |
true | false |
false | true |
x and у | true | false |
true | true | false |
false | false | false |
x or у | true | false |
true | true | true |
false | true | false |
Логические выражения
В логических выражениях могут встречаться как арифметические операции, так и логические. Порядок выполнения операций определяется их приоритетом:
1. not;
2. *, /, div, mod, and;
3. +, -, or, xor;
4. =, <>, <, >, <=, >=.
Операции с одинаковым приоритетом выполняются по порядку слева направо. Для изменения порядка выполнения операций применяют круглые скобки.
Для булевских выражений характерно то, что их значение может стать известным еще до конца вычисления всего выражения. Например:
х := 0;
Ь := (х > 0) and (х < 10);
Уже после вычисления первого операнда операции and ясно, что результат всего выражения — false.
Нередко
при составлении программ со сложными
логическими выражениями нужно
строить их отрицания. Для этого
полезно воспользоваться
|
Противоположное условие |
|
|
|
|
|
|
not not а = а;
not (a and b) = not a or not b; not (a or b) = not a and not b.
Упражнения
X := 0; у := -1; z := 1;
b = true; v := 3;
x - 1; у := -2;
z = 2 *abs(у);
k = trunc(x/y*z/v*2/0 . 5
y = sqrt(х*у*z* к) ;
m = (-к) div 3;
c = (к < m) and b;
b - not с or (у <> z);
Комментарии для учителя
Логические выражения в том виде, в каком они используются в программировании, школьникам немного непривычны. Следующий важный момент в изучении данной темы — порядок выполнения операций. Заметим, что в различных языках программирования этот порядок различный. Например, в языке Си операции сравнения имеют больший приоритет, чем логические связки, и скобки в логических выражениях, аналогичных выражениям из упражнения 1, не нужны. В языке Delphi без скобок в подобных выражениях не обойтись. В противном случае можно получить не только выражение с синтаксической ошибкой, но и синтаксически верное выражение, имеющее другой смысл. Так, в выражении с целочисленными переменными а и b
Информация о работе Методика преподавания темы «введение в программирование» в 9 классе