Учебное пособие. Лабораторные работы и практикумы по информатике. 10-11 классы.
материал по информатике и икт (10, 11 класс) на тему

В пособии приводятся тексты лабораторных и практических работ для учащихся 10-11 классов физико-математических школ.

Скачать:

ВложениеРазмер
Файл 2_v_pomoshch_litseistu.docx86.22 КБ

Предварительный просмотр:

В ПОМОЩЬ ЛИЦЕИСТУ

Учебное пособие

Лабораторные работы и практикумы
по предмету «ИНФОРМАТИКА и ИКТ»

10-11 классы

Составитель учитель информатики и ИКТ
Осипова Елена Валентиновна

Санкт-Петербург

2013 год


Практическая лабораторная работа №1

«Язык программирования Паскаль.
Используем видеопамять. Разработка игры «Питон»

  1. Цель работы:
  1. Изучить основные приемы работы с прямым доступом в текстовый буфер видеопамяти на языке Паскаль, научиться применять их при написании программ, закрепить приемы работы с условными и циклическими операторами; отработать навыки работы с индексными переменными.
  2. Овладеть методикой разработки простейших интерактивных игровых программ, моделирования движения объекта на экране средствами языка Паскаль;
  3. Закрепить на практике знания, полученные при изучении тем «Архитектура компьютера. Оперативная память компьютера», «Модуль CRT».
  4. Научиться грамотно оформлять результаты работы.
    Задачи:
  5. Разработка и отладка программы, реализующей сценарий игры Питон;
  6. Составление и оформление отчета.
  1. Задание:
  1. Разработать программу, реализующую следующий сценарий: питон, состоящий из символов и управляемый клавишами, бегает по экрану и поедает клады. С поеданием каждого клада длина питона возрастает. При этом нужно следить, чтобы не «съесть» собственный хвост или ядовитый плод.
  1. Ход работы.
  1. Составить программу, которая
  1. формирует на экране игровое поле, ограниченное рамкой из выбранных символов, случайным образом выводит на экран символы, изображающие клады и ядовитые плоды.
  2. моделирует движение питона по экрану
  3. изменяет направление движения при нажатии на выбранные клавиши
  4. игра завершается нажатием клавиши ESC, или при поедании ядовитого плода, или при выходе питона за рамку, ограничивающую игровое поле.
  5. при поедании клада увеличивается счет игрока, длина питона увеличивается на одно звено (один символ).
  1. Отладить программу и предъявить ее преподавателю, подготовить текст программы.
  2. Оформить отчет. Пример оформления отчета приведен в приложении 1.
  1. Уровни игры и оценивание результатов работы.
  1. уровень 1 (оценка 3(удовлетворительно)) - разработать и отладить программу, которая:
  1. формирует на экране игровое поле, ограниченное рамкой из символов,
  2. моделирует движение питона, состоящего из одного символа по экрану,
  3. изменяет направление движения при нажатии на выбранные клавиши,
  4. игра завершается нажатием клавиши ESC или при выходе питона за рамку, ограни-чивающую игровое поле
  1. уровень 2 (оценка 4(хорошо)) - разработать и отладить программу, которая:
  1. формирует на экране игровое поле, ограниченное рамкой из символов, случайным образом выводит на экран символы, изображающие клады и ядовитые плоды
  2. моделирует движение питона, состоящего из одного символа по экрану,
  3. изменяет направление движения при нажатии на выбранные управляющие клавиши,
  4. игра завершается нажатием клавиши ESC или при поедании ядовитого плода, или при выходе питона за рамку, ограничивающую игровое поле или при поедании ядовитого плода, или при выходе питона за рамку, ограничивающую игровое поле
  1. уровень 3 (оценка 5(отлично)) - разработать и отладить программу, которая:
  1. формирует на экране игровое поле, ограниченное рамкой из символов, случайным образом выводит на экран символы, изображающие клады и ядовитые плоды
  2. моделирует движение питона, состоящего из трех символов по экрану,
  3. изменяет направление движения при нажатии на выбранные управляющие клавиши,
  4. игра завершается нажатием клавиши ESC или при поедании ядовитого плода, или при выходе питона за рамку, ограничивающую игровое поле или при поедании ядовитого плода, или при выходе питона за рамку, ограничивающую игровое поле, или при самопересечении питона,
  5.  при поедании клада увеличивается счет игрока, длина питона увеличивается на одно звено (один символ).
  6. возможно изменение скорости движения питона (нажатие клавиш +/- )

5.Усложнение сценария приведено в приложении 2, оценивается дополнительно.


Приложение 1.

Пример оформления отчета о проделанной работе.

Отчет
Практическая работа №1

по Информатике и ИКТ

на тему

«Язык программирования Паскаль.
Используем видеопамять.
Разработка игры «Питон»»

Работа выполнена
учениками 10-А класса

ГОУ ФМЛ №366

Петровым Иваном

Санкт-Петербург, 2013г.


Цель работы:

  1. Изучить основные приемы работы с прямым доступом в текстовый буфер видеопамяти на языке Паскаль, научиться применять их при написании программ, закрепить приемы работы с условными и циклическими операторами; отработать навыки работы с индексными переменными.
  2. Овладеть методикой разработки простейших интерактивных игровых программ, моделирования движения объекта на экране средствами языка Паскаль;
  3. Закрепить на практике знания, полученные при изучении тем «Архитектура компьютера. Оперативная память компьютера», «Модуль CRT».
  4. Научиться грамотно оформлять результаты работы.
  1. Задачи:
  1. Разработка и отладка программы, реализующей сценарий игры Питон;
  2. Составление и оформление отчета.

  1. Задание:
  1. Разработать программу, реализующую следующий сценарий: питон, состоящий из символов и управляемый клавишами, бегает по экрану и поедает клады. С поеданием каждого клада длина питона возрастает. При этом нужно следить, чтобы не «съесть» собственный хвост или ядовитый плод.
  1. Ход работы.
  1. Составлена программа, которая
  1. формирует на экране игровое поле, ограниченное рамкой из символов ____, случайным образом выводит на экран символы, изображающие клады ____ и ядовитые плоды______.
  2. Программа отлажена и предъявлена преподавателю. ____________________________

                                                                                                    /подпись проверившего преподавателя/

  1. моделирует движение питона, состоящего из одного символа по экрану, изменяет направление движения при нажатии на выбранные клавиши, игра завершается нажатием клавиши ESC или при поедании ядовитого плода, или при выходе питона за рамку, ограничивающую игровое поле, при поедании клада увеличивается счет игрока
  2. Программа отлажена и предъявлена преподавателю. ____________________________
                                                                                                             
    /подпись проверившего преподавателя/
  3. моделирует движение питона, состоящего из трех символов по экрану, изменяет направление движения при нажатии на выбранные клавиши, игра завершается нажатием клавиши ESC или при поедании ядовитого плода, или при выходе питона за рамку, ограничивающую игровое поле, или при самопересечении питона, при поедании клада увеличивается счет игрока, длина питона увеличивается на одно звено (один символ).
  4. Программа отлажена и предъявлена преподавателю. ___________________________
                                                                                                             
    /подпись проверившего преподавателя/
  1. Описание работы:
  1. Глобальные переменные, типы данных пользователя, константы (перечислить и описать) - ____________________________________
  2. Структура программы (блок-схема алгоритма) ________________________________________
  3. Разработаны процедуры (имя, назначение, список входных/выходных параметров). __________________________________________________________________________
  1. Текст программы с комментариями: _________________________________________

Приложение .

Написать игру «Числовой питон».

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

На следующих уровнях возможны усиления сложности игры путем добавления «неядовитых» клеток с операциями умножения веса на заданное число (напр., [х2], [х1,2], [х2,3], [х0.5]); на экране они могут быть подсвечены. После чего вес питона изменяется в заданное количество раз и питон может найти нужное число среди имеющихся. Также при совершении определенного количества ползков (шагов) на экране появляются еще числа и ползать становится труднее и опаснее, так что долго выжидать нельзя. Подобная игра окажется полезной для развития навыка быстрого устного счета.

Практическая лабораторная работа №2.

«Язык программирования Паскаль. Строковый тип данных.
Разработка программы Калькулятор»

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

  1. Задание:
  1. Написать программу «Калькулятор», которая вычисляет арифметическое выражение, введенное с клавиатуры.
  2. Арифметическое выражение состоит из операндов и соединяющих их знаков арифметических операций.
  3. Выражение заканчивается знаком =, ввод строки заканчивается нажатием клавиши ENTER.
  4. Введенное выражение является синтаксически верным и не требует контроля синтаксиса.

  1. Ход работы.
  1. Составить программу, которая
  1. вводит с клавиатуры арифметическое выражение.
  2. вычисляет его значение
  3. выводит результат на экран
  1. Функционально законченные модули оформить в виде процедур или функций.
  2. Отладить программу и предъявить ее преподавателю, подготовить текст программы.
  3. Оформить отчет. Пример оформления отчета приведен в приложении 1.
  4. Подготовиться к защите лабораторной работы.

  1. Описание работы:
  1. Написать функцию Calculate(Expression: string): real, вычисляющую значение выражения, записанного в строке Expression. Выражение содержит действительные числа, знаки арифметических операций и скобки. Учитывается приоритет выполнения арифметических операций.
    Упрощение 1: отсутствие скобок.
    Упрощение 2: отсутствие операций умножения и деления
    Упрощение 3: Calculate(Expression: string): integer;
    Усложнение: наличие во входной строке некоторых математических функций.
  2. Входная информация для программы -
  3. Выходная информация –
  4. Глобальные переменные (перечислить и описать) -
  5. Структура программы (блок-схема алгоритма)
  6. Перечислить и описать (имя подпрограммы, назначение, список входных/выходных параметров) все разработанные подпрограммы.

  1. Выставляется итоговая оценка:

3 балла -- функция Calculate(Expression: string): integer вычисляет значение выражения, записанного в строке Expression. Выражение содержит 2 целых числа, знаки арифметических операций сложения и вычитания.

4 балла-- функция Calculate(Expression: string): integer вычисляет значение выражения, записанного в строке Expression. Выражение содержит целые числа, знаки арифметических операций сложения, вычитания.

5 баллов-- функция Calculate(Expression: string): real, вычисляет значение выражения, записанного в строке Expression. Выражение содержит действительные числа, знаки арифметических операций сложения, вычитания, умножения.

дополнительно 5 баллов-- функция Calculate(Expression: string): real, вычисляет значение выражения, записанного в строке Expression. Выражение содержит действительные числа, знаки арифметических операций сложения, вычитания, умножения, деления, скобки, некоторые алгебраические функции.

Дополнительно оценивается усложненный вариант – с разбором синтаксиса входной строки.


Приложение 2.
Пример оформления отчета о проделанной работе.

Отчет
Практическая №2

по Информатике и ИКТ

на тему

«Язык программирования Паскаль.
Строковый тип данных.
Разработка программы Калькулятор»

Работа выполнена
учениками 10-В класса

ГОУ ФМЛ №366

Петровым Иваном

Ивановым Петром

Санкт-Петербург, 2012г.


  1. Цель работы:
  1. Изучить основные приемы работы со строковыми данными, процедурами и функциями пользователя, рекурсивными алгоритмами и научиться применять их при написании программ на языке Паскаль;
  2. Овладеть методикой программирования алгоритмов синтаксического разбора строки символов;
  3. Закрепить на практике знания, полученные при изучении тем «Строки. Процедуры и функции. Рекурсия».
  4. Научиться грамотно оформлять результаты.
  1. Задачи:
  1. Разработка и отладка программы, реализующей вычисление арифметического выражения, введенного с клавиатуры.
  2. Составление и оформление отчета.

  1. Задание:
  1. Написать программу «Калькулятор», которая вычисляет арифметическое выражение, введенное с клавиатуры.
  2. Арифметическое выражение состоит из операндов и соединяющих их знаков арифметических операций.
  3. Выражение заканчивается знаком =, ввод строки заканчивается нажатием клавиши ENTER.
  4. Введенное выражение является синтаксически верным и не требует контроля синтаксиса.

  1. Ход работы.
  1. Составлена программа «Калькулятор», которая
  1. вводит с клавиатуры арифметическое выражение.
  2. вычисляет его значение
  3. выводит результат на экран
  1. Арифметическое выражение состоит из операндов и соединяющих их знаков арифметических операций.
  1. Операнды – целые (вещественные) числа (указать какие именно)
  2. Арифметические операции – сложение, вычитание, умножение, деление, возведение в степень (перечислить только реализованные операции и указать использованные обозначения операций, например, + - * / : ^ √ •)
  3. Реализовано вычисление математических функций (перечислить только реализованные функции и указать их обозначения, например, abs sqrt)
  1. Функционально законченные модули оформлены в виде подпрограмм.
  2. Программа отлажена и предъявлена преподавателю. __________________________________
                                                                                                             
    /подпись проверившего преподавателя/

  1. Описание работы:
  1. Входная информация для программы - ______________________________________________
  2. Выходная информация – __________________________________________________________
  3. Глобальные переменные, типы данных пользователя, константы (перечислить и описать) - ____________________________________
  4. Структура программы (блок-схема алгоритма) ________________________________________
  5.  Перечислить и описать все разработанные подпрограммы (процедура(функция), имя подпрограммы, для функции – тип результата, назначение, список входных/выходных параметров). __________________________________________________________________________

  1. Текст программы с комментариями: _________________________________________


Приложение 2.
Методические указания

Написать программу-калькулятор, которая вычисляет выражения, состоящие из цифр 0-9, операций сложения/вычитания, умножения/деления и скобок.

Приоритет умножения/деления выше, чем у сложения/вычитания.

Программа может быть построена на основе грамматики арифметического выражения:

<выражение>::=<слагаемое> <операция1> < слагаемое >

< слагаемое >::=<множитель> <операция2> < множитель >

<множитель >::=’0’|’1’|’2’|’3’|’4’|’5’|’6’|’7’|’8’|’9’

<операция1>::=< + > | < - >

<операция2>::=< * > | < : >

ЛЕКСЕМА (от греч. lexis – слово, выражение), слово, рассматриваемое как единица словарного состава языка.

Лексема - это минимальная независимая смысловая единица, которая может быть определена синтаксическим или лексическим анализатором выражения. Лексема может содержать данные(операнды, числа), ключевое слово выражения(арифметическая операция или имя алгебраической функции), идентификатор или другой элемент синтаксиса выражения. Token (токен) - значение соответствующей лексемы.

Пример программы, разбирающей выражение методом рекурсивного спуска.

type

  TypeTok = (_num, _plus, _minus, _mul, _div, _lparent, _rparent, _stop);

{ типы лексем – число, +, -, *, :, (, ), конец выражения }

var

  S: string;     {входная строка - выражение}

  TTok: TypeTok; {тип лексемы – разбираемого выражения}

  RTok: real;    {числовое значение лексемы}

  STok: string;  {строковое значение лексемы}

  _pos: byte;    {позиция текущего разбираемого символа в строке S}

procedure Expression(var x: real); forward;
{процедура вычисления значения выражения}

procedure Get;  
{процедура выделения очередной лексемы  в выражении}

var

  e: integer;

begin

  if _pos>length(S) then begin

    TTok:=_stop;

    exit;

  end;

  STok:='';

  while S[_pos] in [' ', #9] do inc(_pos);

  case S[_pos] of

    '0'..'9': begin

                while S[_pos] in ['0'..'9'] do begin

                  STok:=STok+S[_pos];

                  inc(_pos);

                end;

                if S[_pos]='.' then begin

                  STok:=STok+S[_pos];

                  inc(_pos);

                  while S[_pos] in ['0'..'9'] do begin

                    STok:=STok+S[_pos];

                    inc(_pos);

                  end;

                end;

                TTok:=_num;

                val(STok, RTok, e);

              end;

    '+':      begin TTok:=_plus; inc(_pos); end;

    '-':      begin TTok:=_minus; inc(_pos); end;

    '*':      begin TTok:=_mul; inc(_pos); end;

    '/':      begin TTok:=_div; inc(_pos); end;

    '(':      begin TTok:=_lparent; inc(_pos); end;

    ')':      begin TTok:=_rparent; inc(_pos); end;

    else

      {error}

  end;

end;

procedure Factor(var x: real);
{процедура обработки очередной лексемы}

var

  e: integer;

begin

  case TTok of

    _num:     begin

                x:=RTok;

                Get;

              end;

    _lparent: begin

                Get;

                Expression(x);

                if TTok=_rparent then

                  Get

                else

                  {error};

              end;

  end;

end;

procedure Term(var x: real);
{процедура обработки операций умножения или деления}

{ обработка терминальной лексемы}

var

  y: real;

  op: TypeTok;

begin

  Factor(x);

  while TTok in [_mul, _div] do begin

    op:=TTok;

    Get;

    Factor(y);

    case op of

      _mul: x:=x*y;

      _div: x:=x/y;

    end;

  end;

end;

procedure Expression(var x: real);
{процедура обработки операций сложения и вычитания}

                 { и вычисления значения выражения}

var

  y:  real;

  op: TypeTok;

begin

  Term(x);

  while TTok in [_plus, _minus] do begin

    op:=TTok;

    Get;

    Term(y);

    case op of

      _plus:  x:=x+y;

      _minus: x:=x-y;

    end;

  end

end;

procedure init;
{процедура задания начальных значений глобальным переменным и }

{ выделения первой лексемы}

begin

  STok:='';

  RTok:=0.0;

  _pos:=1;

  Get;

end;

var

  x: real;

begin

  write('> ');

  readln(S);

  while S<>'' do begin

    init;

    expression(x);

    writeln('   result = ', x:0:5);

    write('> ');

    readln(S);

  end;

end.

Лабораторная работа №1. 11 класс.

Сравнение методов сортировок.

Цели лабораторной работы:

-проанализировать алгоритмы на сложность, время выполнения, количества сравнений и обменов;

-показать различия в этих методах;

- научиться выбирать наиболее оптимальный способ сортировки данных.

Теоретический материал.

Сравнение  эффективности. Пусть, n – число  сортируемых  элементов, а  C  и  M  соответственно  число  необходимых  сравнений  элементов  и  число  обменов. Для  всех  прямых  методов  сортировки  можно  дать  точные  аналитические  формулы. Они   приводятся  в  таблице 1. Столбцы  Min, Avg, Max  определяют  соответственно  минимальное, усредненное  и  максимальное  по  всем  n!  перестановкам   из  n  элементов  значений. Для  усовершенствованных  методов  нет  простых  и  точных  формул. Для Heapsort  и Quicksort - c*n*log n , где  c – соответствующие  коэффициенты.

Таблица 1. Сравнение  прямых  методов  сортировки.

Min

Avg

Max

Прямое

включение

C =

M =

 n-1

 2(n-1)

(n2+n-2)/4

(n2-9n-10)/4

(n2-n)/2-1

(n2-3n-4)/2

Прямой

Выбор

C =

M =

(n2-n)/2

3(n-1)

(n2-n)/2

n*(ln n + 0.57)

(n2-n)/2

n2/4 +3(n-1)

Прямой  

обмен

C =

M =

(n2-n)/2

0

(n2-n)/2

(n2-n)*0.75

(n2-n)/2

(n2-n)*1.5

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

Задание. Согласно проделанным лабораторным работам:

  1. Распишите время выполнения программы для n=256, n=2048, 512, 1024, 2048, 4096, 6000, 8000.
  2. Заполните таблицы №2,3,4.
  3. Исходя из полученных данных всех лабораторных работ, постройте график зависимости каждой из сортировок от длины массива.
  4. Сделайте следующие выводы:
  1. В чем заключается отличие квадратичных(прямых) методов сортировок от логарифмических(усложненных)
  2. Какой из алгоритмов сортировки наихудший из рассматриваемых. На каких данных он дает наихудшие результаты.
  3. Какой из алгоритмов сортировки наилучший из рассматриваемых. На каких данных он дает наилучшие результаты.
  4. Какие алгоритмы сортировки данных следует выбирать при упорядочивании уже  упорядоченного  массива, случайной  перестановки  и  массива, расположенного  в  обратном  порядке и почему.

5.Оформите отчет о лабораторной работе с использованием текстового процессора, графики зависимости времени выполнения алгоритмов от длины массива постройте с помощью табличного процессора.

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

В ходе лабораторной работы должны быть рассмотрены не менее 3-х алгоритмов сортировок.

В  таблицах 2,3,4  собраны  времена  (в  секундах или долях секунды)  работы, обсуждавшихся  выше  методов  сортировки. Три  таблицы  содержат  времена  сортировки  уже  упорядоченного  массива, случайной  перестановки  и  массива, расположенного  в  обратном  порядке. В начале  приводятся  цифры  для  256  элементов, а  ниже – для 512, 1024, 2048, 4096, 6000, 8000 элементов массива для различных алгоритмов.

В приложении 1 приведены способы измерения времени выполнения процедуры сортировки. В приложении 2 приведен пример оформления отчета о проделанной работе.

Таблица №2

Время работы различных программ

Случайная  перестановка  элементов  массива

N

(элементов)

Простой обмен

(метод пузырька)

Простой обмен с условием

(метод пузырька с флажком)

Простой выбор

Простыми вставками

Шейкер

Быстрая сортировка Хоара

256

512

1024

2048

4095

6000

8000

Таблица №3

Время работы различных программ

Упорядоченный  массив

N

(элементов)

Простой обмен

(метод пузырька)

Простой обмен с условием

(метод пузырька с флажком)

Простой выбор

Простыми вставками

Шейкер

Быстрая сортировка Хоара

256

512

1024

2048

4095

6000

8000

Таблица №4

Время работы различных программ

Массив, элементы которого расположены  в  обратном  порядке

N

(элементов)

Простой обмен

(метод пузырька)

Простой обмен с условием

(метод пузырька с флажком)

Простой выбор

Простыми вставками

Шейкер

Быстрая сортировка Хоара

256

512

1024

2048

4095

6000

8000

Приложение 1.

Время выполнения процедуры может быть измерено одним из следующих способов:

В переменной Time сохраняется астрономическое или системное время до обращения к исследуемой процедуре. После вызова процедуры время замеряется повторно и находится разность первого и второго значений.

Определить время можно либо

1. обращением к процедуре Паскаля gettime(h,m,s,ms);

где         h - часы

        m- минуты

        s  - секунды

        ms- миллисекунды

2. обращением к системному таймеру, значение которого расположено в предопределенном массиве

        Meml[$40:$6C], а величина измеряется в условных единицах - тиках.

Пример

      Var

       h,m,s,ms:byte;

time:longint;

Begin

gettime(h,m,s,ms);

time:=ms+s*1000+m*60*1000+h*60*60*1000;

Sorting(A);

gettime(h,m,s,ms);

time:= (ms+s*1000+m*60*1000+h*60*60*1000)-time;

2.

…Var

time:longint;

Begin

      time:= Meml[$40:$6C];

Sorting(A);

      time:= Meml[$40:$6C]-time;

      …


        Приложение 2.
       Шаблон отчета по лабораторной работе №1

Лабораторная работа №1

по Информатике и ИКТ

на тему

«Сравнительный анализ быстродействия

различных алгоритмов сортировки»

учеников 11-Б класса

ФМЛ №366

Петрова Ивана

Иванова Петра

Санкт-Петербург, 2012г.


Цель работы:

  1. Научиться оценивать эффективность алгоритмов;
  2. Овладеть методикой измерения времени выполнения фрагментов программ;
  1. Научиться грамотно проводить измерения, оформлять результаты.
    Задачи:
  1. Разработка программы, осуществляющей измерение времени сортировки массивов различной длины с использованием не менее трех алгоритмов сортировки данных, оформленных в виде процедур языка Паскаль;
  2. Подбор параметров и проведение измерений времени сортировки, составление таблицы измерений;
  3. Построение графика зависимости времени сортировки от количества элементов в массиве для трех видов исходных данных (массив случайных чисел и тот же массив, упорядоченный по возрастанию/убыванию значений элементов массива);
  4. Составление и оформление отчета.
  1. Методика измерений:
  1. Для измерения времени выполнения фрагмента программы используется ... (функция GetTime() или системный таймер MEML[$40:$6c]  );
  2. Для устранения погрешности, обусловленной низкой точностью определения времени, сортировка повторяется K раз. Число K подбирается таким образом, чтобы суммарное время на К сортировок составляло 5 - 10 секунд;
  1. Для устранения погрешности, вносимой служебными операциями (заполнение массива, выполнение оператора цикла), отдельно измеряется время, затрачиваемое на эти операции, после чего оно вычитается из первоначально полученного.
    Исходные данные:
  1. Методы сортировки: метод Хоара и методы ____________________________________;
  2. Диапазон длин массива: от ___ до ___ с шагом ___;
  1. Результаты измерений (см. Приложение 1):

Длина массива (шт)

T1 (сек*10-2)

T2 (сек*10-2)

N1

T11

T21

N2

T21

T22

Nn

T2n

T2n

  1. График:
    7. Выводы:
    1.Алгоритм сортировки ____________ на предложенных длинах массива случайных чисел оказался более эффективен, чем алгоритм сортировки ____________.

      2. Алгоритм сортировки ____________ на предложенных длинах упорядоченной по возрастанию последовательности чисел оказался более эффективен, чем алгоритм сортировки ____________.

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

Оформите отчет о лабораторной работе с использованием текстового процессора, графики зависимости времени выполнения алгоритмов от длины массива постройте с помощью табличного процессора.

Текст программ и блок-схему алгоритма приложите к отчету.


Приложение 1.

Таблица №1 Результаты измерений.

Время работы различных алгоритмов сортировки

Случайная  перестановка  элементов  массива

N

(элементов)

Простой обмен

(метод пузырька)

Простой обмен с условием

(метод пузырька с флажком)

Простой выбор

Простыми вставками

Шейкер

Быстрая сортировка Хоара

256

512

1024

2048

4095

6000

8000

Таблица №2 Результаты измерений.

Время работы различных алгоритмов сортировки

Упорядоченный  массив

N

(элементов)

Простой обмен

(метод пузырька)

Простой обмен с условием

(метод пузырька с флажком)

Простой выбор

Простыми вставками

Шейкер

Быстрая сортировка Хоара

256

512

1024

2048

4095

6000

8000

Таблица №3 Результаты измерений.

Время работы различных алгоритмов сортировки

Массив, элементы которого расположены  в  обратном  порядке

N

(элементов)

Простой обмен

(метод пузырька)

Простой обмен с условием

(метод пузырька с флажком)

Простой выбор

Простыми вставками

Шейкер

Быстрая сортировка Хоара

256

512

1024

2048

4095

6000

8000

Приложение 2.

Время выполнения процедуры может быть измерено одним из следующих способов:

В переменной Time сохраняется астрономическое или системное время до обращения к исследуемой процедуре. После вызова процедуры время замеряется повторно и находится разность первого и второго значений.

Определить время можно либо

1. обращением к процедуре Паскаля GetTime(h,m,s,ms);

где         h - часы

        m- минуты

        s  - секунды

        ms- миллисекунды

2. обращением к системному таймеру, значение которого расположено в предопределенном массиве

        Meml[$40:$6C], а величина измеряется в условных единицах - тиках.

Пример

1    …

      Var

       h,m,s,ms:byte;

time:longint;

Begin

gettime(h,m,s,ms);

time:=ms+s*1000+m*60*1000+h*60*60*1000;

Sorting(A);

gettime(h,m,s,ms);

time:= (ms+s*1000+m*60*1000+h*60*60*1000)-time;

2.

      Var

time:longint;

Begin

      time:= Meml[$40:$6C];

Sorting(A);

      time:= Meml[$40:$6C]-time;

      …

Приложение 3.   Сравнение  прямых  методов  сортировки.

Min

Avg

Max

Прямое

включение

C =

M =

 n-1

 2(n-1)

(n2+n-2)/4

(n2-9n-10)/4

(n2-n)/2-1

(n2-3n-4)/2

Прямой

Выбор

C =

M =

(n2-n)/2

3(n-1)

(n2-n)/2

n*(ln n + 0.57)

(n2-n)/2

n2/4 +3(n-1)

Прямой  

обмен

C =

M =

(n2-n)/2

0

(n2-n)/2

(n2-n)*0.75

(n2-n)/2

(n2-n)*1.5

Лабораторная работа №2. 11 класс.

«Типизированные файлы. Разработка базы данных
средствами языка программирования Паскаль»

  1. Цель работы:
  1. Изучить основные приемы работы с типизированными файлами и научиться применять их при написании программ на языке Паскаль;
  2. Овладеть методикой разработки базы данных и написания программных модулей, реализующих простейшие функции системы управления базой данных;
  3. Закрепить на практике знания, полученные при изучении темы «Базы данных: хранение и поиск информации».
  4. Научиться грамотно оформлять результаты.
  1. Задачи:
  1. Разработка и отладка программы, реализующей простейшие функции системы управления базой данных – создание файла, добавление записей в существующий файл, поиск записи в файле по ее номеру или по запросу, удаление записи из файла, вывод всех записей файла, сортировка записей в файле по значению заданного поля, оформленные в виде процедур языка Паскаль;
  2. Составление и оформление отчета.

  1. Задание:
  1. Создать базу данных в соответствии с. вариантом задания № _____________.
  2. Запись в файле базы данных содержит следующую информацию:
    (привести структуру записи в соответствии с заданием)____________________
  1. Ход работы.
  1. Составить программу, которая
  1. реализует интерфейс пользователя при работе с базой в виде меню (выводит на экран список предлагаемых процедур)
  2. создает файл записей заданного типа
  3. добавляет в него записи
  4. выводит записи из файла на экран
  5. осуществляет поиск записи или по ее номеру в файле, или по запросу – заданным значениям выбранных полей
  6. удаляет указанную запись из файла
  7. сортирует записи в файле по значению выбранного поля
  1. Функционально законченные модули оформить в виде процедур.
  2. Процедуры оформить в виде отдельного программного модуля.
  3. Отладить программу и предъявить ее преподавателю, подготовить текст программы.
  4. Оформить отчет. Пример оформления отчета приведен в приложении 2.
  5. Подготовиться к защите лабораторной работы.
  1. Описание работы:
  1. Входная информация для программы -
  2. Выходная информация –
  3. Структура записи, описывающая таблицу данных (имена и типы полей записи, указание ключевых полей и обязательных для заполнения)
  4. Глобальные переменные (перечислить и описать) -
  5. Структура программы (блок-схема алгоритма)
  6.  Перечислить и описать (имя процедуры, назначение, список входных/выходных параметров) все разработанные процедуры.
  1. Текст программы с комментариями:

Приложение 1.

Варианты заданий.

  1. Файл данных об учениках школы:

Файл данных:

Файл успеваемости:

Учетный номер; фамилия; имя; адрес (улица; дом; квартира); телефон; возраст; пол; класс; средний балл; признак модификации записи.

Учетный номер; оценка 1; оценка 2; оценка 3; оценка 4; экзаменационная оценка.

  1. Файл медицинских данных:

Файл данных:

Файл с прививочным листом:

Учетный номер; фамилия; имя; адрес (улица; дом; квартира); телефон; возраст; пол; класс; рост; вес; количество прививок, сделанных в текущем году; признак модификации записи.

Учетный номер; название прививки; дата (год,месяц,число).

  1. Файл данных о работниках предприятия:

Файл данных:

Файл с текущими выплатами:

Табельный номер; Фамилия; Имя; Адрес (улица, дом, квартира); телефон; пол; возраст; должность; оклад жалованья; общая сумма выплат за текущий календарный год; признак модификации записи.

Табельный номер; сумма; дата.

Файл данных об автомобилях:

Файл данных:

Файл штрафов:

Номер автомобиля; марка; фамилия владельца; имя владельца; адрес владельца (улица; дом; квартира); количество штрафных квитанций за текущий календарный год; признак модификации записи.

Номер автомобиля; код нарушения; номер квитанции; дата выдачи.

  1. Файл данных Библиотека.

Файл данных - Читатели библиотеки:

Файл данных о книгах:

Номер читательского билета (автоиндексируемое поле), Фамилия, Имя, Адрес (улица, дом, квартира); телефон; место работы/учебы; количество взятых книг, признак модификации записи.

Архивный номер; Наименование; Автор; кому выдана (номер читательского билета, 0 --- не выдана); дата выдачи.

  1. Файл данных видеозаписей.

Файл данных:

Файл друзей:

Архивный номер; название фильма; режиссер; год выпуска; страна; актеры; носитель       (видеокассета,DVD,CD); отдано (0 – на месте или номер соответствующей записи в файле друзей), признак модификации записи.

Фамилия, Имя, телефон, дата выдачи, дата возвращения.

  1. Файл данных аудиозаписей.

Файл данных:

Файл друзей:

Архивный номер; название ; исполнитель; произведения ( название, музыка, слова ); носитель       (аудиокассета, CD); отдано (0 – на месте или номер соответствующей записи в файле друзей), признак модификации записи.

Фамилия, Имя, телефон, дата выдачи (год, месяц, число), дата возвращения (год, месяц, число).

8.Записная книжка.

Файл данных:

Файл –напоминалка:

Номер, Фамилия, имя, адрес ( улица; дом; квартира ), телефон (домашний, служебный, мобильный ), дата рождения (год, месяц, число), памятка (номер записи в файле-напоминалке, 0 – если запись отсутствует), признак модификации записи.

Что сделать, когда ( дата ).


Приложение 2.
Пример оформления отчета о проделанной работе.

Отчет
Лабораторная работа №2

по Информатике и ИКТ

«Типизированные файлы.
Разработка базы данных
средствами языка программирования Паскаль»

Работа выполнена
учениками 11-Б класса

ГОУ ФМЛ №366

Петровым Иваном

Ивановым Петром

Санкт-Петербург, 2013г.


Цель работы:

  1. Изучить основные приемы работы с типизированными файлами и научиться применять их при написании программ на языке Паскаль;
  2. Овладеть методикой проектирования и разработки базы данных и написания программных модулей, реализующих простейшие функции системы управления базой данных;
  3. Закрепить на практике знания, полученные при изучении темы «Базы данных: хранение и поиск информации».
  4. Научиться грамотно оформлять результаты работы.
  1. Задачи:
  1. Разработка и отладка программы, реализующей простейшие функции системы управления базой данных – создание файла, добавление записей в существующий файл, поиск записи в файле по ее номеру или по запросу, удаление записи из файла, вывод всех записей файла, сортировка записей в файле по значению заданного поля, оформленные в виде процедур языка Паскаль;
  2. Составление и оформление отчета.

  1. Задание:
  1. Создать табличную базу данных в соответствии с. вариантом задания № _____________.
  2. Запись в файле базы данных содержит следующую информацию:
    (привести структуру записи в соответствии с заданием)__________________________
  1. Ход работы.
  1. Определена следующая структура базы данных – таблица, содержащая (указать количество) полей (далее перечислить их названия и тип данных, хранящихся в них): _______________________________________________________________
    «имя поля»(тип данных) - ключевое или нет, обязательно для заполнения или нет, содержит ________________________________
    . . .
  2. Составлена программа, которая (перечислить только отлаженные функции)
  1. реализует интерфейс пользователя при работе с базой в виде меню (выводит на экран список предлагаемых процедур)
  2. создает файл записей заданного типа
  3. добавляет в него записи
  4. выводит записи из файла на экран
  5. осуществляет поиск записи или по ее номеру в файле, или по запросу – заданным значениям выбранных полей
  6. удаляет указанную запись из файла
  7. сортирует записи в файле по значению выбранного поля
  1. Функционально законченные модули оформлены в виде процедур.
  2. Процедуры оформлены в виде отдельного программного модуля. (указать имя модуля и распечатать исходный текст в случае выполнения)
  3. Программа отлажена и предъявлена преподавателю. __________________________________
                                                                                                             
    /подпись проверившего преподавателя/
  1. Описание работы:
  1. Входная информация для программы - ______________________________________________
  2. Выходная информация – __________________________________________________________
  3. Структура записи, описывающая таблицу данных (имена и типы полей записи, в комментариях указать ключевые поля и обязательные для заполнения) _________________________________________
  4. Глобальные переменные, типы данных пользователя, константы (перечислить и описать) - ____________________________________
  5. Структура программы (блок-схема алгоритма) ________________________________________
  6.  Перечислить и описать (назначение, список входных/выходных параметров) все разработанные процедуры. __________________________________________________________________________
  1. Текст программы с комментариями: _________________________________________

Лабораторная работа №3

«Разработка табличной базы данных
с использованием пакета офисных приложений Ms Office»

  1. Цель работы:
  1. Изучить основные приемы по проектированию баз данных и работе с СУБД для персонального компьютера на примере пакета офисных приложений Ms Office – процессора электронных таблиц MS Excel и СУБД Ms Access, научиться применять их на практике;
  2. Овладеть методикой организации хранения и поиска информации - разработки и создания базы данных, составления и формирования библиотек запросов, форм, отчетов с использованием системы управления базой данных;
  3. Закрепить на практике знания, полученные при изучении темы «Базы данных: хранение и поиск информации».
  4. Научиться грамотно оформлять результаты работы.
  1. Задачи:
  1. Создание структуры базы данных.
  2. Создание базы данных в среде Ms Access и MS Excel. Формирование форм, запросов и отчетов с использованием возможностей Ms Access. Вывод результатов работы;
  3. Сравнение возможностей языка программирования Паскаль, программ MS Excel и СУБД Ms Access для организации хранения и поиска информации на персональном компьютере.
  4. Составление и оформление отчета.

  1. Задание:
  1. Создать базу данных в соответствии с.выданным вариантом задания (см. лабораторную работу №2).
  1. В среде MS Excel
  2. В среде Ms Access
  1. Запись в файле базы данных должна содержать следующую информацию:
    (привести структуру записи в соответствии с заданием)
  2. Используя возможности MS Excel и Ms Access осуществить поиск данных, добавление записей в базу, удаление записей из базы, сортировку записей.
  1. Ход работы.
  1. Создать структуру базы данных – количество полей, их называния и тип данных, в них хранящихся.
  2. Создать базу данных в среде MS Excel.(можно воспользоваться учебником Н.Д. Угриновича – см. гл. 10.3 – 10.4)
  1. Составить таблицы в MS Excel, заполнить их 3-5 записями
  2. заполнить с использованием формы
  3. составить запрос на поиск записи по заданным значениям выбранных полей
  4. удалить указанную запись из таблицы
  5. сортировать записи в таблице по значению выбранных полей
  6. распечатать результаты работы
  1. Создать базу данных в среде Ms Access.(можно воспользоваться учебником Н.Д. Угриновича – см. гл. 11.3 – 11.4)
  1. Составить таблицы в MS Excel, заполнить их 3-5 записями
  2. заполнять с использованием формы
  3. составить запрос на поиск записи по заданным значениям выбранных полей
  4. удалить указанную запись из таблицы
  5. сортировать записи в таблице по значению выбранного поля
  6. распечатать результаты работы
  1. Результаты работы предъявить преподавателю.
  2. Оформить отчет.
  3. Подготовиться к защите лабораторной работы.
  1. Описание работы:
  1. В среде MS Excel – перечислить выполненные задания
  2. В среде Ms Access – перечислить выполненные задания
  3. Сделать выводы о применении различных программных средств, предназначенных для организации хранения и поиска информации на компьютере, в зависимости от имеющгося программного обеспеченмия, поставленных целей, имеющихся возможностей, объемов данных, структуры данных, характеристик компьютера, и т.д.

Приложение 1.

Варианты заданий.

  1. Файл данных об учениках школы:

Файл данных:

Файл успеваемости:

Учетный номер; фамилия; имя; адрес (улица; дом; квартира); телефон; возраст; пол; класс; средний балл; признак модификации записи.

Учетный номер; оценка 1; оценка 2; оценка 3; оценка 4; экзаменационная оценка.

  1. Файл медицинских данных:

Файл данных:

Файл с прививочным листом:

Учетный номер; фамилия; имя; адрес (улица; дом; квартира); телефон; возраст; пол; класс; рост; вес; количество прививок, сделанных в текущем году; признак модификации записи.

Учетный номер; название прививки; дата (год,месяц,число).

  1. Файл данных о работниках предприятия:

Файл данных:

Файл с текущими выплатами:

Табельный номер; Фамилия; Имя; Адрес (улица, дом, квартира); телефон; пол; возраст; должность; оклад жалованья; общая сумма выплат за текущий календарный год; признак модификации записи.

Табельный номер; сумма; дата.

Файл данных об автомобилях:

Файл данных:

Файл штрафов:

Номер автомобиля; марка; фамилия владельца; имя владельца; адрес владельца (улица; дом; квартира); количество штрафных квитанций за текущий календарный год; признак модификации записи.

Номер автомобиля; код нарушения; номер квитанции; дата выдачи.

  1. Файл данных Библиотека.

Файл данных - Читатели библиотеки:

Файл данных о книгах:

Номер читательского билета (автоиндексируемое поле), Фамилия, Имя, Адрес (улица, дом, квартира); телефон; место работы/учебы; количество взятых книг, признак модификации записи.

Архивный номер; Наименование; Автор; кому выдана (номер читательского билета, 0 --- не выдана); дата выдачи.

  1. Файл данных видеозаписей.

Файл данных:

Файл друзей:

Архивный номер; название фильма; режиссер; год выпуска; страна; актеры; носитель       (видеокассета,DVD,CD); отдано (0 – на месте или номер соответствующей записи в файле друзей), признак модификации записи.

Фамилия, Имя, телефон, дата выдачи, дата возвращения.

  1. Файл данных аудиозаписей.

Файл данных:

Файл друзей:

Архивный номер; название ; исполнитель; произведения ( название, музыка, слова ); носитель       (аудиокассета, CD); отдано (0 – на месте или номер соответствующей записи в файле друзей), признак модификации записи.

Фамилия, Имя, телефон, дата выдачи (год, месяц, число), дата возвращения (год, месяц, число).

8.Записная книжка.

Файл данных:

Файл –напоминалка:

Номер, Фамилия, имя, адрес ( улица; дом; квартира ), телефон (домашний, служебный, мобильный ), дата рождения (год, месяц, число), памятка (номер записи в файле-напоминалке, 0 – если запись отсутствует), признак модификации записи.

Что сделать, когда ( дата ).


Приложение 2.
Пример оформления отчета о проделанной работе.

Отчет
Лабораторная работа №3

по Информатике и ИКТ

«Разработка базы данных с использованием пакета офисных приложений Ms Office»

Работа выполнена
учениками 11-Б класса

ГОУ ФМЛ №366

Петровым Иваном

Ивановым Петром

Санкт-Петербург, 2013г.


Цель работы:

  1. Изучить основные приемы по проектированию баз данных и работе с СУБД для персонального компьютера на примере пакета офисных приложений Ms Office – процессора электронных таблиц MS Excel и СУБД Ms Access, научиться применять их на практике;
  2. Овладеть методикой организации хранения и поиска информации - разработки и создания базы данных, составления и формирования библиотек запросов, форм, отчетов с использованием системы управления базой данных;
  3. Закрепить на практике знания, полученные при изучении темы «Базы данных: хранение и поиск информации».
  4. Научиться грамотно оформлять результаты.
  1. Задачи:
  1. Создание структуры табличной базы данных.
  2. Создание базы данных в среде Ms Access и MS Excel. Формирование форм, запросов и отчетов с использованием возможностей Ms Access. Вывод результатов работы;
  3. Сравнение возможностей языка программирования Паскаль, MS Excel и СУБД Ms Access для организации хранения и поиска информации на персональном компьютере.
  4. Составление и оформление отчета.

  1. Задание:
  1. Создана база данных в соответствии с. вариантом задания №.________ (см. лабораторную работу №2)
  1. В среде MS Excel
  2. В среде Ms Access
  1. Запись в файле базы данных содержит следующую информацию:
    (привести структуру записи в соответствии с заданием)________________________________
  1. Ход работы. (указать только выполненные задания)
  1. В среде MS Excel
  1. Составлены таблицы в MS Excel, заполнены ______ записями
  2. заполнены с использованием форм (каких) ________________
  3. составлены запросы на поиск записи по заданным значениям выбранных полей ______________________
  4. удалены указанные записи из таблицы
  5. отсортированы записи в таблице по значению выбранного поля
  6. распечатанные результаты работы или
    результаты работы  предъявлены преподавателю. . оценка_____________________________
                                                                                                             
    /подпись проверившего преподавателя/
  1. В среде Ms Access.
  1. Составлены таблицы в MS Excel, заполнены ______ записями
  2. заполнены с использованием форм (каких) ________________
  3. составлены запросы на поиск записи по заданным значениям выбранных полей ______________________
  4. удалены указанные записи из таблицы
  5. отсортированы записи в таблице по значению выбранного поля
  6. распечатанные результаты работы или
    результаты работы  предъявлены преподавателю. . оценка _____________________________
                                                                                                             
    /подпись проверившего преподавателя/
  1. Результаты работы предъявлены преподавателю. . оценка _______________________________
                                                                                                             
    /подпись проверившего преподавателя
  1. Выводы:
  1. Сделать выводы
  1. о выборе тех или других программных средств, предназначенных для организации хранения и поиска информации на компьютере, в зависимости от имеющегося программного обеспечения, поставленных целей, имеющихся возможностей, объемов данных, структуры данных, характеристик компьютера, и т.д.
  2. о Ваших предпочтениях в выборе различных программ, предназначенных для организации хранения и поиска информации на компьютере

ПРОГРАММА ПРАКТИКУМА №1 В 9-Х КЛАССАХ

«Программирование простых аркадных игр»

Количество учебных часов: 7

Цель практикума

Усилить интерес к предмету. Закрепить полученные знания по темам: «Символы», «Обработка нажатых клавиш», «Циклы While и Repeat», «Генератор случайных чисел», «Процедуры и функции модуля CRT».

Задание на практикум

Написать игру «Клавиатурный тренажер».

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

В игре могут быть предусмотрены расширения, связанные с наличием уровней сложности:

А) Буквы сначала падают не любые, а лишь из определенного набора: например: «ФЫВА» и «ОЛДЖ»; затем при достижении следующего уровня игры (при наборе заданного количества очков) количество возможных букв увеличивается.

Б) Усложнение на некоторых уровнях может достигаться путем увеличения скорости падения бомбы.

В) На сложных уровнях может падать не просто буква, а целое слово, которое нужно «сбить», правильно набирая его. В наивысших уровнях падает не слово, а целая фраза.

Контроль выполнения

3–4 час. Промежуточный контроль: оценивается работа, выполненная дома и незавершенная в классе.

6-7 час. Итоговая оценка за практикум выставляется с учетом усложнения игры.

ПРОГРАММА ПРАКТИКУМА №1 В 10-Х КЛАССАХ

«Синтаксический разбор строки»

Количество учебных часов: 5

Цель практикума

Синтаксический разбор строки – важнейшая задача при создании компиляторов. Целью практикума является: научиться выполнять простейшие синтаксические разборы и закрепить навыки написания процедур, включая рекурсивные.

Задание на практикум

Написать функцию Calculate(Expression: string): real, вычисляющую значение выражения, записанного в строке Expression. Выражение содержит действительные числа, знаки арифметических операций и скобки.

Упрощение 1: отсутствие скобок.

Упрощение 2: отсутствие операций умножения и деления

Усложнение: наличие во входной строке некоторых алгебраических функций.

Контроль выполнения

4-5 час. Выставляется итоговая оценка.

Дополнительно оценивается усложненный вариант.

ПРОГРАММА ПРАКТИКУМА №1 В 11-Х КЛАССАХ

«Программирование логических игр»

Количество учебных часов: 11

Цель практикума

Получение навыков программирования логических игр, связанных с поиском оптимальной стратегии за компьютер.

Задание на практикум

Реализовать алгоритм игры «Домино», предусматривающий «честную» (без знания «костей» противника) стратегию за компьютер.

Контроль выполнения

2-3 час. Должна выполняться правильно случайная раздача «костей» и визуальное оформление рабочего стола.

4-5 час. Реализация алгоритма «человек против человека» с проверками на правильность ходов и на отсутствие дублированных «костей».

6-9 час. Реализация алгоритма за компьютер.

10-11 час. Окончательная отладка и выставление итоговых оценок.

АЛЬТЕРНАТИВНАЯ ПРОГРАММА ПРАКТИКУМА №1 В 11-Х КЛАССАХ

«Задачи с двумерными массивами»

Количество учебных часов: 5

Цель практикума

Закрепить знания по использованию двумерных массивов.

Задания на практикум

Вариант 1. Игра «Жизнь»

Реализовать на компьютере популярную математическую головоломку – игру «Жизнь».

Контроль выполнения

2-3 час. Моделирование без отображения результатов на экране.

4-5 час. Окончательный вариант игры. Выставление итоговых оценок.

Вариант 2. Решение систем линейных уравнений методом Крамера

Написать программу для решения систем N линейных алгебраических уравнений с N неизвестными по методу Крамера. Для случая наличия бесконечного множества решений вывести вид решений.

Контроль выполнения

2-3 час. Рекуррентная процедура вычисления определителя.

4-5 час. Отладка программ. Выставление итоговой оценки.

Вариант 3. Поиск кратчайшего пути в графе

Написать программу нахождения кратчайшего пути в графе.

Дополнительное задание. Задача коммивояжера

Контроль выполнения

2-3 час. Рекуррентная процедура поиска кратчайшего пути.

4-5 час. Отладка программ. Выставление итоговой оценки.

ПРОГРАММА ПРАКТИКУМА №2 В 11-Х КЛАССАХ

«Написание собственных модулей»

Количество учебных часов: 9

Цель практикума

Закрепление знаний по теме «модули».

Задания на практикум

Вариант 1. Библиотека работы с «длинными» числами

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

Дополнительные задания. Написать подпрограмму деления длинных чисел с остатком.

Контроль выполнения

2-3 час. Описание типа «длинное число». Подпрограммы вывода на экран и перевода строки в длинное число.

4-5 час. Подпрограммы сложения и вычитания.

6-7 час. Подпрограмма умножения.

8-9 час. Подпрограмма возведения в степень. Отладка подпрограмм. Выставление итоговой оценки.

Вариант 2. Библиотека операций в трехмерном пространстве

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

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

Контроль выполнения

2-3 час. Описание типов «трехмерная точка», «трехмерная фигура». Подпрограммы параллельного переноса, гомотетии.

4-5 час. Подпрограмма проекции на плоскость экрана.

6-7 час. Подпрограммы поворота и симметрии.

8-9 час. Отладка. Итоговая оценка.

ПРОГРАММА ПРАКТИКУМА №3 В 11-Х КЛАССАХ

«Написание собственной базы данных»

Количество учебных часов: 9

Цель практикума

Закрепление знаний по теме «типизированные файлы». Ознакомиться с правилами организации и обработки баз данных.

Задание на практикум

Написать собственную базу данных (например, базу данных аудио-, видеозаписей, картотеку клиентов фирмы, программу учета товара на складе). При программировании необходимо описать типы записей СУБД. В базе данных должны использоваться функции поиска, поиска по маске; вставки, удаления записи; индексирования.

Контроль выполнения

2-3 час. Описание типов записей БД, файла БД, индексного файла. Подпрограмма вставки и удаления записи.

4-5 час. Разработка экранного (пользовательского) интерфейса.

6-7 час. Индексирование.

8-9 час. Поиск по маске. Итоговая оценка.

ПРОГРАММА ПРАКТИКУМА №4 В 11-Х КЛАССАХ

«Создание объектно-ориентированных программ»

Количество учебных часов: 11

Цель практикума

Практическое освоение принципов объектно-ориентированного программирования. Развитие умения работать в группе. Проверка профессиональных навыков.

Задание на практикум

Задания на практикум выдаются индивидуально на группу 2-3 человека. Возможные темы: «Библиотека плоских графических объектов», «Объектно-ориентированная библиотека работы с матрицами», «Объектная библиотека работы с окнами и меню», игровые программы, в которых задействованы объекты с разными моделями поведения и обладающие виртуальными методами такими как: «сделать очередной шаг», «сделаться уничтоженным» и проч. В играх должен действовать объект–игровая оболочка.

Контроль выполнения: индивидуальный

ИСПОЛЬЗУЕМ ВИДЕОПАМЯТЬ

Вариант темы для специального раздела части i
(10-й класс) и программа практикума

Тема

К-во
часов

ВИДЕОПАМЯТЬ. ПРИНЦИП ХРАНЕНИЯ ТЕКСТОВОЙ ИНФОРМАЦИИ НА ВИДЕОСТРАНИЦЕ

10

Структура экранной памяти

Методы обращения к видеостранице через псевдомассив Mem[.].

Структура памяти IBM-совместимых компьютеров. Понятие сегмента и смещения

Практикум (см. в этом разделе)

ПРОГРАММА ПРАКТИКУМА В РАМКАХ СПЕЦРАЗДЕЛА

«Используем видеопамять»

Количество учебных часов: 7

Цель практикума

Усилить интерес к предмету через решение интересных игровых задач. Закрепить полученные знания по теме «Видеопамять» и по другим пройденным темам. Заложить навыки работы с индексными переменными.

Задания на практикум

Вариант 1

Написать игру «Питон».

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

Вариант 2

Написать игру «Числовой питон».

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

На следующих уровнях возможны усиления сложности игры путем добавления «неядовитых» клеток с операциями умножения веса на заданное число (напр., [х2], [х1,2], [х2,3], [х0.5]); на экране они могут быть подсвечены. После чего вес питона изменяется в заданное кол-во раз и питон может найти нужное число среди имеющихся. Также при совершении определенного количества ползков (шагов) на экране появляются еще числа и ползать становится труднее и опаснее, так что долго выжидать нельзя. Подобная игра окажется полезной всем людям для развития навыка быстрого устного счета.

Вариант 3

Написать игру «XONIX»

Сценарий игры. На экране летают шарики в виде символов, ударяясь о «стенки» и продолжая полет с отражением. Необходимо, управляя кареткой сужать пространство для шариков, набирая тем самым очки. Если в момент «отрезания» куска поля один из шариков коснулся начерченного, но незавершенного контура количество жизней уменьшается на единицу.


По теме: методические разработки, презентации и конспекты

Методика проведения лабораторных работ физического практикума в 10 - 11 классах профильного уровня обучения.

                                             АннотацияДанная методическая разработка включает в себя инструкции для проведения лабораторных работ физического практикума  в десятых и одиннадцатых класс...

Методическое пособие "Лабораторные работы по физике"

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

Учебное пособие для проведения географического практикума для обучающихся профильных классов

В учебном пособии представлен теоретический материал для подготовки к исследованиям и наблюдениям в полевых условиях, во время походов и экскурсий; представлены приёмы глазомерной съёмки местности, ор...

Методические рекомендации по проведению лабораторных работ и практикума по физике.

В работе содержатся  методические рекомендации по проведению лабораторных работ и практикума по физике, один из вариантов проведения лабораторных работ в 8 классе, многоуровневый физический практ...

Учебное пособие "Лабораторный практикум по химии" для студентов 1 курса (специальности технического профиля)

Учебное пособие «Лабораторный практикум по химии» соответствует образовательному стандарту дисциплины «Химия» для специальностей технического профиля. «Практикум  по химии» предназначен для закре...

Методическое пособие "Лабораторные работы по дисциплине "Физика"

Методическое пособие поможет студентам в освоении теоретических и лабораторных понятий информационных технологий, а преподавателю в проверке качества знаний обучаемых.Основная цель выполнения лаборато...

Учебно-методическое пособие "Организация работы компьютерного кружка по информатике"

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