Лабораторная работа "Игра Баше"
материал для подготовки к егэ (гиа) на тему
Цель: сформировать представление о различных способах ввода и вывода данных.
Задачи:
1) развить умение разрабатывать алгоритмы с использованием условного оператора, циклов и функций ввода и вывода;
2) построить описательную, формальную и компьютерную модели, провести компьютерный эксперимент, проанализировать результаты
3) закрепить умения при выполнении самостоятельных заданий.
4) подготовка к решению задач типа C3 и С4 из ЕГЭ.
Скачать:
Вложение | Размер |
---|---|
igra_bashe.rar | 48.79 КБ |
Предварительный просмотр:
Лабораторная работа
Проект «Игра Баше[1]»
Цель: сформировать представление о различных способах ввода и вывода данных.
Задачи:
- развить умение разрабатывать алгоритмы с использованием условного оператора, циклов и функций ввода и вывода;
- построить описательную, формальную и компьютерную модели, провести компьютерный эксперимент, проанализировать результаты
- закрепить умения при выполнении самостоятельных заданий.
- подготовка к решению задач типа 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 предмета.
Создадим проект, реализующий игру Баше, в котором одним игроком является компьютер, а другим – пользователь.
- Поместите на форму кнопку и текстовое поле. Напишем обработчик события для кнопки:
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
- Добавьте в код процедуры строки:
bytB = MsgBox("Кол-во предметов " + Str(bytN) + "." + "Начать игру?", 36, "Игра Баше")
If bytB = 7 Then End
- Запустите проект щелчком по кнопке «Начать игру». В текстовом поле будет напечатано первоначальное количество предметов. Щелчок по кнопке «Да» позволит начать игру.
Процесс поочередного взятия предметов компьютером и пользователем должен продолжаться, пока не останется хотя бы один предмет. Удобнее использовать цикл с предусловием. Для подсчета ходов целесообразно использовать переменную bytI.
Первый ход будет делать пользователь. Для определения количества оставшихся после хода пользователя предметов необходимо перевести строковую переменную в числовую форму и вычесть ее из переменной bytN.
- Введите программный код:
Do While bytN > 1
bytI = bytI + 1
strx = InputBox("Сколько предметов вы забираете?", "Ваш ход!", "0")
bytN = bytN - Val(strx)
Loop
- Далее приведен код хода компьютера, разберите его самостоятельно и поставьте в необходимое место программного кода:
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
- До цикла со счетчиком введите строки:
If bytN = 1 Then
MsgBox("После Вашего хода остался 1 предмет. Компьютер проиграл!")
End
End If
- После цикла со счетчиком введите строки:
If bytN = 1 Then
MsgBox("После Вашего хода компьютера остался 1 предмет. Вы проиграли!")
End
End If
- Сохраните проект и запустите его. (Демонстрационная версия: …\7 lab\Demo\bashe)
Задания для самостоятельной работы:
- Модернизируйте проект так, чтобы первый ход делал компьютер.
- Исправьте проект так, чтобы случайные числа формировались в промежутке от 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 Лабораторная диагности...