B1 (базовый уровень) Тема: Вычисление информационного объема сообщения
B2 (базовый уровень) Тема: Блок-схемы алгоритмов. Переменные, присваивание значений. Ветвления. Организация циклов с помощью блока «ветвление».
B3 (базовый уровень) Тема: Поиск алгоритма минимальной длины для исполнителя Что нужно знать: каких-либо особых знаний из курса информатики не требуется, задача решаема на уровне 6-7 класса простым перебором вариантов, просто его нужно организовать оптимальным образом исполнитель – это человек, группа людей, животное, машина или другой объект, который может понимать и выполнять некоторые команды
У исполнителя Калькулятор две команды, которым присвоены номера: 1. прибавь 3 2. умножь на 4 Выполняя первую из них, Калькулятор прибавляет к числу на экране 3, а выполняя вторую, умножает его на 4. Запишите порядок команд в программе получения из числа 3 числа 57, содержащей не более 6 команд, указывая лишь номера команд. (Например, программа это программа умножь на 4 прибавь 3 умножь на 4 прибавь 3 которая преобразует число 2 в 50.)
B4 (базовый уровень) Тема: Компьютерные сети. Адресация в Интернете Что нужно знать: IP-адрес состоит из четырех чисел, разделенных точками; каждое из этих чисел находится в интервале 0…255, например: адрес документа в Интернете состоит из следующих частей: – протокол, чаще всего http (для Web-страниц) или ftp (для файловых архивов) – знаки ://, отделяющие протокол от остальной части адреса – доменное имя (или IP-адрес) сайта – каталог на сервере, где находится файл – имя файла
Ученик продиктовал своей маме по телефону IP-адрес, мама его записала так: В ответе запишите IP-адрес с разделительными точками
B5 (повышенный уровень) Тема: Кодирование чисел. Системы счисления Что нужно знать: принципы кодирования чисел в позиционных системах счисления чтобы перевести число, скажем, N, из системы счисления с основанием в десятичную систему, нужно умножить значение каждой цифры на в степени, равной ее разряду: разряды N = 1·N 4 + 2·N 3 + 3·N 2 + 4·N 1 + 5·N 0 последняя цифра записи числа в системе счисления с основанием – это остаток от деления этого числа на две последние цифры – это остаток от деления на, и т.д.
Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 25, запись которых в системе счисления с основанием четыре оканчивается на 11? Решение Переведем 25 в четверичную систему счисления: 25 = 121 4, все интересующие нас числа не больше этого значения Из этих чисел выделим только те, которые заканчиваются на 11, таких чисел всего два: это 11 4 = 5 и = 21 Таким образом, верный ответ – 5, 21.
B6 (повышенный уровень) Тема: Определение скорости передачи информации при заданной пропускной способности канала Пример задания: Скорость передачи данных через ADSL- соединение равна бит/c. Через данное соединение передают файл размером 625 Кбайт. Определите время передачи файла в секундах.
B7 (повышенный уровень) Тема: Решение логических задач методом рассуждений. Построение и преобразование логических выражений.
Классный руководитель пожаловался директору, что у него в классе появилась компания из 3-х учеников, один из которых всегда говорит правду, другой всегда лжет, а третий говорит через раз то ложь, то правду. Директор знает, что их зовут Коля, Саша и Миша, но не знает, кто из них правдив, а кто – нет. Однажды все трое прогуляли урок астрономии. Директор знает, что никогда раньше никто из них не прогуливал астрономию. Он вызвал всех троих в кабинет и поговорил с мальчиками. Коля сказал: «Я всегда прогуливаю астрономию. Не верьте тому, что скажет Саша». Саша сказал: «Это был мой первый прогул этого предмета». Миша сказал: «Все, что говорит Коля, – правда». Директор понял, кто из них кто. Расположите первые буквы имен мальчиков в порядке: «говорит всегда правду», «всегда лжет», «говорит правду через раз». (Пример: если бы имена мальчиков были Рома, Толя и Вася, ответ мог бы быть: РТВ)
«точная» информация»: (*) все трое прогуляли урок астрономии в первый раз запишем высказывания мальчиков: Коля: 1. Я всегда прогуливаю астрономию. 2. Саша врет. Саша: 1. Я в первый раз прогулял астрономию. Миша: 1. Коля говорит правду. СКМ
B8 (повышенный уровень) Тема: Анализ алгоритма построения последовательности Что нужно знать: в классических задачах (на символьные цепочки) каких-либо особых знаний из курса информатики, кроме умения логически мыслить, не требуется
Строки (цепочки символов латинских букв) создаются по следующему правилу. Первая строка состоит из одного символа – латинской буквы «А». Каждая из последующих цепочек создается такими действиями: в очередную строку сначала дважды подряд записывается предыдущая строка, а потом справа приписывается буква, чей порядковый номер в алфавите соответствует номеру строки (на i-м шаге пишется «i»-я буква алфавита). Вот первые 4 строки, созданные по этому правилу: (1) A (2) AAB (3) AABAABC (4) AABAABCAABAABCD Латинский алфавит (для справки): ABCDEFGHIJKLMNOPQRSTUVWXYZ Запишите шесть символов подряд, стоящие в восьмой строке со 101-го по 106-е место (считая слева направо).
Строки (цепочки символов латинских букв) создаются по следующему правилу. Первая строка состоит из одного символа – латинской буквы «А». Каждая из последующих цепочек создается такими действиями: в очередную строку сначала записывается буква, чей порядковый номер в алфавите соответствует номеру строки (на i-м шаге пишется «i»-я буква алфавита), к ней справа дважды подряд приписывается предыдущая строка. Вот первые 4 строки, созданные по этому правилу: (1) A (2) BAA (3) CBAABAA (4) DCBAABAACBAABAA Латинский алфавит (для справки): ABCDEFGHIJKLMNOPQRSTUVWXYZ Сколько в восьмой строке букв, отличных от буквы «А»?
B9 (повышенный уровень) Тема: Составление запросов для поисковых систем с использованием логических выражений Что нужно знать: таблицы истинности логических операций «И», «ИЛИ», «НЕ» (см. презентацию «Логика») если в выражении нет скобок, сначала выполняются все операции «НЕ», затем – «И», затем – «ИЛИ»
В таблице приведены запросы к поисковому серверу. Расположите номера запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу. Для обозначения логической операции «ИЛИ» в запросе используется символ |, а для логической операции «И» – &. 1) принтеры & сканеры & продажа 2) принтеры & продажа 3) принтеры | продажа 4) принтеры | сканеры | продажа
B10 (высокий уровень) Тема: Преобразование логических выражений
C1 (повышенный уровень) Тема: Исправление ошибок в простой программе с условными операторами Что нужно знать: правила построения программы на Паскале, Бэйсике или Си правила работы с переменными (объявление, ввод, вывод, оператор присваивания)
Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она: var x,y: real; begin readln(x,y); if y = 0 then if y >= sin(x) then write('принадлежит') else write('не принадлежит') end. Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы)
var x,y: real; begin readln(x,y); if (x >= 0) and (x
C2 (высокий уровень) Тема: Обработка массива (написать программу из строк на языке программирования или алгоритм на естественном языке) Что нужно знать: массив – это набор однотипных элементов, имеющих общее имя и расположенных в памяти рядом для обращения к элементу массива используют квадратные скобки, запись A[i] обозначает элемент массива A с номером (индексом) i для обработки всех элементов массива используется цикл вида for i:=1 to N do begin { что-то делаем с элементом A[i] } end; переменная i обозначает номер текущего элемента массива, она меняется от 1 до N с шагом 1, то есть мы «проходим» последовательно все элементы
Опишите на русском языке или одном из языков программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива (не используя специальной функции, вычисляющей модуль числа).
const N = 10; var a, b:array[1..N] of integer; i: integer; begin for i:=1 to N do { ввод всех элементов массива с клавиатуры } read(a[i]); for i:=1 to N do { формирование массива B } if a[i] < 0 then b[i]:= -a[i] else b[i]:= a[i]; writeln('Результат:'); for i:=1 to N do { вывод всех элементов массива B } write(b[i], ' '); end.