МОДЕЛИРОВАНИЕ в среде программирования QBasic Учитель: Гуляева Т.В. г.Павлово, 2008 год.

Презентация:



Advertisements
Похожие презентации
ОСНОВНЫЕ ЭТАПЫ МОДЕЛИРОВАНИЯ Моделирование и формализация.
Advertisements

Программирование на языке Q Basic Раздел 1: Язык Q Basic; Линейный алгоритм; Раздел 2: генератор случайных чисел; циклический алгоритм; Раздел 3: графика.
Статистическое моделирование. Метод Монте-Карло гимназия 22.
1 Урок информатики Учитель: Соловьёва Надежда Борисовна.
Операторы ветвления (перехода) Разработала учитель Веревкина В.Н.
как подготовить информацию к обработке на компьютере как воспользоваться компьютером для обработки информации.
Алгоритмы с ветвящейся структурой. Программирование ветвлений на QBasic. Программное управление работой компьютера Епифанова Т.Н. / 2010 CLS INPUT A,B,C.
Основные этапы построения моделей. Формализация моделирования Разработана учителем информатики и ИКТ Константиновской СОШ Осиповой Н.А г.
Решение вероятностных задач Дата проведения урока Класс 11 а УчительКлимова Н.В.
Способы написания алгоритмов. Устно Что такое алгоритм? Перечислите виды алгоритмов. Что такое система команд исполнителя?
ОСНОВНЫЕ ЭТАПЫ МОДЕЛИРОВАНИЯ. Этапы моделирования I Этап. Постановка задачи II этап. Разработка модели III этап. Компьютерный эксперимент IV этап. Анализ.
Алгоритмическая конструкция «ветвление». Данная конструкция применяется в алгоритмах для задач, при решении которых необходимо делать выбор между различными.
Ветвления в алгоритмах и программахВетвления в алгоритмах и программах.
Этапы решения задачи с помощью компьютера включает пять (семь) основных этапов, часть которых осуществляется без участия компьютера. Постановка задачи.
Программирование на языке Q Basic Раздел 1: Язык Q Basic; Линейный алгоритм; Раздел 2: генератор случайных чисел; циклический алгоритм; генератор случайных.
Урок информатики в 8 классе Учитель Лебедева М.В..
PASCAL Условный оператор.. Этот оператор используется для выполнения одного из двух возможных вариантов программы. Условный оператор если логическое_условие.
Этапы моделирования. Постановка задачи: Описание задачи; Цель моделирования; Анализ объекта Разработка информационной модели Разработка компьютерной модели.
Основные этапы моделирования. Моделирование – исследование объектов путем построения и изучения их моделей.
Алгоритмическая конструкция «ветвление» Презентацию разработал Мащенко П.С., учитель МБОУ СОШ 2 муниципального образования Щербиновский район станицы Старощербиновской.
Транксрипт:

МОДЕЛИРОВАНИЕ в среде программирования QBasic Учитель: Гуляева Т.В. г.Павлово, 2008 год

Этапы моделирования I этап. Постановка задачи Описание задачи Цель моделирования Анализ объекта II этап. Разработка модели Знаковая модель Информационная модель Компьютерная модель Ш этап. Компьютерный эксперимент План моделирования Технология моделирования IV этап. Анализ результатов моделирования Результаты не соответствуют цели Результаты соответствуют цели

Игра в кости

Постановка задачи Два игрока бросают по две игровые кости. Сумма очков, выпавших на двух костях накап- ливается. Игра прекращается, когда один из игроков достигает суммы 101. В случае, когда оба игрока достигают суммы в 101 очко, выигрывает тот, у которого очков больше.

Цель моделирования Создание игровой модели, основанной на случайных событиях.

Формализация задачи (анализ) -Что моделируется? -Каков характер процесса? -Чем определяется выигрыш? -Какие объекты участвуют? -Чем характеризуется игрок? -Чем характеризуются кости?

Разработка модели -Математическая модель -Информационная модель -Компьютерная модель

Математическая модель На игровой кости имеется 6 граней с количеством точек от 1 до 6. Выпадение той или иной грани случайное. Введем в рассмотрение следующие величины: К11 – число выпавших очков первой кости первого игрока К12 – число выпавших очков второй кости первого игрока К21 – число выпавших очков первой кости второго игрока К22 – число выпавших очков второй кости второго игрока S1 – текущая сумма очков первого игрока S2 – текущая сумма очков второго игрока

Математическая модель Модель, имитирующая бросание двух костей одним игроком, имеет вид: Модель, имитирующая накопление суммы очков, имеет вид: Кi1=INT(RND(1)*6)+1 Кi2=INT(RND(1)*6)+1 i = 1,2 Si = Si +Ki1 + Ki2 i = 1,2 Условие продолжения игры имеет вид: S1 < 101 и S2 < 101

Информационная модель ДА НЕТ НАЧАЛО S1 = 0 S2 = 0 K11 = INT(RND(1)*6)+1 K12 = INT(RND(1)*6)+1 K21 = INT(RND(1)*6)+1 K22 = INT(RND(1)*6)+1 S1 = S1 + K11 +K12 S2 = S2 + K21 +K22 K11, K12, S1, K21,K22,S2 S1

CLS RANDOMIZE TIMER S1 = 0: S2 = 0 1 : K11 = INT(RND(1) * 6) + 1 K12 = INT(RND(1) * 6) + 1 S1 = S1 + K11 + K12 K21 = INT(RND(1) * 6) + 1 K22 = INT(RND(1) * 6) + 1 S2 = S2 + K21 + K22 PRINT K11; K12, S1, K21; K22, S2 IF (S1 < 101) AND (S2 < 101) THEN GOTO 1 IF S1 > S2 THEN PRINT "Выиграл первый игрок" : END IF S1 < S2 THEN PRINT "Выиграл второй игрок ELSE PRINT "Ничья" END Компьютерная модель

CLS RANDOMIZE TIMER S1 = 0: S2 = 0 1 : K11 = INT(RND(1) * 6) + 1 K12 = INT(RND(1) * 6) + 1 S1 = S1 + K11 + K12 K21 = INT(RND(1) * 6) + 1 K22 = INT(RND(1) * 6) + 1 S2 = S2 + K21 + K22 PRINT K11; K12, S1, K21; K22, S2 IF (S1 < 101) AND (S2 < 101) THEN GOTO 1 IF S1 > S2 THEN PRINT "Выиграл первый игрок : END IF S1 < S2 THEN PRINT "Выиграл второй игрок ELSE PRINT "Ничья" END PRINT PRINT K11"; K12", S1", K21"; K22", S2" Компьютерная модель

Компьютерный эксперимент Самостоятельно набрать текст прог- раммы в среде программирования Qbasic и протестировать ее несколько раз.

Анализ результатов Проанализировать полученные результаты, ответив на вопросы: - Получается ли выпад костей случайным? - Можно ли заранее спрогнозировать результат в данной игре?

Изменение моделей

НАЧАЛО S1 = 0 S2 = 0 K11 = INT(RND(1)*6)+1 K12 = INT(RND(1)*6)+1 K21 = INT(RND(1)*6)+1 K22 = INT(RND(1)*6)+1 S1 = S1 + K11 +K12 S2 = S2 + K21 + K22 K11,K12,S1, K21,K22,S2 S1 < 101 и S2 < 101 S1 > S2 S1 < S2 «Выигра л 1 игрок» «Ничья » «Выигра л 2 игрок» КОНЕЦ ДА НЕТ Подзадача по отношению к основной задаче

- это алгоритм решения некоторой подзадачи по отношению к исходной (основной) задаче K1 = INT(RND(1)*6)+1 K2 = INT(RND(1)*6)+1 S = S+ K21 + K22 K1, K2, S КОНЕЦ НАЧАЛО Вспомогательный алгоритм - блок обращения к вспомогательному алгоритму в блок-схеме основной программы

Подзадача по отношению к основной задаче НАЧАЛО S1 = 0 S2 = 0 K11 = INT(RND(1)*6)+1 K12 = INT(RND(1)*6)+1 K21 = INT(RND(1)*6)+1 K22 = INT(RND(1)*6)+1 S1 = S1 + K11 +K12 S2 = S2 + K21 + K22 K11,K12,S1, K21,K22,S2 S1 < 101 и S2 < 101 S1 > S2 S1 < S2 «Выигра л первый игрок» «Ничья » «Выигра л второй игрок» КОНЕЦ ДА НЕТ K1 = INT(RND(1)*6)+1 K2 = INT(RND(1)*6)+1 S = S+ K21 + K22 K1, K2, S КОНЕЦ 2 НАЧАЛО 2 НАЧАЛО S1 = 0 S2 = 0 S1 < 101 и S2 < 101 ДАНЕТ S1 > S2 S1 < S2 «Выигра л 1 игрок» «Ничья » «Выигра л 2 игрок» КОНЕЦ ДА НЕТ S = S1 2 S1 = S S = S2 2 S2 = S

Компьютерная модель

Подпрограмма Подпрограмма – это запись вспомогательного алгоритма на языке программирования В QBasic для обращения к подпрограмме используется оператор GOSUB GOSUB

Правила оформления подпрограмм 1.Подпрограмма записывается после команд основной программы 2.Подпрограмма должна начинаться с метки, на которую указал оператор GOSUB RETURN, 3.Логический конец подпрограммы отмечается оператором RETURN, который передает управление в основную программу на оператор, следующий за обращением к подпрограмме

CLS RANDOMIZE TIMER S1 = 0: S2 = 0: N = 0 PRINT PRINT K11"; K12", S1; SPC(20); K21"; K22", S2" 1 : K11 = INT(RND(1) * 6) + 1 K12 = INT(RND(1) * 6) + 1 S1 = S1 + K11 + K12 K21 = INT(RND(1) * 6) + 1 K22 = INT(RND(1) * 6) + 1 S2 = S2 + K21 + K22 PRINT K11; K12, S1; SPC(20); K21; K22, S2 IF (S1 < 101) AND (S2 < 101) THEN GOTO 1 IF S1 > S2 THEN PRINT "Выиграл первый игрок : END IF S1 < S2 THEN PRINT "Выиграл второй игрок ELSE PRINT "Ничья" END GOSUB 2

CLS RANDOMIZE TIMER S1 = 0: S2 = 0 PRINT PRINT K11"; K12", S1; SPC(20); K21"; K22", S2" 1 : PRINT S=S1: GOSUB 2 : S1 = S S=S2: GOSUB 2 : S2 = S IF (S1 < 101) AND (S2 < 101) THEN GOTO 1 IF S1 > S2 THEN PRINT "Выиграл первый игрок : END IF S1 < S2 THEN PRINT "Выиграл второй игрок ELSE PRINT "Ничья" END 2: K1 = INT(RND(1) * 6) + 1 K2 = INT(RND(1) * 6) + 1 S = S + K1 + K2 PRINT K1; K2, S; SPC(20); RETURN Основная программа Подпрограмма

Домашнее задание Продумать решение данной задачи для трех игроков