Программа элективного курса по информатике «Программируем на языке Паскаль»

Вид материалаПрограмма

Содержание


Ход урока
Работа в группах.
Задача для первой группы
Задача для второй группы
Задача для третей группы
Защита программ, обсуждение.
Приложение к материалам занятия
Работа в группе. Решение задач.
Задача для второй группы (листинг)
Задача для третей группы (листинг)
Оценочный лист «Оцени свою деятельность на уроке»
Название задания
Разминка. Тест.
Работа в группе
Оценочный лист «Оцени деятельность коллег по группе на уроке»
Итоговая оценка
Тема урока
Подобный материал:
1   2   3   4   5   6

Ход урока

  1. Организационный момент

Сегодня мы завершаем изучение темы «Записи». Заключительный урок мы проведем в виде семинара. Для того чтобы было удобно работать, мы разобьемся на группы. Во время разминки каждой группе будут предложены: тест и задание на конструирование таблицы (объявить данные, необходимые для создания данной таблицы) с помощью комбинированного типа данных. Следующий этап – решение задач: группе будет предложены задачи. Обсуждение алгоритма решения осуществляется коллективно, программу решения пишет каждый индивидуально. После того, как закончится время для работы в группах – проведем научное собрание с защитой всех решенных задач. Оценивать работу каждого в группе будете самостоятельно.

Для того чтобы работа была плодотворной, разобьемся на три группы. Группы сформируем случайным образом. Проведем жеребьевку (каждый ученик вытягивает карточку с номером): у кого номера 1 – 4 – первая группа, 5 – 8 – вторая группа, 9-12 – третья.
  1. Разминка

Задание 1. Тест
  1. В чем заключается существенное отличие между массивами и записями?
    1. В отличие от записей, массива позволяют объединять значения различных типов
    2. В отличие от массивов, записи позволяют объединять значения различных типов
    3. Записи относят к комбинированным типам
    4. Ни в чем
  2. Какие служебные слова определяют список полей?
    1. record, begin, end
    2. record, end
    3. record, repeat, end
    4. record
  1. С помощью какого оператора происходит обращение к элементам некоторой записи
    1. If
    2. While
    3. With
    4. Record
  1. Определите ошибку в описании записи

type

avto=record;

number: integer; {номер автомобиля}

marka: string; {марка автомобиля}

fio: string; {фамилия, инициалы владельца}

address: string; {адрес владельца}

end;
  1. не указана длина строковых полей
  2. слово address написано не верно
  3. после слова record не ставится точка с запятой
  4. ошибок нет
  1. Составное имя некоторого значения поля записи состоит из...
    1. имени переменной и имени поля, разделенных точкой
    2. имени записи и имени поля, разделенных точкой
    3. имени переменной и имени поля, разделенных двоеточием
    4. имени переменной и имени поля, разделенных точкой с запятой
  2. Запись address описана следующим образом:

typy address=record

k: longint; {почтовый индекс}

city: string[10]; {город}

street: string;{улица}

end;

Найти ошибки сортировки данной записи по полю город.

Смотри текст программы:

for i:=1 downto 2 do

for j:=1 to i-1 do

with x[i] do

begin

if x[j].city>x[j+1].city then

begin

z:=x[j].city;

x[j].city:=x[j+1].city;

x[j].city:=z;

end;
  1. сортируются все поля кроме поля city
  2. сортируется только поле city
  3. сортировка не происходит
  4. сортировка выполнена верно
  1. Имя поля не может иметь тип...
    1. longint
    2. real
    3. string
    4. if
    5. char

Задание 2. «Конструирование таблицы». Объявить данные, с помощью которых можно задать предложенную таблицу. Как можно обратиться к элементу, который отображен в одной из ячейки.

Таблица 1.

Anketa

facult

group

fio

address

bd

k

city

street

house

flat

date

month

year














































Корытово



















Таблица 2.

sklad

prom_tovar

prod_tovar

pribil

name

k

cena

stoim

name

k

cena

stoim























































tvset
















13.5








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

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

Задача для первой группы:

Сформировать список студентов, состоящий из №, фамилии, оценки за три экзамена, общий балл за все экзамены, сумму начисленной стипендии, подоходный налог, итоговой суммы. Если бал за экзамены равен 15, то сумма начисленной стипендии рана 75, если бал за экзамены меньше 15, но больше 12, то сумма начисленной стипендии равна 62.5, если бал за экзамены меньше 12, но больше 9, то сумма начисленной стипендии равна 50, иначе сумма начисленной стипендии равна 0. Налог равен 1% от начисленной суммы. Сумма к выдаче равна начисленная сумма минус налог. Отсортировать данный список в алфавитном порядке.

Задача для второй группы:

Известно расписание поездов, проходящих через станцию: номер поезда, назначение (например «Москва-Омск»), часы и минуты прибытия, часы и минуты отправления. Значение часов и минут целые величины; число часов не превышает 23, число минут – 59. Общее число проходящих поездов равно 10. Поезда приходят каждый день. Отсортировать данный список по полю «номер поезда». По данному времени, определить, какие поезда (номер и назначение) стоят в этот момент на станции.

Задача для третей группы:

Известна информация о 10 клиентах проката: фамилия, имя, отчество, адрес и домашний телефон. Известно также наименование предмета, взятого каждым из них (телевизор, холодильник и т.д.). Вывести на экран фамилии тех, кто взял на прокат телевизор. Посчитать количество взятых на прокат холодильников. И определить остались ли в прокате утюги.
  1. Защита программ, обсуждение.

Учащиеся каждой группы на этом этапе представляют решение своих задач. Представление лучше всего показать на проекторе, чтобы все учащиеся могли хорошо видеть программу. Цель каждого ученика: внимательно прослушать предложенное решение, вникнуть в его; задавать вопросы друг другу; оценивать «соперников»; предлагать свои варианты решения. При подведении итогов занятия будет учитываться участие каждого учащегося в дискуссии. Учитель может составлять рейтинг по ходу дискуссии:
    • кто чаще всего задавал вопросы?
    • кто дал больше всех правильных ответов?
    • чьи вопросы и ответы были более интересными и др.?
  1. Подведение итогов. Рефлексия.

Учащиеся высказывают свое мнение по предложенным учителем вопросам:
  1. Какие трудности возникли у вас при решении задач по данной теме?
  2. Что у вас получалось хорошо? На что еще нужно обратить внимание дома, чтобы выполнить зачетный класс?
  3. Оцените каждый свою деятельность. (Предлагается оценочный лист).
  4. Оцените деятельность других. (Предлагается оценочный лист).

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

Поэтому, если ранее не был использован этот метод, учителю необходимо проанализировать оценочные листы учащихся и свое видение и оценить каждого учащегося по его достижениям во время семинарского занятия.
  1. Домашнее задание
  1. Повторить материал по теме занятия, подготовиться к зачетному классу (зачетный класс, как всегда, состоит из теста, защиты задач практикума, решения контрольной задачи).
  2. Выполнить работу над ошибками тех заданий, в которых были допущены ошибки на сегодняшнем уроке.

ПРИЛОЖЕНИЕ К МАТЕРИАЛАМ ЗАНЯТИЯ

Разминка

Задание 1. Ответы к тесту:

1

2

3

4

5

6

7

b

b

c

c

b

b

d

Задание 2. Конструирование таблиц.

Таблица 1.

type anketa=record

facult: string;

group: 1..6;

fio: string;

address=record

k: longint;

city: string[10];

street: string;

house, flat: integer;

end;

bd=record

date: 1..31;

month: 1..12;

year: integer;

end;

end;

var ved: array[1..20] of anketa;

ved[2].address.city:=’Корытово’;

Таблица 2.

type sklad=record

prom_tovar=record

name: string;

k: integer;

cena: real;

stoim: real;

end;

prod_tovar=record

name: string;

k: integer;

cena: real;

stoim: real;

end;

pribil: real;

end;

var spisoc: array[1..20] of sklad;

spisoc[3].prod_tovar.cena:=13.5;

Работа в группе. Решение задач.

Задача для первой группы (листинг)

program zadacha_3;

uses crt;

type s=record

f: string [20]; {фамилия студента}

e1,e2, e3:integer; {оценки за экзамены}

b: integer; {общий балл за все экзамены}

sum: real; {суммa начисленной стипендии}

nal: real; {подоходный налог}

it: real; {итоговая сумма стипендии}

end;

var

x:array [1..30] of s;

i,k,m,n,y: integer;

z: s;

begin

clrscr;

write ('Введите кол-во студентов ');

readln (n);

For i:=1 to n do

with x[i] do

begin

write ('Введите фамилию ',i,' студента '); readln (f);

write ('введите его три оценки '); readln (e1,e2,e3);

end;

for i:=1 to n do

with x[i] do

begin

b:=e1+e2+e3;

If (e1=2) or (e2=2) or (e3=2) then

sum:=0

else if b=15 then sum:=75

else if b>12 then sum:=62.5

else if b>9 then sum:=50

else sum:=0;

nal:= sum*0.01; it:=sum-nal;

end;

for k:=1 to n-1 do

begin

y:=x[k].b; m:=k;

for i:=k+1 to n do

if y < x[i].b then

begin

y:=x[i].b; m:=i;

end;

z:= x[k]; x[k]:=x[m]; x[m]:=z;

end;

writeln; writeln (' СТИПЕНДИАЛЬНАЯ ВЕДОМОСТЬ');

for i:=1 to 64 do

write ('-'); writeln;

writeln ('|№|фамилия|эк1|эк2|эк3|балл|сумма|налог|итог|');

for i:=1 to 64 do

write ('-'); writeln;

for i:=1 to n do

with x[i] do

begin

writeln (i:3,f:10,e1:6,e2:6,e3:6,b:6,sum:9:2,nal:8:2,it:7:2); readln;

end; end.

Задача для второй группы (листинг)

program zadacha_2

uses crt;

type s=record

nom: integer; {номер поезда}

naz: string [20]; {назначение}

clockp: integer; {час прибытия}

minp: integer; {минуты прибытия}

clocko: integer; { час отправления }

mino: integer; { минуты отправления }

end;

var

a: array [1..10] of s;

i,j, k, timeclok, timemin: integer;

z: s;

begin

clrscr;

for i:=1 to 10 do

with a[i] do

begin

write ('Введите номер ',i,'-го поезда '); readln (nom);

write ('Введите его назначение (пример: Нерюнгри - Кисловодск) '); readln (naz);

write ('Время прибытия на станцию (пример: 20 00) '); readln (clockp, minp);

write ('Время отправления со станции (пример: 20 42) '); readln (clocko,mino);

end;

for i:=1 to 9 do

for j:= i+1 to 10 do

with a[i] do

begin

if a[i].nom>a[j].nom then

begin

z:=a[i]; a[i]:=a[j]; a[j]:=z ;

end;

end;

writeln ('Введите время (часы и минуты)'); readln (timeclok,timemin);

writeln ('|№|Назначение| Время прибытия | Время отправления |'); writeln;

for i:=1 to 10 do

with a[i] do

begin

writeln (nom:3,naz:27,clockp:6,'ч',minp:6,'мин',clocko:8,'ч',mino:6,'мин'); readln;

end;

writeln;

for i:=1 to 10 do

with a[i] do

begin

if (a[i].clockp > timeclok) and (a[i].minp > timemin) and

(a[i].clocko < timeclok) and (a[i].mino < timemin) then

begin

writeln ('В ',timeclok,'ч. ',timemin,'мин. на стоянке стоит поезд №',nom,

' назначением ',naz);

k:=k+1;

end;

end;

if k=0 then

begin

writeln ('В ',timeclok,'ч. ',timemin,'мин. на стоянке не стоит поездов');

end;

readln;

end.

Задача для третей группы (листинг)

program zadacha_3

uses crt;

type t=record

f:string[10]; {фамилия}

im:string[10]; {имя}

ot:string[10]; {отчество}

adress:string[10];{адрес}

nom:integer; {номер телефона}

m:string[20]; {предмет взятый на прокат}

end;

Var

a:array [1..100] of t; {массив}

i:integer;

n:integer; {количество клиентов}

p:integer; {количество взятых на прокат холодильников}

y:integer; {утюги, имеющиеся в прокате}

s:integer; {сумма взятых на прокат утюгов}

x:integer; {количество оставшихся в прокате утюгов}

begin

clrscr;

write('Введите количество клиентов - '); readln(n);

for i:=1 to n do

with a[i] do

begin

write('Введите фамилию клиента - '); readln(f);

write('Введите имя клиента - '); readln(im);

write('Введите отчество клиента - '); readln(ot);

write('Введите адрес клиента - '); readln(adress);

write('Введите номер телефона клиента - '); readln(nom);

write('Введите предмет, взятый на прокат - '); readln(m);

end;

s:=0; x:=0;

for i:=1 to n do

with a[i] do

begin

writeln('{|Фамилия|Имя |Отчество|Адрес|Номер телефона|Предмет |');

for i:=1 to n do

with a[i] do

begin

writeln(f:5,im:15,ot:7,adress:8,nom:3,m:5);

end;

end;

for i:=1 to n do

with a[i] do

begin

if a[i].m='телевизор' then

begin

writeln(a[i].f);

end; end;

write('Введите количество утюгов - '); readln(y);

for i:=1 to n do

with a[i] do

begin

if a[i].m='утюг' then

begin

s:=s+1; p:=y-s;

end; end;

writeln('p=',p);

for i:=1 to n do

with a[i] do

begin

if a[i].m='холодильник' then

begin

x:=x+1;

end; end;

writeln('x=',x); readln;

end.

Оценочный лист «Оцени свою деятельность на уроке»

Сегодня ты должен сам оценить свою деятельность на уроке. Вспомни каждый этап урока. Как ты работал на каждом этапе? Заполни оценочный лист.


Название задания

Оценка

(в баллах)

Пояснение к оценке

(почему я поставил именно такую оценку)

Разминка. Тест.







Разминка. Конструирование таблицы.







Работа в группе







Научное собрание







ИТОГ






Оценочный лист «Оцени деятельность коллег по группе на уроке»

Сегодня ты должен оценить сам оценить деятельность своих коллег по группе на уроке. Вспомни каждый этап урока. Как работал каждый ученик твоей группы, на каждом этапе? Заполни оценочный лист.


Задания


Список

Группы


Разминка. Кроссворд.

Разминка. Работа с фрагментами программ.

Разминка. Найти ошибки в программах

Работа в группе

Научное собрание

ИТОГОВАЯ ОЦЕНКА

Пояснение к оценке

(почему я поставил именно такую

оценку)



















































ЗАНЯТИЕ 3.

Тема урока: Массивы.

Тип урока: урок контроля знаний и умений учащихся

Форма проведения: зачетный класс.

Продолжительность урока: 45 минут

Цели урока:
  • проконтролировать знания, умения и навыки учащихся по теме: «Массивы»;
  • стимулирование интереса учащихся к программированию;
  • воспитание у учащихся самостоятельности;
  • развитие: алгоритмического мышления; умения применять полученные знания при решении задач;
  • развитие коммуникативных навыков: умение представлять свою работу, отстаивать свою точку зрения (решение).

План урока:
  1. Организационный момент – 1 минуты.
  2. Работа с тестом – 5 минут.
  3. Защита практикума – 35 минут.
  4. Решение контрольной задачи (параллельно с защитой практикума) – 35 минут.
  5. Подведение итогов. Рефлексия – 2 минут.
  6. Домашнее задание – 1 минута.