Всероссийская олимпиада по информатике. Школьный этап. 2013г. Тумайкина Ю.Н., МБОУ «СОШ с.Терновка» Разбор задачи 2 «Покер»

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



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

Задача: определить является ли простым заданное число.
K-периодичный массив. В данной задаче речь пойдет только о массивах, все элементы которых равны 1 и/или 2. Массив a называется k-периодичным, если его.
5.Дана матрица А и вектор Х соответствующих размерностей. Нечетные строки матрицы заменить элементами вектора Х. Результаты работы: n=4 m=
Решение задач с использованием массивов
Задача: даны два числа, найти их наибольший общий делитель.
Работа с одномерными массивами Урок информатики 9 кл.
Задача: даны два числа, найти их наибольший общий делитель.
Учебно-методический материал по информатике и икт (9 класс) по теме: Презентация по теме Разбор заданий КИМ ГИА (задание 20.2)
ЕГЭ информатика Алгоритмизация и программирование Консультация 4.
Одномерные массивы Решение задач. Табличный способ организации данных Одномерные и двумерные массивы.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся выпускного класса за итоговый тест.
CASE – ОПЕРАТОР ВЫБОРА. РАССМОТРИМ СЛЕДУЮЩУЮ ЗАДАЧУ : Х, ЕСЛИ Х = 3 У = Х+1, ЕСЛИ Х=0 Х 2 + Х –2, ЕСЛИ Х = -2 Х 3, ЕСЛИ Х = -8.
1 Программирование на языке Паскаль Тема 2. Максимальный элемент массива.
Программирование на языке Паскаль. 3 Циклы Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл.
Практическое занятие 5 Циклы с условием. 2 Цикл с неизвестным числом шагов Пример: Отпилить полено от бревна. Сколько раз надо сделать движения пилой?
1 Программирование на языке Паскаль Оператор выбора.
Цикл for Формат записи оператора цикла for: for «имя» := «от» to «до» do «оператор»
Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений, объединенных.
Транксрипт:

Всероссийская олимпиада по информатике. Школьный этап. 2013г. Тумайкина Ю.Н., МБОУ «СОШ с.Терновка» Разбор задачи 2 «Покер»

Условие: Известное казино хочет поправить свое пошатнувшееся финансовое положение, установив новую модель игровых автоматов "Покер" улучшенного дизайна. Игроку в покер необходимо собрать 5 карт таким образом, чтобы среди них было максимальное количество совпадающих (лучшая комбинация – все пять карт совпадает, а худшая – все различны). К сожалению, главный программист казино недавно неожиданно разбогател, уволился и уехал на Багамы. Без него казино не может решить, как по выпавшему набору карт определить размер выигрыша клиента. Помогите казино справиться с этой задачей. Формат входных данных Программа получает на вход 5 целых положительных чисел x1, x2, x3, x4, x5, не превосходящих 10 9.

Условие: Формат выходных данных Программа должна вывести на экран одну из следующих строк: poker если все 5 чисел равны four of a kind если ровно 4 числа равны между собой full house если три из пяти чисел равны между собой и два оставшихся числа равны three of a kind если ровно три числа равны two pairs если есть две пары равных чисел one pair если только два числа равны all different если все числа различны Пример Входные данные Выходные данные full house

Основные моменты: Входные данные храним в массиве. Организовываем два цикла, для сравнения элементов массива на равенство (оба цикла от 1 до 5). Во внутреннем цикле: если элементы равны, то увеличиваем счетчик; Во внешнем цикле: суммируем значения счетчика. В зависимости от значения суммы, применяя оператор выбора (case of), выводим результат.

Рассмотрим на примере: – значение счетчика – значение суммы – элемент массива =17

Аналогично: Сумма: =9 – элемент массива Сумма: =13

Основные моменты: В связи с тем, что каждый элемент сравнивается с 1 по 5 включительно, значения счетчика могут быть следующими: 5 – если все пять цифр одинаковые (сумма будет =25); 4 – если число повторяется 4 раза (сумма будет =17); 3 – если число повторяется трижды и 2 если дважды. При различных комбинациях пар и троек получаем следующие суммы: =13 (фулл хаус); =9 (две пары); =11(одна тройка); =7 (одна пара).

Текст программы: program poker; var x: array [1..5] of longint; i,j,s,k:integer; begin for i:=1 to 5 do read(x[i]); s:=0; for j:=1 to 5 do begin k:=0; for i:=1 to 5 do if x[j]=x[i] then k:=k+1; s:=s+k; end; case s of 25: writeln ('poker'); 17: writeln ('four of a kind'); 13: writeln ('full house'); 9: writeln ('two pairs'); 11: writeln ('three of a kind'); 7: writeln ('one pair') else writeln ('all different') end; end.

Прогон программы по ключу:

Спасибо за внимание