Программа элективного курса по информатике «Программируем на языке Паскаль»
Вид материала | Программа |
- Программа элективного курса по информатике «Программируем на языке Паскаль», 143.09kb.
- Программа элективного курса по информатике «Программируем на языке Паскаль», 104.96kb.
- Приказ № от августа 2010г. Программа элективного курса по информатике и информационно-коммуникационным, 342.77kb.
- С. В. Элективный курс «Программируем на Паскале» общие вопросы самылкина Н. Н. Программа, 503.53kb.
- Программа элективного курса «Программирование на языке Pascal» 10 класс, 63.48kb.
- Рабочая программа элективного курса по информатике «Приёмы решения нестандартных задач, 219.89kb.
- Краткий курс лекций "Основы программирования на языке Паскаль" Основные понятия, 265.68kb.
- Тематическое планирование кружка на 2009/2010 уч г. «Основы алгоритмизации и программирования, 63.72kb.
- Структура программы языка Турбо Паскаль Программа на языке Турбо Паскаль имеет вид, 792.5kb.
- В. А. Атрощенко и др. Лекции по общей информатике. Краснодар, 2010, Кубгту, 33.55kb.
Ход урока
- Организационный момент
Сегодня мы завершаем изучение темы «Записи». Заключительный урок мы проведем в виде семинара. Для того чтобы было удобно работать, мы разобьемся на группы. Во время разминки каждой группе будут предложены: тест и задание на конструирование таблицы (объявить данные, необходимые для создания данной таблицы) с помощью комбинированного типа данных. Следующий этап – решение задач: группе будет предложены задачи. Обсуждение алгоритма решения осуществляется коллективно, программу решения пишет каждый индивидуально. После того, как закончится время для работы в группах – проведем научное собрание с защитой всех решенных задач. Оценивать работу каждого в группе будете самостоятельно.
Для того чтобы работа была плодотворной, разобьемся на три группы. Группы сформируем случайным образом. Проведем жеребьевку (каждый ученик вытягивает карточку с номером): у кого номера 1 – 4 – первая группа, 5 – 8 – вторая группа, 9-12 – третья.
- Разминка
Задание 1. Тест
- В чем заключается существенное отличие между массивами и записями?
- В отличие от записей, массива позволяют объединять значения различных типов
- В отличие от массивов, записи позволяют объединять значения различных типов
- Записи относят к комбинированным типам
- Ни в чем
- В отличие от записей, массива позволяют объединять значения различных типов
- Какие служебные слова определяют список полей?
- record, begin, end
- record, end
- record, repeat, end
- record
- С помощью какого оператора происходит обращение к элементам некоторой записи
- If
- While
- With
- Record
- Определите ошибку в описании записи
type
avto=record;
number: integer; {номер автомобиля}
marka: string; {марка автомобиля}
fio: string; {фамилия, инициалы владельца}
address: string; {адрес владельца}
end;
- не указана длина строковых полей
- слово address написано не верно
- после слова record не ставится точка с запятой
- ошибок нет
- Составное имя некоторого значения поля записи состоит из...
- имени переменной и имени поля, разделенных точкой
- имени записи и имени поля, разделенных точкой
- имени переменной и имени поля, разделенных двоеточием
- имени переменной и имени поля, разделенных точкой с запятой
- имени переменной и имени поля, разделенных точкой
- Запись 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;
- сортируются все поля кроме поля city
- сортируется только поле city
- сортировка не происходит
- сортировка выполнена верно
- Имя поля не может иметь тип...
- longint
- real
- string
- if
- 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 | | |
Задания разминки может выполнять каждый участник группы, а возможно распределение заданий между учащимися.
- Работа в группах.
На этом этапе каждой группе предложено по одной задаче, для которой учащиеся должны составить программу и подготовить выступление по защите своего решения. Учащиеся сами распределяют между собой, как они будут выполнять это задание.
Задача для первой группы:
Сформировать список студентов, состоящий из №, фамилии, оценки за три экзамена, общий балл за все экзамены, сумму начисленной стипендии, подоходный налог, итоговой суммы. Если бал за экзамены равен 15, то сумма начисленной стипендии рана 75, если бал за экзамены меньше 15, но больше 12, то сумма начисленной стипендии равна 62.5, если бал за экзамены меньше 12, но больше 9, то сумма начисленной стипендии равна 50, иначе сумма начисленной стипендии равна 0. Налог равен 1% от начисленной суммы. Сумма к выдаче равна начисленная сумма минус налог. Отсортировать данный список в алфавитном порядке.
Задача для второй группы:
Известно расписание поездов, проходящих через станцию: номер поезда, назначение (например «Москва-Омск»), часы и минуты прибытия, часы и минуты отправления. Значение часов и минут целые величины; число часов не превышает 23, число минут – 59. Общее число проходящих поездов равно 10. Поезда приходят каждый день. Отсортировать данный список по полю «номер поезда». По данному времени, определить, какие поезда (номер и назначение) стоят в этот момент на станции.
Задача для третей группы:
Известна информация о 10 клиентах проката: фамилия, имя, отчество, адрес и домашний телефон. Известно также наименование предмета, взятого каждым из них (телевизор, холодильник и т.д.). Вывести на экран фамилии тех, кто взял на прокат телевизор. Посчитать количество взятых на прокат холодильников. И определить остались ли в прокате утюги.
- Защита программ, обсуждение.
Учащиеся каждой группы на этом этапе представляют решение своих задач. Представление лучше всего показать на проекторе, чтобы все учащиеся могли хорошо видеть программу. Цель каждого ученика: внимательно прослушать предложенное решение, вникнуть в его; задавать вопросы друг другу; оценивать «соперников»; предлагать свои варианты решения. При подведении итогов занятия будет учитываться участие каждого учащегося в дискуссии. Учитель может составлять рейтинг по ходу дискуссии:
- кто чаще всего задавал вопросы?
- кто дал больше всех правильных ответов?
- чьи вопросы и ответы были более интересными и др.?
- Подведение итогов. Рефлексия.
Учащиеся высказывают свое мнение по предложенным учителем вопросам:
- Какие трудности возникли у вас при решении задач по данной теме?
- Что у вас получалось хорошо? На что еще нужно обратить внимание дома, чтобы выполнить зачетный класс?
- Оцените каждый свою деятельность. (Предлагается оценочный лист).
- Оцените деятельность других. (Предлагается оценочный лист).
Выставление оценок за урок по результатам оценочных листов учащихся – это трудная задача. Такую работу необходимо проводить в системе. Если такой метод оценивания использовать однократно на конкретном уроке, то можно ущемить права и интересы конкретного учащегося.
Поэтому, если ранее не был использован этот метод, учителю необходимо проанализировать оценочные листы учащихся и свое видение и оценить каждого учащегося по его достижениям во время семинарского занятия.
- Домашнее задание
- Повторить материал по теме занятия, подготовиться к зачетному классу (зачетный класс, как всегда, состоит из теста, защиты задач практикума, решения контрольной задачи).
- Выполнить работу над ошибками тех заданий, в которых были допущены ошибки на сегодняшнем уроке.
ПРИЛОЖЕНИЕ К МАТЕРИАЛАМ ЗАНЯТИЯ
Разминка
Задание 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 минуты.
- Работа с тестом – 5 минут.
- Защита практикума – 35 минут.
- Решение контрольной задачи (параллельно с защитой практикума) – 35 минут.
- Подведение итогов. Рефлексия – 2 минут.
- Домашнее задание – 1 минута.