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

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

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

Задачи:

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 Лабораторная диагностика...

УМК. По специальности среднего профессионального образования (СПО) 060604.51 Лабораторная диагностика, квалификация медицинский лабораторный техник. ПМ.02. «Проведение лабораторных гематологических исследований».

УМК:Выписка  из Федерального государственного образовательного стандарта по специальности среднего профессионального образования (СПО) 060604.51 Лабораторная диагностика, квалификация медицинский...

УМК. По специальности среднего профессионального образования (СПО) 060604.51 Лабораторная диагностика, квалификация медицинский лабораторный техник. ПМ 05 «Проведение лабораторных гистологических исследований»

1. Рабочая программа ПМ 05 "Проведение лабораторных гистологических исследований"2. КТП ПМ 05.3. Рабочая программа УП ПМ 05.4. КОС диф. зачета УП ПМ 05.5. КОС  квалификационного экзамен...