Информатика

13.09.2018

Информатика

 

А2

ЗАДАНИЕ

В некоторой стране автомобильный номер длиной 8 символов составляют из заглавных букв (используется только 23 различные буквы) и десятичных цифр в любом порядке.

Каждый номер в компьютерной программе записывается минимально возможным и одинаковым целым количественном байтов (при этом используется посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством битов).

Определите объем памяти, отводимый этой программой для записи 110 номеров.

1) 990 байт;2) 440 байт;

3) 660 байт;4) 550 байт.

 

РЕШЕНИЕ 

23 буквы +10 цифр = 33 варианта.

По таблице ближайшее большее 64Q (вариантов) – это 6 бит

1 символ = 6 бит

8 символов = 8 символов*6 бит = 48 бит

Переводим в байты, но так, чтобы получилось целое число.

48 бит/8 = 6 байтов (у нас сразу получилось целое число, значит трогать больше ничего не надо).

6 байтов*110 номеров = 660 байт.

Ответ: 3.

 

А2

ЗАДАНИЕ

Автоматическое устройство осуществило перекодировку информационного сообщения на русском языке, первоначально записанного в 16-битном коде Unicode, в 8-битную кодировку КОИ-8. При этом информационное сообщение уменьшилось на 480 бит. Какова длина сообщения в символах?

1) 30 бит;

2) 60 бит;

3) 120 бит;

4) 480 бит.

РЕШЕНИЕ 

Обозначим количество символов через N. Тогда при 16-битной кодировке объем сообщения – 16*N бит. Когда его перекодировали в 8-битный код, его объем стал равен 8*N бит, таким образом, сообщение уменьшилось на 16*N – 8*N = 8*N = 480 бит. Следовательно, правильный ответ – 4 (480 бит).

А2

ЗАДАНИЕ

Определите информационный объем текста:

Бамбарбия! Кергуду!

1) 38 бит;
2) 144 бита;
3) 152 бита;
4) 19 бит.

РЕШЕНИЕ 

В этом тексте 19 символов (обязательно считать пробелы и знаки препинания).

Если нет дополнительной информации, считаем, что используется 8-битная кодировка (чаще всего явно указано, что кодировка 8- или 16-битная).

Поэтому в сообщении 19 х 8 = 152 бита информации  (ответ 3).

B4

ЗАДАНИЕ

Перед началом Турнира четырех болельщики высказали следующие предположения по поводу своих кумиров:

А) Макс победит, Билл – второй;
В) Билл – третий, Ник – первый;
С) Макс – последний, а первый – Джон.

Когда соревнования закончились, оказалось, что каждый из болельщиков был прав только в одном из своих прогнозов.

Какое место на турнире заняли Джон, Ник, Билл, Макс? (В ответе перечислите подряд без пробелов места участников в указанном порядке имен.)

РЕШЕНИЕ

Так сказано, каждый из болельщиков был прав только в одном из своих прогнозов, для решения этой задачи предположим, что болельщик А) был прав в своем первом утверждении, тогда: Макс – 1-й.

Следовательно, в высказываниях В) и С) неверно угаданы победители, а вторые части высказываний – верные, значит, Билл - 3-й и Макс - 4-й.

Получившаяся ситуация невозможна потому, что Макс сразу оказался и первым, и последним. Тогда наше предположение неверно!

Значит, болельщик А) был прав в своем втором утверждении, тогда: Билл - 2-й. Следовательно, болельщик В) неправ в первом утверждении, а согласно второму, Ник – 1-й.

Тогда болельщик С) неправ во втором утверждении, а согласно первому, Макс – 4-й. Тогда остается, что Джон - 3-й.

Расставляем участников в указанном порядке – Джон, Ник, Билл, Макс: Джон – 3-й, Ник – 1-й, Билл – 2-й, Макс – 4-й и получаем ответ: 3124.

B7

ЗАДАНИЕ

Скорость передачи данных через ADSL-соединение составляет 256 000 бит/c. Через данное соединение передают файл размером 500 Кбайт. Определите время передачи файла в секундах.Хочу такой сайт

РЕШЕНИЕ

СКОРОСТЬ: 256 000 бит/с = 28 *103 бит/с = 28 * 103 / 23 байт/с = 25 * 103 байт/с = 1000 * 25 байт/с.

РАЗМЕР: 500 Кбайт = 5 * 102 Кбайт = 5 * 102 * 210 байт = 500 * 210 байт.

применяем формулу: время = размер / скорость = (500 * 210 байт) / (1000 * 25 байт/с) = 25 / 2 с = 16 с.

Ответ: 16.

С1

ЗАДАНИЕ

Требовалось написать программу, которая решает квадратное уравнение ax2 + bx + c = 0 относительно х для действительных чисел a, b, с, введенных с клавиатуры, о которых заведомо известно, что а,b и c не равны 0. Была написана следующая программа:

var a, b, с, D, x1, x2: real;
begin
readln(a, b, с, x1, x2);
D := b*b – 4*a*c;
if D > 0
then begin
x1 := (-b + sqrt(D))/(2*a);
x2 := (-b – sqrt(D))/(2*a);
write('x1 =', x1);
write('x2 =', x2); end
else writeln ('действительных корней нет');
end.

Известно, что программа написана с ошибками. Последовательно выполните три задания:

1. Приведите пример таких чисел a, b, с, при которых программа неверно решает поставленную задачу.
2. Укажите, какая часть программы является лишней.
3. Укажите, как, по-вашему мнению, нужно доработать программу, чтобы не было случаев ее неправильной работы.

РЕШЕНИЕ

В этой программе внешне все выглядит правильно, поэтому весьма вероятно, что сделана «ловушка» на какой-то особый (вырожденный) случай. При решении квадратного уравнения «особый случай» – это равенство дискриминанта нулю (два одинаковых корня). Проверяя его, сразу обнаруживаем, что при этом условие D > 0 не срабатывает и программа выдает сообщение «действительных корней нет». Поэтому, например, для a = 1 , b = 2, с = 1  программа работает неверно. При этом можно вводить любые x1 и x2 , поскольку в эти переменные записываются результаты вычислений (корни уравнения), а не исходные данные.

Это ответ на второй вопрос: вместо оператора 
readln(a,b,c,x1,x2); 
правильнее написать
readln(a,b,c); 
Чтобы исправить программу, достаточно вместо условия D > 0 написать D >= 0:
var a, b, с, D, x1, x2: real;
begin
readln(a, b, с);
D := b*b - 4*a*c;
if D >= 0 then begin
  x1 := (-b + sqrt(D))/(2*a);
  x2 := (-b - sqrt(D))/(2*a);
  write('x1 =', x1);
  write('x2 =', x2); 
end
else writeln ('действительных корней нет');
end.

А1

ВОПРОС

В кодировке Unicode на каждый символ отводится два байта. Определите информационный объем слова из 24 символов в этой кодировке.

1) 384 бита;
2) 192 бита;
3) 256 бит;
4) 48 бит.

РЕШЕНИЕ

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

Переведем байты в биты: 1 байт = 8 бит. Таким образом, в кодировке Unicode на каждый символ отводится 16 бит. Слово из 24 символов в этой кодировке займет информационный объем равный: Q = 16 х 24 = 384 бита.

Правильный ответ – 1.

С2

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся выпускного класса за итоговый тест по информатике. Для получения положительной оценки за тест требовалось набрать не менее 20 баллов. Опишите на русском языке или на одном из языков программирования алгоритм, который позволяет найти и вывести минимальный балл среди учащихся, получивших за тест положительную оценку. Известно, что в классе хотя бы один учащийся получил за тест положительную оценку.

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

ОТВЕТ

С3

Для хранения растрового изображения размером 32 x 32 пикселя отвели 512 байт памяти. Каково максимально возможное число цветов в палитре изображения?

1) 256;        
2) 2;
3) 16;
4) 4.

Общий подход:

В таких задачах вся игра идет на двух формулах: M=Q х K и N=2K, где: 
М – объем памяти на все изображение;
Q – общее количество пикселей;
K – количество бит на пиксель;
N – количества  цветов в палитре.

Поэтому нужно:

1) найти общее количество пикселей Q;
2) перевести объем памяти M в биты;
3) найти количество бит на пиксель K;
4) по таблице степеней двойки найти количество цветов N.

РЕШЕНИЕ

1. Находим общее количество пикселей Q = 32 х 32= 1024 = 210.
2. Находим объем памяти в битах M = 512 [байт] = 512 х 8 [бит] = 4096 [бит] = 212 [бит].
3. Определяем количество бит на пиксель: K = M/Q = 212 / 210 = 22 = 4 [бит/пиксель].
4. По таблице степеней двойки находим, что 4 бита позволяют закодировать N = 2K = 24 = 16 цветов.
5. Поэтому правильный ответ – 3.

Возможные ловушки:

– расчет на то, что ученик где-то слышал, что в палитре 256 цветов (в самом деле – обычно не более 256), – дан неверный ответ 256;
– если перепутать количество цветов и количество бит на пиксель (или невнимательно прочитать условие), можно остановиться на п. 3 в решении задачи, считая это окончательным ответом (неверный ответ 4);
– если перепутать количество цветов и количество бит на пиксель и применить таблицу «в обратную сторону», получаем неверный ответ 2.

B6

ЗАДАНИЕ

Скорость передачи данных через ADSL-соединение равна 128000 бит/c. Через данное соединение передают файл размером 625 Кбайт. Определите время передачи файла в секундах.

РЕШЕНИЕ

1. Выделим в заданных больших числах степени двойки и переведем размер файла в биты, чтобы «согласовать» единиц измерения:

q  = 128000 бит/c = 128 х 1000 бит/с = 27 х 125 х 8 бит/с = 27 х 53 х 23 бит/с = 210 х 53 бит/с
Q  = 625 Кбайт = 54 Кбайт = 54 х 213 бит

2) Чтобы найти время передачи в секундах, нужно разделить размер файла на скорость передачи:

ОТВЕТ: 40 с.

С1

ЗАДАНИЕ

Требовалось написать программу, которая решает уравнение «a |x| = b» относительно x для любых чисел a и b, введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно:
var a,b,x: real; 
begin 
readln(a,b,x); 
if a = 0 then 
if b = 0 then 
write ('любое число') 
else write ('нет решений') 
else 
if b = 0 then 
write('x = 0') 
else write('x =',b/a,' или x =',-b/a); 
end.
Последовательно выполните три задания: 1) Приведите пример таких чисел a, b, x, при которых программа неверно решает поставленную задачу. 2) Укажите, какая часть программы является лишней. 3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

РЕШЕНИЕ

Программа работает неправильно, если a и b не равны нулю и имеют разные знаки: в этом случае уравнение «a |x| = b» не имеет решений (поскольку модуль – неотрицательная величина), а программа выдаст два решения. Хотя в задании сказано «Приведите пример таких чисел a, b, x,…», значение x ни на что не влияет (см. далее), в ответе можно указать любое число x. Например,  a = 1, b = -1, x = 0 Лишняя часть программы – ввод x, поскольку это не исходные данные, а результат. Поэтому вместо оператора 
readln(a,b,x); 
правильнее написать
readln(a,b); 
Переменная x далее не используется, поэтому ее не нужно объявлять:
var a,b: real; 
Возможная доработка программы – добавить еще один условный оператор, обрабатывающий неучтенный случай (a и b не равны нулю и имеют разные знаки), при котором нет решений:
var a,b: real; 
begin 
readln(a,b); 
if a = 0 then 
  if b = 0 then 
       write ('любое число') 
  else write ('нет решений') 
else 
  if b = 0 then 
     write('x = 0') 
  else
     if a*b < 0 then
          write('нет решений')

     else write('x =',b/a,' или x =',-b/a); 
end.
обратите внимание, что для проверки условия «a и b имеют разные знаки» использовано произведение a*b, которое больше нуля, когда два значения имеют одинаковые знаки, и меньше нуля – когда разные

Наверх
На сайте используются файлы cookie. Продолжая использование сайта, вы соглашаетесь на обработку своих персональных данных. Подробности об обработке ваших данных — в политике конфиденциальности.

ВНИМАНИЕ!

Срок действия лицензии на использования программного обеспечения окончен 31.12.2023.
Для получения информации с сайта свяжитесь с Администрацией образовательной организации по телефону +7(964) 016-54-27

Функционал «Мастер заполнения» недоступен с мобильных устройств.
Пожалуйста, воспользуйтесь персональным компьютером для редактирования информации в «Мастере заполнения».