Программа элективного курса по информатике «Программируем на языке Паскаль»
Вид материала | Программа |
СодержаниеХод урока Задача для первого варианта. Защита практикума Приложение к материалам занятия Литература, используемая при написании программы и рекомендуемая для подготовки к занятиям |
- Программа элективного курса по информатике «Программируем на языке Паскаль», 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.
Ход урока
- Организационный момент
Сегодня мы завершаем изучение темы «Массивы». Контрольный урок мы проведем, как всегда, в виде зачетного класса. Первое задание для всех – выполнение теста. Далее начинаете работать над контрольной задачей, а я буду принимать защиту вашего практикума (по списку). Желаю всем успехов!
- Тест
Учащиеся отвечают на вопросы теста, подготовленном в тестовой оболочке «Познание» (ЦИНО Общества «Знание», 1999). За каждый правильный ответ начисляется 10 баллов. Из предложенных вопросов, в тес берется (случайным образом) 10 вопросов.
Тест
- Что представляет собой массив в Pascal'е?
- Структурированный тип данных, представляющий последовательность взаимосвязанных по какому либо признаку объектов.
- Структурированный тип данных, состоящий из фиксированного числа элементов, отличающихся типом.
- Структурированный тип данных, представляющий набор взаимосвязанных по какому либо признаку или группе признаков объектов, которые можно рассматривать как единое целое.
- Структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.
- Структурированный тип данных, представляющий последовательность взаимосвязанных по какому либо признаку объектов.
- В чем заключается метод "пузырьковой сортировки"?
- Начиная с последнего, сравниваются соседние элементы массива, и они переставляются, если последующий элемент меньше предыдущего.
- Начиная с первого, сравниваются соседние элементы массива, и они переставляются, если последующий элемент меньше предыдущего.
- Начиная с последнего, сравниваются соседние элементы массива, и они переставляются, если предыдущий элемент меньше последующего.
- Нет правильного ответа
- Начиная с последнего, сравниваются соседние элементы массива, и они переставляются, если последующий элемент меньше предыдущего.
- Какого типа не может быть индекс массива?
- integer
- byte
- real
- word
- По способу организации и типу компонентов массивы относятся к одному из следующих типов данных:
- Комбинированному
- Файловому
- Множественному
- Строковому
- Регулярному
- Одномерный массив можно назвать...
- многомерной таблицей
- вектором
- квадратной матрицей
- двумерной матрицей
- В каком из предложенных описаний нет ошибок?
- c: array[1..a+b] of real;
- d: array[1.0..100.0] of integer;
- f: array[1..100] of integer;
- b: array[10..1] of integer;
- a: array[] of real;
- Каким способом осуществляется ввод элементов массива
write('Введите количество элементов в массиве');
readln(n);
for i:=1 to n do
begin writeln('a[',i,']='); readln (a[i]); end;
- с помощью датчика случайных чисел
- с клавиатуры
- присвоением заданных значений
- Каким способом осуществляется ввод элементов массива
- Каким способом осуществляется ввод элементов массива
randomize;
writeln('Введите количество элементов массива');
readln(n);
for i:=1 to n do
begin a[i]:=random(50); writeln('a(',i,')=',a[i]); end;
- с помощью датчика случайных чисел
- с клавиатуры
- присвоением заданных значений
- Каким способом осуществляется ввод элементов массива
writeln('Введите количество элементов массива');
readln(n);
for i:=1 to n do
begin a[i]:=i*i/i+2; writeln('a(',i,')=',a[i]); end;
- с помощью датчика случайных чисел
- с клавиатуры
- присвоением заданных значений
- Какие действия нельзя производить с одномерными массивами?
- находить сумму всех элементов массива
- находить минимальный элемент
- находить максимальный элемент главной диагонали
- находить среднее арифметическое элементов, удовлетворяющих некоторому условию
- Как можно описать следующий массив?
3,14 | 0,2 | -9,1 |
2,17 | 1,7 | -0,25 |
-2,5 | 77 | 0 |
- a: array[1..3,1..3] of real;
- a: array[1..50,1..50] of real;
- a: array[1..3,1..] of integer;
- a: array[1..3,1..3] of byte;
- В какой ячейке находится элемент D[2,6]?
- Во втором столбце и шестой строке
- Во второй строке и шестом столбце
- В строке с номером 2,6
- В столбце с номером 2,6
- Каким образом выведется массив на экран монитора?
for i:=1 to n do
begin
for j:=1 to m do
write (a[i, j]:3);
writeln;
end;
- По столбцам
- По строкам
- По строкам и столбца
- Ничего не выведется
- Сколько элементов находится в массиве Х(4;7)?
- 4
- 7
- 11
- 28
- пустой массив
- Двумерный массив размером n*m можно назвать...
- линейной таблицей
- вектором
- матрицей
- квадратной матрицей
- линейной таблицей
- Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы: if i=j then <инструкции>
- элементы расположены на главной диагонали
- элементы расположены выше главной диагонали
- элементы расположены на побочной диагонали
- элементы расположены на главной диагонали и выше ее
- элементы расположены ниже главной диагонали
- элементы расположены на главной диагонали и ниже ее
- элементы расположены выше побочной диагонали
- элементы расположены ниже побочной диагонали
- Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы: if i+j=n+1 then <инструкции>
- элементы расположены на побочной диагонали
- элементы расположены на главной диагонали
- элементы расположены ниже главной диагонали
- элементы расположены на главной диагонали и ниже ее
- элементы расположены выше главной диагонали
- элементы расположены ниже побочной диагонали
- элементы расположены на главной диагонали и выше ее
- элементы расположены выше побочной диагонали
- Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы:
for i:=1 to n do
for j:=1 to n do
if i < j then <инструкции>
- элементы расположены на главной диагонали и выше ее
- элементы расположены ниже главной диагонали
- элементы расположены выше главной диагонали
- элементы расположены выше побочной диагонали
- элементы расположены на побочной диагонали
- элементы расположены на главной диагонали
- элементы расположены на главной диагонали и ниже ее
- элементы расположены ниже побочной диагонали
- Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы:
for i:=1 to n do
for j:=1 to n do
if i>j then <инструкции>
- элементы расположены на побочной диагонали
- элементы расположены на главной диагонали и ниже ее
- элементы расположены выше главной диагонали
- элементы расположены ниже побочной диагонали
- элементы расположены выше побочной диагонали
- элементы расположены на главной диагонали
- элементы расположены ниже главной диагонали
- элементы расположены на главной диагонали и выше ее
- Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы:
for i:=1 to n do
for j:=1 to n do
if i>=j then <инструкции>
- элементы расположены на главной диагонали
- элементы расположены на главной диагонали и выше ее
- элементы расположены на главной диагонали и ниже ее
- элементы расположены выше главной диагонали
- элементы расположены ниже побочной диагонали
- элементы расположены на побочной диагонали
- элементы расположены ниже главной диагонали
- элементы расположены выше побочной диагонали
- Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы:
for i:=1 to n do
for j:=1 to n do
if i<=j then <инструкции>
- элементы расположены ниже главной диагонали
- элементы расположены на побочной диагонали
- элементы расположены ниже побочной диагонали
- элементы расположены выше главной диагонали
- элементы расположены выше побочной диагонали
- элементы расположены на главной диагонали и выше ее
- элементы расположены на главной диагонали и ниже ее
- элементы расположены на главной диагонали
- Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы:
for i:=1 to n-1 do
for j:=1 to n-1 do
if i+j<=n then <инструкции>
- элементы расположены на главной диагонали и ниже ее
- элементы расположены на главной диагонали
- элементы расположены выше побочной диагонали
- элементы расположены на главной диагонали и выше ее
- элементы расположены ниже главной диагонали
- элементы расположены на побочной диагонали
- элементы расположены ниже побочной диагонали
- элементы расположены выше главной диагонали
- Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы:
for i:=2 to n do
for j:=2 to n-1 do
if i+j>n+1 then <инструкции>
- элементы расположены на главной диагонали и ниже ее
- элементы расположены на главной диагонали
- элементы расположены выше побочной диагонали
- элементы расположены на главной диагонали и выше ее
- элементы расположены ниже главной диагонали
- элементы расположены на побочной диагонали
- элементы расположены ниже побочной диагонали
- элементы расположены выше главной диагонали
- Решение контрольной задачи.
Учащимся предлагается решить по одной контрольной задаче. Всего два варианта. Проверку задач учитель осуществляет не во время занятия.
Задача для первого варианта. Поменять второй столбец матрицы с предпоследним.
Задача для второго варианта. Дана действительная квадратная матрица. Вычислить сумму тех элементов, расположенных по главной диагонали и выше неё, которые превосходят по величине все элементы, расположенные ниже главной диагонали. Если элементов с указанным свойством нет, то вывести соответствующее сообщение.
Защита практикума
Каждый учащийся представляет решение задач, которые им предлагалось решить в ходе практикума по темам: «Одномерные массивы» и «Двумерные массивы».
План защиты:
- Представление программы (возможен выбор задачи учителем, т.е. учитель сам предлагает представить одну из двух задач или обе задачи).
- Тестирование программы.
- Ответ на вопросы учителя.
- Подведение итогов
Учитель. Мы закончили изучение темы «Массивы», а так же изучение первого модуля курса. Результат зачетного класса по этой теме вы можете узнать через два часа. Сейчас вы должны готовиться к защите курсовой работы и сдаче экзамена.
ПРИЛОЖЕНИЕ К МАТЕРИАЛАМ ЗАНЯТИЯ
Разминка
Задание 1. Ответы к тесту:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
d | b | c | e | b | c | b | a | c | c | a | b | c | d | c | a | a | c | g | c | f | c | g |
Решение контрольной задачи
Вариант – 1.
program zadacha_1;
uses crt;
var
a, b: array [1..50,1..50] of integer;
m,n,i,j: integer;
begin
clrscr;
writeln('Количество строк'); readln(n);
writeln('Количество столбцов'); readln(m);
for i:= 1 to n do
for j:= 1 to m do
begin write ('a[',i,',',j,']='); readln (a[i,j]); end;
writeln('Исходная матрица:');
for i:=1 to n do begin
for j:=1 to m do
write (a[i,j]); writeln;
end;
for i:=1 to n do begin
for j:=1 to m do
b[i,j]:=a[i,j]; end;
for i:=1 to n do begin
a[i,2]:=b[i,m-1];
end;
for i:=1 to n do begin a[i,m-1]:=b[i,2]; end;
writeln('Полученная матрица:');
for i:=1 to n do begin
for j:=1 to m do
write (a[i,j]); writeln; end;
readln;
end.
Вариант – 2
program zadacha_2;
uses crt;
var
a: array[1..50,1..50] of real;
i,j, n : integer;
max, s: real;
begin
clrscr;
writeln ('введите кол-во строк и столбцов'); readln (n);
for i:=1 to n do
for j:=1 to n do
begin write('a[',i,',',j,']='); readln(a[i,j]); end;
s:=0; max:=0;
for i:=1 to n do
for j:=1 to n do
begin if i>j then
begin if a[i,j]>max then
begin max:=a[i,j]; end;
end; end;
for i:=1 to n do
for j:=1 to n do
begin if (i<=j) then
begin if a[i,j]>max then
begin s:=s+a[i,j]; end;
end; end;
if s<>0 then
begin write ('s=',s:5:2); end
else begin writeln ('Элементов с указанным свойством нет'); end;
readln; end.
ЛИТЕРАТУРА, ИСПОЛЬЗУЕМАЯ ПРИ НАПИСАНИИ ПРОГРАММЫ И РЕКОМЕНДУЕМАЯ ДЛЯ ПОДГОТОВКИ К ЗАНЯТИЯМ
- Методика преподавания информатики: Учеб. Пособие для студ. Пед. вузов / М.П. Лапчик, И.Г. Семакин. Е.К. Хеннер; Под общей ред. М.П. Лапчик. - М.:-Издательский центр «Академия», 2001.
- Попов В.Б. Turbo Pascal для школьников: Учеб. Пособие.- 3-е доп. изд. - М.: Финансы и статистика, 2002.
- Информатика. Задачник - практикум в 2т. / Под ред. И.Г. Семакина, Е.К. Хеннера: Том 1. – М.: Бином. Лаборатория Знаний, 2002.
- Культин Н. Б. Turbo Pascal в задачах и примерах. – СПб.: БХВ-Петербург, 2002.
- Рапаков Г.Г., Ржеуцкая С.Ю. Turbo Pascal для студентов и школьников. – СПб.: БХВ-Петербург, 2004.