Лабораторная работа "Игра Баше"
материал для подготовки к егэ (гиа) на тему

Баринова Екатерина Олеговна

Цель: сформировать представление о различных способах ввода и вывода данных.

Задачи:

1)          развить умение разрабатывать алгоритмы с использованием условного оператора, циклов и функций ввода и вывода;

2)          построить описательную, формальную и компьютерную модели, провести компьютерный эксперимент, проанализировать результаты

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

4)          подготовка к решению задач типа C3 и С4 из ЕГЭ.

Скачать:

ВложениеРазмер
Файл igra_bashe.rar48.79 КБ

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

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

Проект «Игра Баше[1]»

Цель: сформировать представление о различных способах ввода и вывода данных.

Задачи: 

  1. развить умение разрабатывать алгоритмы с использованием условного оператора, циклов и функций ввода и вывода;
  2. построить описательную, формальную и компьютерную модели, провести компьютерный эксперимент, проанализировать результаты
  3. закрепить умения при выполнении самостоятельных заданий.
  4. подготовка к решению задач типа C3 и С4 из ЕГЭ.

Опорные знания:

  • операторы ввода и вывода;
  • условный оператор;
  • циклы.

Оборудование и средства обучения: компьютер с установленной средой программирования Visual Basic 2008 (2005);

Ход урока:

Суть игры состоит в следующем: имеется N предметов, а два игрока по очереди берут 1, 2 или 3 предмета, причем проигрывает тот игрок, который забирает последний предмет.

В начале игры и после каждого хода существуют четыре варианта количества предметов, которое можно выразить с помощью следующих формул:

N = 4 · K; N = 4 · K + 1; N = 4 · K + 2; N = 4 · K + 3, где K = 0, 1, 2,…

Выигрышная стратегия состоит в том, Чтобы после своего хода осталось 1, 5, 9, 13 и так далее предметов, то есть в общем случае, должно оставаться 4 · K +1  предмет, где K = 0, 1, 2,… Таким образом, в каждом из вышеперечисленных случаев необходимо взять на своем ходе определенное количество предметов:

  • При N = 4 · K – взять 3 предмета;
  • При N = 4 · K+1 – не существует 100% выигрышной стратегии, поэтому можно брать произвольное количество предметов, оставляя возможность осуществить выигрышную стратегию другому игроку;
  • При N = 4 · K + 2 – взять 1 предмет;
  • При N = 4 · K + 3 – взять 2 предмета.

Создадим проект, реализующий игру Баше, в котором одним игроком является компьютер, а другим – пользователь.

  1. Поместите на форму кнопку и текстовое поле. Напишем обработчик события для кнопки:

Dim bytN, bytI, bytK As Integer

Dim strx, bytB As String

Randomize()

bytI = 0

bytN = Int(10 + 10 * Rnd())

   TextBox1.Text = TextBox1.Text + "Первоначально кол-во предметов: " + Str(bytN) + vbCrLf

  1. Добавьте в код процедуры строки:

bytB = MsgBox("Кол-во предметов " + Str(bytN) + "." + "Начать игру?", 36, "Игра Баше")

If bytB = 7 Then End

  1. Запустите проект щелчком по кнопке «Начать игру». В текстовом поле будет напечатано первоначальное количество предметов. Щелчок по кнопке «Да» позволит начать игру.

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

Первый ход будет делать пользователь. Для определения количества оставшихся после хода пользователя предметов необходимо перевести строковую переменную в числовую форму и вычесть ее из переменной bytN.

  1. Введите программный код:

Do While bytN > 1

bytI = bytI + 1

strx = InputBox("Сколько предметов вы забираете?", "Ваш ход!", "0")

  bytN = bytN - Val(strx)

  Loop

  1. Далее приведен код хода компьютера, разберите его самостоятельно и поставьте в необходимое место программного кода:

For bytK = 0 To 6

  Select Case bytN

    Case Is = 4 * bytK

     bytN = bytN - 3

     TextBox1.Text = TextBox1.Text + "После " + Str(bytI) + " хода осталось предметов" + Str(bytN) + vbCrLf

     Case Is = 4 * bytK + 1

     bytN = bytN - Int(1 + 2 * Rnd())

     TextBox1.Text = TextBox1.Text + "После " + Str(bytI) + " хода осталось предметов" + Str(bytN) + vbCrLf

   Case Is = 4 * bytK + 2

     bytN = bytN - 1

     TextBox1.Text = TextBox1.Text + "После " + Str(bytI) + " хода осталось предметов" + Str(bytN) + vbCrLf

   Case Is = 4 * bytK + 3

     bytN = bytN - 2

     TextBox1.Text = TextBox1.Text + "После " + Str(bytI) + " хода осталось предметов" + Str(bytN) + vbCrLf

   End Select

  Next

  1. До цикла со счетчиком введите строки:

If bytN = 1 Then

  MsgBox("После Вашего хода остался 1 предмет. Компьютер проиграл!")

  End

End If

  1. После цикла со счетчиком введите строки:

If bytN = 1 Then

  MsgBox("После Вашего хода компьютера остался 1 предмет. Вы проиграли!")

  End

  End If

  1. Сохраните проект и запустите его. (Демонстрационная версия: …\7 lab\Demo\bashe)

Задания для самостоятельной работы:

  1. Модернизируйте проект так, чтобы первый ход делал компьютер.
  2. Исправьте проект так, чтобы случайные числа формировались в промежутке от 10 до 30 (40).

Рекомендации к оцениванию: оценка «отлично» ставится при безошибочном выполнении демонстрационного примера и всех заданий для самостоятельной работы; «хорошо» - при успешном выполнении демонстрационного примера и одной из самостоятельных задач; «удовлетворительно» - при выполнении демонстрационного примера (возможны негрубые ошибки) без выполнения самостоятельных заданий. Если ученик не смог выполнить ни одну самостоятельную задачу и сделал ошибки при выполнении демонстрационных примеров, то материал считается неусвоенным и подлежит повторному изучению.


[1] [7], стр. 166


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

Лабораторные методы исследования. Роль среднего медицинского персонала в проведении лабораторных исследований

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

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

Выполнение лабораторных работ в условиях лабораторного комплекса «Гидравлические приводы и системы» в ГБОУ СПО Шахунский агропромышленный техникум...

Методические указания к лабораторным занятиям по дисциплине «ФИЗИКА». Лабораторная работа "Наблюдение интерференции и дифракции"

В работе представлено описание лабораторной работы "Наблюдение интерференции и дифракции" для студентов колледжа....

Методическая разработка практического занятия МДК 01.01. Теория и практика лабораторных общеклинических исследований, специальность 31.02.03 Лабораторная диагностика

Методическая разработка практического занятия МДК 01.01. Теория и практика лабораторных общеклинических исследований, специальность 31.02.03 Лабораторная диагностика...

Методическая разработка теоретического занятия МДК 01.01. Теория и практика лабораторных общеклинических исследований, специальность 31.02.03 Лабораторная диагностика

Методическая разработка теоретического занятия МДК 01.01. Теория и практика лабораторных общеклинических исследований, специальность 31.02.03 Лабораторная диагностика...

Дипломная работа студента «Роль медицинского лабораторного техника в исследовании биохимических показателей, работы печени в норме и патологии» по специальности 31.02.03 Лабораторная диагностика

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

Дипломная работа студента «Сравнительная характеристика гематологических показателей анемий и их дифференциальная лабораторная диагностика» по специальности 31.02.03 Лабораторная диагностика

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