Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемДемид Ермаков
1 Программирование на ЕГЭ по информатике Идеи серьёзные и бредовые Чернов Сергей Николаевич МОУ лицей 44
2 С1. Требовалось написать алгоритм (программу) подсчета всех натуральных чисел n, кратных 7 и заключенных строго между натуральными числами a и b. Входная информация вводится с клавиатуры, а на выходе должно быть получено сообщение, например, вида "искомое число равно 12" (если есть 12 таких кратных чисел) или "искомое число равно 0" (если нет кратных чисел). Некто, в спешке, написал следующий алгоритм (следующую программу): Intuit, demo-2007
3 dim a, b, c, n as integer print 'введите a, b:' input a,b n = 0 if (a = b) and (a MOD 7=0) then n = n + 1 else for c = a to b if (с MOD 7 = 0) then n = n + 1 end if next c end if print "искомое число равно ", n end
4 Задания: Укажите набор входных чисел a, b, для которого программа работает неправильно. Укажите любой вариант доработки программы (удаления, добавления, изменения команд), чтобы не было случаев её неправильной работы. Укажите вариант доработки программы без использования логических операций (and, or, not).
5 1) Например, если a>=b 2) CLS INPUT "a,b"; a, b IF a > b THEN SWAP a, b FOR c = a + 1 TO b - 1 IF c MOD 7 = 0 THEN n = n + 1 NEXT PRINT Количество таких чисел "; nКоличество таких чисел b THEN SWAP a, b FOR c = a + 1 TO b - 1 IF c MOD 7 = 0 THEN n = n + 1 NEXT PRINT Количество таких чисел "; nКоличество таких чисел">
6 Здесь можно обойтись вообще без IF: CLS INPUT "a,b"; a, b c = ABS(a - b): a = (a + b - c) / 2: b = a + c FOR i = a + 1 TO b - 1 n = n + (1 - SGN(i MOD 7)) NEXT PRINT Количество таких чисел "; nКоличество таких чисел
7 С2. Для заданного числового массива (ряда чисел) составить алгоритм нахождения m - максимума среди элементов массива, находящихся на нечетных местах (то есть среди x1, x3, x5 и т. д.) и k - минимума среди элементов массива, находящихся на четных местах (то есть среди x2, x4, x6 и т. д.).
8 CLS : RANDOMIZE TIMER DEF fns (a, b) = a + (b - a) * RND \ 1 INPUT #N = ; n INPUT [a, b]; a, b DIM a(n) FOR i = 1 TO n a(i) = fns(a, b) COLOR 13 + (i MOD 2) четность индексачетность индекса 'COLOR 13 + ABS(a(i) MOD 2) четность элемента четность элемента PRINT a(i); NEXT i max = a(1): min = a(2) FOR i = 1 TO n IF i MOD 2 = 1 AND a(i) > max THEN max = a(i) IF i MOD 2 = 0 AND a(i) < min THEN min = a(i) 'IF a(i) MOD 2 = 1 AND a(i) > max THEN max = a(i) 'IF a(i) MOD 2 = 0 AND a(i) < min THEN min = a(i) NEXT i PRINT : PRINT : COLOR 15: PRINT max, min
9 С3. Два игрока играют в игру со следующими правилами: имея достаточный запас монет (диаметром d см), каждый из них кладет по очереди одну монету на стол размером а и b (см). Проигрывает тот игрок, которому некуда класть очередную монету. Монета должна опираться своей полной площадью на стол (не допускается свисание монеты). Можно перемещать монету, соблюдая это условие. Описать стратегию выигрышной игры (как начинать и как ходить игроку для выигрыша).
10 Предлагаемое решение: Определим, сколько монет поместится максимально (без свисания) на столе. По стороне длины a это количество равно n=int(a/d), а по стороне b - равно m=int(b/d). Общее количество монет равно k=nm. Все зависит от четности (нечетности) этого числа. Если k - нечетно, то выигрывает всегда тот, кто ходит первым, а если k - четно, то он проигрывает всегда. Стратегия хода проста: каждый раз к монете второго игрока (после его хода) нужно приставлять по длине или ширине стола свою монету в этом ряду или начинать новый ряд (если предыдущий ряд уже заполнен).
11 Неточно и даже неверно! Разные укладки – разное количество монет - другой результат игры!
12 С4. Составить алгоритм удаления из заданного текста a всех символов, расположенных на нечетных местах другого заданного текста b. В качестве решения предлагается перебор символов текста a c последующим склеиванием части a до негодного символасклеиванием с частью после него.
0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRIN" title="CLS a$ = "teiytojypeno 7tewts7zgk7lkmlkhjoigkjhfol": b$ = "a e tia t4t0j5o67w8y" lb = LEN(b$) FOR k = 1 TO lb STEP 2 z$ = MID$(b$, k, 1): z = INSTR(1, a$, z$) WHILE z > 0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRIN" class="link_thumb"> 13 CLS a$ = "teiytojypeno 7tewts7zgk7lkmlkhjoigkjhfol": b$ = "a e tia t4t0j5o67w8y" lb = LEN(b$) FOR k = 1 TO lb STEP 2 z$ = MID$(b$, k, 1): z = INSTR(1, a$, z$) WHILE z > 0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRINT a$ NEXT COLOR 14: PRINT a$ 0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRIN"> 0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRINT a$ NEXT COLOR 14: PRINT a$"> 0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRIN" title="CLS a$ = "teiytojypeno 7tewts7zgk7lkmlkhjoigkjhfol": b$ = "a e tia t4t0j5o67w8y" lb = LEN(b$) FOR k = 1 TO lb STEP 2 z$ = MID$(b$, k, 1): z = INSTR(1, a$, z$) WHILE z > 0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRIN">
0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRIN" title="CLS a$ = "teiytojypeno 7tewts7zgk7lkmlkhjoigkjhfol": b$ = "a e tia t4t0j5o67w8y" lb = LEN(b$) FOR k = 1 TO lb STEP 2 z$ = MID$(b$, k, 1): z = INSTR(1, a$, z$) WHILE z > 0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRIN" class="link_thumb"> 14 CLS a$ = "teiytojypeno 7tewts7zgk7lkmlkhjoigkjhfol": b$ = "a e tia t4t0j5o67w8y" lb = LEN(b$) FOR k = 1 TO lb STEP 2 z$ = MID$(b$, k, 1): z = INSTR(1, a$, z$) WHILE z > 0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRINT a$ NEXT COLOR 14: PRINT a$ 0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRIN"> 0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRINT a$ NEXT COLOR 14: PRINT a$"> 0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRIN" title="CLS a$ = "teiytojypeno 7tewts7zgk7lkmlkhjoigkjhfol": b$ = "a e tia t4t0j5o67w8y" lb = LEN(b$) FOR k = 1 TO lb STEP 2 z$ = MID$(b$, k, 1): z = INSTR(1, a$, z$) WHILE z > 0 a$ = MID$(a$, 1, z - 1) + MID$(a$, z + 1) z = INSTR(z, a$, z$) WEND SLEEP: PRIN">
15 Я предлагаю синтезировать новое слово накоплением годных символов с последующей заменой получившимся значением исходного значения a:синтезировать
16 CLS a$ = "teiytojypjguyutewtsdzgkjlkmlkhjoigkjhfol" b$ = "a e tia t4t0j5o6u7w8y" la = LEN(a$): lb = LEN(b$) FOR i = 1 TO LEN(a$) FOR j = 1 TO LEN(b$) STEP 2 IF MID$(a$, i, 1) = MID$(b$, j, 1) THEN 1 NEXT j aa$ = aa$ + MID$(a$, i, 1) 1 NEXT i a$ = aa$ PRINT a$
17 CLS a$ = "teiytojypjguyutewtsdzgkjlkmlkhjoigkjhfol" b$ = "a e tia t4t0j5o6u7w8y" la = LEN(a$): lb = LEN(b$) FOR i = 1 TO LEN(a$) FOR j = 1 TO LEN(b$) STEP 2 IF MID$(a$, i, 1) = MID$(b$, j, 1) THEN 1 NEXT j aa$ = aa$ + MID$(a$, i, 1) 1 NEXT i a$ = aa$ PRINT a$
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.