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

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

Содержание


Ход урока
Задача для первого варианта.
Защита практикума
Приложение к материалам занятия
Литература, используемая при написании программы и рекомендуемая для подготовки к занятиям
Подобный материал:
1   2   3   4   5   6

Ход урока

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

Сегодня мы завершаем изучение темы «Массивы». Контрольный урок мы проведем, как всегда, в виде зачетного класса. Первое задание для всех – выполнение теста. Далее начинаете работать над контрольной задачей, а я буду принимать защиту вашего практикума (по списку). Желаю всем успехов!
    1. Тест

Учащиеся отвечают на вопросы теста, подготовленном в тестовой оболочке «Познание» (ЦИНО Общества «Знание», 1999). За каждый правильный ответ начисляется 10 баллов. Из предложенных вопросов, в тес берется (случайным образом) 10 вопросов.

Тест
  1. Что представляет собой массив в Pascal'е?
    1. Структурированный тип данных, представляющий последовательность взаимосвязанных по какому либо признаку объектов.
    2. Структурированный тип данных, состоящий из фиксированного числа элементов, отличающихся типом.
    3. Структурированный тип данных, представляющий набор взаимосвязанных по какому либо признаку или группе признаков объектов, которые можно рассматривать как единое целое.
    4. Структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.
  2. В чем заключается метод "пузырьковой сортировки"?
    1. Начиная с последнего, сравниваются соседние элементы массива, и они переставляются, если последующий элемент меньше предыдущего.
    2. Начиная с первого, сравниваются соседние элементы массива, и они переставляются, если последующий элемент меньше предыдущего.
    3. Начиная с последнего, сравниваются соседние элементы массива, и они переставляются, если предыдущий элемент меньше последующего.
    4. Нет правильного ответа
  3. Какого типа не может быть индекс массива?
    1. integer
    2. byte
    3. real
    4. word
  1. По способу организации и типу компонентов массивы относятся к одному из следующих типов данных:
    1. Комбинированному
    2. Файловому
    3. Множественному
    4. Строковому
    5. Регулярному
  1. Одномерный массив можно назвать...
    1. многомерной таблицей
    2. вектором
    3. квадратной матрицей
    4. двумерной матрицей
  1. В каком из предложенных описаний нет ошибок?
    1. c: array[1..a+b] of real;
    2. d: array[1.0..100.0] of integer;
    3. f: array[1..100] of integer;
    4. b: array[10..1] of integer;
    5. a: array[] of real;
  1. Каким способом осуществляется ввод элементов массива

write('Введите количество элементов в массиве');

readln(n);

for i:=1 to n do

begin writeln('a[',i,']='); readln (a[i]); end;
  1. с помощью датчика случайных чисел
  2. с клавиатуры
  3. присвоением заданных значений
    1. Каким способом осуществляется ввод элементов массива

randomize;

writeln('Введите количество элементов массива');

readln(n);

for i:=1 to n do

begin a[i]:=random(50); writeln('a(',i,')=',a[i]); end;
  1. с помощью датчика случайных чисел
  2. с клавиатуры
  3. присвоением заданных значений
    1. Каким способом осуществляется ввод элементов массива

writeln('Введите количество элементов массива');

readln(n);

for i:=1 to n do

begin a[i]:=i*i/i+2; writeln('a(',i,')=',a[i]); end;
  1. с помощью датчика случайных чисел
  2. с клавиатуры
  3. присвоением заданных значений
    1. Какие действия нельзя производить с одномерными массивами?
  1. находить сумму всех элементов массива
  2. находить минимальный элемент
  3. находить максимальный элемент главной диагонали
  4. находить среднее арифметическое элементов, удовлетворяющих некоторому условию
    1. Как можно описать следующий массив? 

3,14

0,2

-9,1

2,17

1,7

-0,25

-2,5

77

0
    1. a: array[1..3,1..3] of real;
    2. a: array[1..50,1..50] of real;
    3. a: array[1..3,1..] of integer;
    4. a: array[1..3,1..3] of byte;
    1. В какой ячейке находится элемент D[2,6]?
  1. Во втором столбце и шестой строке
  2. Во второй строке и шестом столбце
  3. В строке с номером 2,6
  4. В столбце с номером 2,6
    1. Каким образом выведется массив на экран монитора?

for i:=1 to n do

begin

for j:=1 to m do

write (a[i, j]:3);

writeln;

end;
  1. По столбцам
  2. По строкам
  3. По строкам и столбца
  4. Ничего не выведется
    1. Сколько элементов находится в массиве Х(4;7)?
  1. 4
  2. 7
  3. 11
  4. 28
  5. пустой массив
    1. Двумерный массив размером n*m можно назвать...
      1. линейной таблицей
      2. вектором
      3. матрицей
      4. квадратной матрицей



    1. Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы: if i=j then <инструкции>
  1. элементы расположены на главной диагонали
  2. элементы расположены выше главной диагонали
  3. элементы расположены на побочной диагонали
  4. элементы расположены на главной диагонали и выше ее
  5. элементы расположены ниже главной диагонали
  6. элементы расположены на главной диагонали и ниже ее
  7. элементы расположены выше побочной диагонали
  8. элементы расположены ниже побочной диагонали
    1. Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы: if i+j=n+1 then <инструкции>
  1. элементы расположены на побочной диагонали
  2. элементы расположены на главной диагонали
  3. элементы расположены ниже главной диагонали
  4. элементы расположены на главной диагонали и ниже ее
  5. элементы расположены выше главной диагонали
  6. элементы расположены ниже побочной диагонали
  7. элементы расположены на главной диагонали и выше ее
  8. элементы расположены выше побочной диагонали
    1. Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы:

for i:=1 to n do

for j:=1 to n do

if i < j then <инструкции>
  1. элементы расположены на главной диагонали и выше ее
  2. элементы расположены ниже главной диагонали
  3. элементы расположены выше главной диагонали
  4. элементы расположены выше побочной диагонали
  5. элементы расположены на побочной диагонали
  6. элементы расположены на главной диагонали
  7. элементы расположены на главной диагонали и ниже ее
  8. элементы расположены ниже побочной диагонали
    1. Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы:

for i:=1 to n do

for j:=1 to n do

if i>j then <инструкции>
  1. элементы расположены на побочной диагонали
  2. элементы расположены на главной диагонали и ниже ее
  3. элементы расположены выше главной диагонали
  4. элементы расположены ниже побочной диагонали
  5. элементы расположены выше побочной диагонали
  6. элементы расположены на главной диагонали
  7. элементы расположены ниже главной диагонали
  8. элементы расположены на главной диагонали и выше ее
    1. Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы:

for i:=1 to n do

for j:=1 to n do

if i>=j then <инструкции>
  1. элементы расположены на главной диагонали
  2. элементы расположены на главной диагонали и выше ее
  3. элементы расположены на главной диагонали и ниже ее
  4. элементы расположены выше главной диагонали
  5. элементы расположены ниже побочной диагонали
  6. элементы расположены на побочной диагонали
  7. элементы расположены ниже главной диагонали
  8. элементы расположены выше побочной диагонали
    1. Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы:

for i:=1 to n do

for j:=1 to n do

if i<=j then <инструкции>
  1. элементы расположены ниже главной диагонали
  2. элементы расположены на побочной диагонали
  3. элементы расположены ниже побочной диагонали
  4. элементы расположены выше главной диагонали
  5. элементы расположены выше побочной диагонали
  6. элементы расположены на главной диагонали и выше ее
  7. элементы расположены на главной диагонали и ниже ее
  8. элементы расположены на главной диагонали
    1. Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы:

for i:=1 to n-1 do

for j:=1 to n-1 do

if i+j<=n then <инструкции>
  1. элементы расположены на главной диагонали и ниже ее
  2. элементы расположены на главной диагонали
  3. элементы расположены выше побочной диагонали
  4. элементы расположены на главной диагонали и выше ее
  5. элементы расположены ниже главной диагонали
  6. элементы расположены на побочной диагонали
  7. элементы расположены ниже побочной диагонали
  8. элементы расположены выше главной диагонали
    1. Назовите элементы квадратной матрицы, которые заданы следующим фрагментом программы:

for i:=2 to n do

for j:=2 to n-1 do

if i+j>n+1 then <инструкции>
  1. элементы расположены на главной диагонали и ниже ее
  2. элементы расположены на главной диагонали
  3. элементы расположены выше побочной диагонали
  4. элементы расположены на главной диагонали и выше ее
  5. элементы расположены ниже главной диагонали
  6. элементы расположены на побочной диагонали
  7. элементы расположены ниже побочной диагонали
  8. элементы расположены выше главной диагонали
    1. Решение контрольной задачи.

Учащимся предлагается решить по одной контрольной задаче. Всего два варианта. Проверку задач учитель осуществляет не во время занятия.

Задача для первого варианта. Поменять второй столбец матрицы с предпоследним.

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

Защита практикума

Каждый учащийся представляет решение задач, которые им предлагалось решить в ходе практикума по темам: «Одномерные массивы» и «Двумерные массивы».

План защиты:
    1. Представление программы (возможен выбор задачи учителем, т.е. учитель сам предлагает представить одну из двух задач или обе задачи).
    2. Тестирование программы.
    3. Ответ на вопросы учителя.
    1. Подведение итогов

Учитель. Мы закончили изучение темы «Массивы», а так же изучение первого модуля курса. Результат зачетного класса по этой теме вы можете узнать через два часа. Сейчас вы должны готовиться к защите курсовой работы и сдаче экзамена.

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

Разминка

Задание 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.


ЛИТЕРАТУРА, ИСПОЛЬЗУЕМАЯ ПРИ НАПИСАНИИ ПРОГРАММЫ И РЕКОМЕНДУЕМАЯ ДЛЯ ПОДГОТОВКИ К ЗАНЯТИЯМ
  1. Методика преподавания информатики: Учеб. Пособие для студ. Пед. вузов / М.П. Лапчик, И.Г. Семакин. Е.К. Хеннер; Под общей ред. М.П. Лапчик. - М.:-Издательский центр «Академия», 2001.
  2. Попов В.Б. Turbo Pascal для школьников: Учеб. Пособие.- 3-е доп. изд. - М.: Финансы и статистика, 2002.
  3. Информатика. Задачник - практикум в 2т. / Под ред. И.Г. Семакина, Е.К. Хеннера: Том 1. – М.: Бином. Лаборатория Знаний, 2002.
  4. Культин Н. Б. Turbo Pascal в задачах и примерах. – СПб.: БХВ-Петербург, 2002.
  5. Рапаков Г.Г., Ржеуцкая С.Ю. Turbo Pascal для студентов и школьников. – СПб.: БХВ-Петербург, 2004.