Методика преподавания темы «введение в программирование» в 9 классе

Автор работы: Пользователь скрыл имя, 16 Ноября 2011 в 02:16, курсовая работа

Краткое описание

Преподавание информатики в школах нашей страны фактически начиналось с преподавания программирования. В то время даже был провозглашен лозунг: “Программирование - это вторая грамотность”. Заметим, что компьютеры в школах тогда практически отсутствовали. Для ЭВМ первых поколений это было достаточно сложным и трудоемким занятием, искусством которого овладевали за многие годы. Прогресс вычислительной техники и развитие программирования привели к тому, что им начало заниматься всё большее число людей, а профессия программиста стала престижной.

Содержание работы

Введение . . . . . . . 03 с.
Выбор языка программирования. . . 05 с.
Подходы к изучению программирования . 09 с.
Методика обучения программированию. 010 с.
Планы уроков . . . . . . 11 с.
Список литературы . . . . . 25 с.

Содержимое работы - 1 файл

курсовая.docx

— 139.13 Кб (Скачать файл)
 

     Очень важным в данном уроке является обсуждение понятия переменной. В программировании под переменной понимается нечто напрямую не связанное с понятием переменной в математике. Скорее, понятие переменной в программировании ближе к понятию параметра в математике (например, в параметрических уравнениях). А главное, понятие переменной напрямую связано с компьютерной памятью. Объяснение здесь можно дополнить аналогией с ящиками, на которых наклеены уникальные этикетки (имена) и в которых что-то хранится (значения). Такая аналогия очень пригодится на следующем уроке при объяснении семантики оператора присваивания. Уже на этом уроке можно рассказать, что для описанных в разделе описания переменных (глобальных переменных) в начале выполнения программы выделяется соответствующая память ("подписываются ящики" соответствующего размера), но содержимое этой памяти не определено, т.е. в соответствующих ячейках памяти первоначально будут находиться значения, которые остались после использования этой памяти другой программой, а вовсе не нулевые значения, как могут подумать школьники, работая со средой программирования. Дело в том, что последние версии сред для разработки программ на языке 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(х)
    |x|— модуль X
    integer, real
    соответствующий
exp(х)
    ex — экспонента
    integer, real
    real
In (X)
    In x — натуральный логарифм x
    integer, real
    real
sqr(x)
    x1
    integer, real
    соответствующий
sqrt(x)
     — корень квадратный из х
    integer, real
    real
pi
    3.1415926535897932385
    нет
    real
sin(x)
    sin х
    integer, real
    real
cos(x)
    cos X
    integer, real
    real
arctan (x)
    arctg x
    integer, real
    real
round(x)
    округляет x до ближайшего целого
    real
    integer
trunc (x)
    отбрасывает дробную  часть x
    real
    integer
int(x)
    целая часть аргумента
    real
    real
frac(x)
    дробная часть аргумента
    real
    real
 
 

     Упражнения

     1. Выберите среди перечисленных  ниже слов те, которые могут  использоваться в языке Delphi в качестве идентификаторов, т.е. следует определить, можем ли мы назвать переменную так, чтобы она выглядела так, как это показано ниже. Друг от друга слова отделены запятыми:

     PaScaL, Тр6, ееВlаЗ, _choice, my_name, Зеее, КТО, КТО-ТО, СССР, США, a+b, sin, sinl, sin(x), new, with, СЕТКА, ЗАМОК, prog.pas , error

     2. Вычислите: 

     20 divtrunc(6.9)

     20 modround(6.9)

     20 divtrunc (-1.8)

     20 modround(-1.8)

     2 divround(0.5)

     2 modround(-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, хог. Последняя операция при применении ее к логическим операндам совпадает с операцией "не равно", то есть (х хог у) - (х о у). Приведем таблицы результатов других логических операций для всех возможных значений операндов (в алгебре логики такие таблицы называются таблицами истинности): 

    X
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.

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

            Условие
          Противоположное условие
            а < b
              а > b
            а > b
              а < b
            а = b
              a^b

not not а = а;

not (a and b) = not a or not b; not (a or b) = not a and not b.

Упражнения

  1. Для следующих условий пометить знаком "+" истинные условия, а "-" — ложные. Здесь

X := 0; у := -1; z := 1;

  1. (х < 0) or (у < 0)
  2. (х = 0) and (у о 0)
  3. (у о 1) and (z о 1)
  4. (у о 1) and (z о 1) or (х о 1)
  5. (у = 1) or (х о 1) and (z о 1)
  6. . Определить типы всех переменных, а также записать после каждого из следующих операторов, начиная с третьей строки, какое значение будет присвоено соответствующей переменной. В случае, когда тип однозначно определить не удается, укажите любой допустимый тип данных. Операторы выполняются последовательно, то есть это фрагмент программы:

     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 классе