Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Назначение программы: определить числа в диапазоне от 1 до 100 сумма цифр которого в два раза меньше его самого. Такое число единственное.




Задания олимпиады по информатике

Памяти В.А. Буцика

Задание 1

Сколько единиц в двоичной записи числа 1025?

Решение:

1) переводим число 1025 в двоичную систему: 1025 = 10000000001­2

2) считаем единицы, их две

Ответ: 2

Задание 2

Ученик заполнял таблицу истинности для выражения F. Он успел заполнить лишь небольшой фрагмент таблицы:

x1 x2 x3 x4 x5 x6 x7 x8 F
0 1 0
1 0 1
1 1 1

Каким выражением может быть F?

1) x1 Ù x2 Ù x3 Ù x4 Ù x5 Ù x6 Ù x7 Ù x8

2) x1 Ú x2 Ú x3 Ú x4 Ú x5 Ú x6 Ú x7 Ú x8

3) x1 Ù x2 Ù x3 Ù x4 Ù x5 Ù x6 Ù x7 Ù x8

4) x1 Ú x2 Ú x3 Ú x4 Ú x5 Ú x6 Ú x7 Ú x8

Решение:

Перепишем выражения в более простой форме, заменив «И» (Ù) на умножение и «ИЛИ» (Ú) на сложение:

1)

2)

3)

4)

В последнем столбце таблицы истинности видим две единицы, откуда сразу следует, что это не может быть цепочка операций «И» (конъюнкций), которая даёт только одну единицу; поэтому ответы 1 и 3 заведомо неверные.

1) анализируем первую строку таблицы истинности; мы знаем в ней только два значения - и

2) для того, чтобы в результате в первой строке получить 0, необходимо, чтобы переменная  входила в сумму с инверсией (тогда из 1 получится 0!), это условие выполняется для обоих оставшихся вариантов, 2 и 4

3) кроме того, переменная  должна входить в выражение без инверсии (иначе соответствующее слагаемое в первой строке равно 1, и это даст в результате 1); этому условию не удовлетворяет выражение 4; остается один возможный вариант – выражение 2

Ответ: 2

Задание 3

Таблица стоимости перевозок устроена следующим образом: числа, стоящие на пересечениях строк и столбцов таблиц, означают стоимость проезда между соответствующими соседними станциями. Если пересечение строки и столбца пусто, то станции не являются соседними. Укажите таблицу, для которой выполняется условие:

«Минимальная стоимость проезда из А в B не больше 6». Стоимость проезда по маршруту складывается из стоимостей проезда между соответствующими соседними станциями.

1) 2) 3) 4)
  A B C D Е
A     3 1  
B     4   2
C 3 4     2
D 1        
Е   2 2    

 

  A B C D Е
A     3 1 1
B     4    
C 3 4     2
D 1        
Е 1   2    

 

  A B C D Е
A     3 1 4
B     4   2
C 3 4     2
D 1        
Е 4 2 2    

 

  A B C D Е
A       1  
B     4   1
C   4   4 2
D 1   4    
Е   1 2    

 

Решение:

1) нужно рассматривать все маршруты из А в В, как напрямую, так и через другие станции

2) рассмотрим таблицу 1:

· из верхней строки таблицы следует, что из А в В напрямую везти нельзя, только через C (стоимость перевозки А-С равна 3) или через D (стоимость перевозки из А в D равна 1)

  A B C D Е
A     3 1  

· предположим, что мы повезли через C; тогда из третьей строки видим, что из C можно ехать в В, и стоимость равна 4

  A B C D Е
C 3 4     2

· таким образом общая стоимость перевозки из А через С в В равна 3 + 4 = 7

· кроме того, из С можно ехать не сразу в В, а сначала в Е:

  A B C D Е
C 3 4     2

а затем из Е – в В (стоимость также 2),

  A B C D Е
Е   2 2    

так что общая стоимость этого маршрута равна 3 +2 + 4 = 7

· теперь предположим, что мы поехали из А в D (стоимость 1); из четвертой строки таблицы видим, что из D можно ехать только обратно в А, поэтому этим путем в В никак не попасть:

  A B C D Е
D 1        

· таким образом, для первой таблицы минимальная стоимость перевозки между А и В равна 7; заданное условие «не больше 6» не выполняется

3) аналогично рассмотрим вторую схему; возможные маршруты из А в В:

· , стоимость 7

· , стоимость 7

· таким образом, минимальная стоимость 7, условие не выполняется

4) для третьей таблицы:

· , стоимость 7

· , стоимость 6

· , стоимость 7

· таким образом, минимальная стоимость 6, условие выполняется

5) для четвертой:

· , стоимость 9

· , стоимость 8

· минимальная стоимость 8, условие не выполняется

6) условие «не больше 6» выполняется только для таблицы 3

7) таким образом, правильный ответ – 3.

Ответ: 3

Задание 4

Для кодирования букв А, Б, В, Г решили использовать двухразрядные последовательные двоичные числа (от 00 до 11, соответственно). Если таким способом закодировать последовательность символов БАВГ и записать результат шестнадцатеричным кодом, то получится

Решение:

1) из условия коды букв такие: A – 00, Б –01, В – 10 и Г – 11, код равномерный

2) последовательность БАВГ кодируется так: 01 00 10 11 = 1001011

3) разобьем такую запись на тетрады справа налево и каждую тетраду переведем в шестнадцатеричную систему (то есть, сначала в десятичную, а потом заменим все числа от 10 до 15 на буквы A, B, C, D, E, F); получаем

1001011 = 0100 10112 = 4B16

4) правильный ответ – 4B16.

Ответ: 4B16

Задание 5

Объем сообщения, содержащего 4096 символов, равен 1/512 части Мбайта. Какова мощность алфавита, с помощью которого записано это сообщение?

Решение:

1) в сообщении было 4096 = 212 символов

2) объем сообщения

1/512 Мбайта = 223 / 512 бита = 223 / 29 бита = 214 бита (= 16384 бита!)

3) место, отведенное на 1 символ:

214 бита / 212 символов = 22 бита на символ = 4 бита на символ

4) 4 бита на символ позволяют закодировать 24 = 16 разных символов

5) поэтому мощность алфавита – 16 символов

Ответ: 16

Задание 6

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

Решение:

1) обозначим количество символов через N

2) при 16-битной кодировке объем сообщения – 16*N бит

3) когда его перекодировали в 8-битный код, его объем стал равен–

8*N бит

4) таким образом, сообщение уменьшилось на

16*N – 8*N = 8*N = 480 бит

5) отсюда находим N = 480/8 = 60 символов.

 Ответ: 60

Задание 7

В машине стоит видеорегистратор. Он настроен таким образом, что записывает изображение как набор отдельных видеороликов длительностью 20 секунд. Запись роликов зациклена, то есть, если для записи очередного ролика на носителе информации недостаточно места, то стирается самый старый на данный момент ролик, а на его место записывается очередной ролик. При резком торможении видеорегистратор ставит пометку «не стирать» на три ролика, один до торможения, один после и один во время торможения. Такие ролики в дальнейшем не стираются, чтобы освободить место на новые ролики. Определите минимальный размер носителя информации в ГБайтах для того, чтобы гарантированно выполнились следующие условия:

1. Камера имеет разрешение 1024 на 768 точек, с глубиной цвета 24 бита на точку, видео записывается как последовательность несжатых растровых изображений с частотой 24 кадра в секунду.

2. В течение дня машина резко тормозила 5 раз.

3. В конце дня, между началом записи очередного ролика и его стиранием, в связи с нехваткой места на очередной ролик, стало проходить ровно 15 минут.

4. Вся служебная информация, необходимая для работы видеорегистратора на носителе информации, занимает ровно 500 МБайт, и этот объем не зависит от количества записанных роликов.

В ответе запишите целое число ГБайт.

Решение

Проведем предварительные расчеты:

1. Один ролик имеет размер:

количество точек * количество бит на точку * количество кадров в секунду * на количество секунд, то есть

1024*768*24*24*20=9059696640 бит.

Переведем число в МБайты:

9059696640 / (8*1024*1024) = 1080 МБайт.

2. Машина тормозила 5 раз, следовательно, максимальное количество роликов, помеченных «не стирать», может быть равно 15. Обратим внимание, что оно может быть и меньше, поскольку один и тот же ролик мог быть помечен как нестираемый в связи с разными моментами торможения, но, поскольку в условии просят указать минимальный размер носителя, при котором гарантированно выполняются перечисленные условия, необходимо рассмотреть именно максимальное количество нестираемых роликов.

3. За 15 минут будет записано

(15*60) / 20 = 45 роликов.

Значит, объем памяти, необходимый для записи, должен быть не менее, чем:

 (45 + 15) * 1080 =64800 МБайт.

4. К этому объему необходимо добавить 500 МБайт для служебной информации и перевести полученный объем в ГБайты:

(64800 + 500) / 1024 = 63,77 ГБайт.

В ответе необходимо указать целое число ГБайт, поэтому проводим округление результата в большую сторону.

Ответ: 64

Задание 8

Загадано имя файла и даны три маски файлов, однозначно определяющих это имя:

1. ?*sk*?.*j*??

2. *os?*a1.*p?

3. m?*kv*?.*??g

Известно, что имя загаданного файла состоит из семи символов, а расширение из трех.

В ответе укажите имя этого файла (семь символов и три, разделенные точкой).

Решение:

В условии указано количество символов:

__ __ __ __ __ __ __ . __ __ __

Рассмотрим последовательно все заданные маски. Из третьей очевидным являются следующие символы имени и расширения файла:

m __ __ __ __ __ __ . __ __ g

При рассмотрении второй маски можно однозначно дополнить искомое до:

m __ __ __ __ а 1 . __ p g

Далее необходимы следующие рассуждения:

В расширении возможны лишь три символа, два из которых мы определили однозначно, про третий символ в первой маске сказано, что он должен быть j и не может стоять на последних двух позициях. Таким образом, однозначно можно сказать, что расширение возможно только jpg.

В имени файла осталось четыре незаполненных позиции, на которые претендуют следующие заявленные сочетания букв sk, os, kv. Как видно в трех парах присутствуют 4 символа: s, k, o, v. Что точно соответствует оставшимся не заполненным позициям.

Следовательно, нужно расположить заявленные три пары символов так, чтобы они сочетались друг с другом и составляли последовательность из 4 символов. Такое сочетание может быть лишь одно: oskv.

Следовательно, получим имя файла: moskva1.jpg

       Ответ:moskva1.jpg

Задание 9

Дана таблица из базы данных товаров:

Наименование Цена Рейтинг Категория
Товар №6 20 9,7 Высшая
Товар №2 20 9,8 Вторая
Товар №10 30 9,5 Первая
Товар №4 10 9,7 Высшая
Товар №1 10 9,5 Вторая
Товар №8 20 9,8 Первая
Товар №7 10 9,8 Первая
Товар №3 20 9,6 Вторая
Товар №9 30 9,6 Первая
Товар №5 10 9,6 Высшая

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

Была проведена сортировка этой таблицы, в результате которой строки выстроились таким образом, что номера товаров расположились строго по возрастанию. На первой позиции оказался товар с номером 1, на второй – товар с номером 2 и так далее. Последнюю строку, соответственно занял товар с номером 10. Строка с названиями столбцов не участвовала в сортировке.

Известны правила, по которым проводилась сортировка:

1. В сортировке участвовали все три столбца.

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

3. Во время второй сортировки строки, имеющие одинаковые значения в столбце, по которому проводилась первая сортировка, сортировались между собой по одному из оставшихся двух столбцов (по возрастанию или по убыванию).

4. Во время третьей сортировки строки, имеющие одинаковые значения в обоих столбцах, по которым проводились первые две сортировки, сортировались между собой по значениям в оставшемся столбце (по возрастанию или по убыванию).

Необходимо определить порядок использования столбцов в сортировках и направление каждой сортировки. В ответе необходимо указать последовательность из шести символов: сначала укажите первую букву названия столбца, по которому проводилась первая сортировка, затем символ + или -, обозначающий направление сортировки по этому столбцу («+» значит по возрастанию, а «-» - по убыванию); затем укажите первую букву названия столбца, по которому проводилась вторая сортировка и следом также символ + или -, обозначающий направление сортировки по этому столбцу; затем укажите первую букву названия столбца, по которому проводилась третья сортировка и следом символ + или -, обозначающий направление сортировки по этому столбцу.

Например, ответ Ц+Р-К- будет означать, что сначала сортировка была проведена по возрастанию значений в столбце «Цена», затем для строк с одинаковыми значениями в этом столбце между собой – по убыванию значений в столбце «Рейтинг» и затем для строк с одинаковыми значениями и в столбце «Цена», и в столбце «Рейтинг» между собой по убыванию значений в столбце «Категория».

Решение:

Определим возможные столбцы, по которым была осуществлена первая сортировка.

Пусть первая сортировка была по столбцу «Цена» (для примера возьмем сортировку по возрастанию). Тогда первые 4 позиции займут товары с номерами 1, 4, 5 и 7 у которых одинаковое наименьшее значение в столбце «Цена». Их перемещение в результате последующей сортировки возможно только в пределах этих четырех позиций. Следовательно, товары с номерами 5 и 7 не смогут попасть на нужные позиции. Отметим, что при первой сортировке по этому столбцу по убыванию товары с номерами 1, 4 и 5 также не смогут занять требуемые позиции. Следовательно, первая сортировка по столбцу «Цена» исключена.

Рассмотрим первую сортировку по столбцу «Рейтинг». В случае сортировки по возрастанию первые позиции займут товары с номерами 1 и 10. В случае первой сортировки по этому столбцу по убыванию эти же товары займут последние две позиции. В обоих случаях второй сортировкой нам не удастся развести строки с этими товарами на крайние позиции списка. Следовательно, первая сортировка по столбцу «Рейтинг» также исключена.

Остается рассмотреть первую сортировку по столбцу «Категория». Поскольку тип данных этого столбца строковый и сортировка предполагает лексикографический порядок, в случае сортировки по возрастанию категории расположатся в порядке «Вторая-Высшая-Первая». Тогда первые 3 позиции займут товары с номерами 1, 2 и 3, позиции с 4 по 6 займут товары с номерами 4, 5 и 6 и соответственно последние 4 позиции займу товары с номерами 7, 8, 9 и 10. Это дает возможность следующими сортировками добиться правильного результата. Следовательно, мы определили, что первая сортировка происходила по столбцу «Категория» по возрастанию.

Найдем столбец, по которому производилась вторая сортировка. Для этого рассмотрим первые три строки, получившиеся после первой сортировки и занимаемые товарами с номерами 1, 2 и 3. Если бы вторая сортировка производилась по столбцу «Рейтинг», то их порядок мог бы быть в зависимости от направления сортировки либо 1-3-2, либо 2-3-1. Оба варианта нам не подходят. Значит, вторая сортировка производилась по столбцу «Цена». При этом, поскольку нам необходимо, чтобы товар с номером 1 оказался на первой позиции, а у него наименьшее из трех значение в столбце «Цена», вторая сортировка производилась по столбцу «Цена» по возрастанию.

Получается, что третья сортировка производилась по столбцу «Рейтинг». Осталось определить ее направление. Поскольку у товаров с номером 2 и 3 одинаковые значения и в столбце «Категория», и в столбце «Цена», их порядок может быть определен только третьей сортировкой. Значение в столбце «Рейтинг» у товара с номером 2 больше чем у товара с номером 3, следовательно, последняя сортировка производилась по столбцу «Рейтинг» по убыванию.

Мы определили и порядок, и направление всех трех сортировок и в соответствии с требованиями к вводу ответа можем записать ответ К+Ц+Р-.

       Ответ: К+Ц+Р-

Задание 10

Найдите натуральное число такое, что его запись в шестеричной системе счисления имеет ровно четыре значащих разряда и при этом выполняются следующие условия:

1. Две первые цифры его записи являются одинаковыми между собой, и две последние цифры также одинаковы между собой.

2. Две первые цифры отличны от последних двух цифр.

3. Число является полным квадратом, то есть оно является квадратом некоторого целого числа.

В ответе укажите четырехзначное число в шестеричной системе счисления.

Решение:

Задачи, связанные с системами счисления целесообразно решать, используя полную степенную запись числа.

Перепишем условие:

А*63+А*62+В*6+В=Х2, где

А – первая и вторая цифра числа в шестеричной системе,

В – третья и четвертая цифра числа в шестеричной системе.

Упростим выражение

(36*А + В)*7= Х2

Проанализируем данное равенство.

Из условия задачи понятно, что А может принимать значения от 1 до 5, а В может принимать значения от 0 до 5.

Следовательно, максимальное значение Х2 может быть равно 1295, а минимальное равно 252.

Таким образом можно утверждать что:

15,87<=X<=35,98

Поскольку по условию Х целое, то нас интересует ряд целых чисел от 16 до 35.

Кроме того, из равенства видно, что Х должно быть кратно 7. Что сокращает ряд чисел до трех: 21, 28, 35.

Далее нужно решить независимо три уравнения:

(36*А + В)*7= 212

(36*А + В)*7= 282

(36*А + В)*7= 352

Из полученных уравнений только второе имеет решение, при котором A и B будут целыми числами, попадающими в диапазоны, определенные выше. Получаем А = 3 и В = 4.

Ответ: 3344

Задание 11

Сколько существует таких натуральных чисел, что их запись в шестнадцатеричной системе счисления будет иметь ровно две значащих цифры, а в восьмеричной системе счисления – ровно три значащих цифры? Ответ запишите в шестнадцатеричной системе счисления.

Решение:

Обратим внимание, что при переводе из шестнадцатеричной системы счисления в двоичную систему счисления каждый шестнадцатеричный разряд может независимо от других разрядов быть представлен как четыре двоичных разряда, а при переводе из восьмеричной системы счисления в двоичную систему счисления каждый восьмеричный разряд может независимо от других разрядов быть представлен как три двоичных разряда.

Следовательно, двузначное шестнадцатеричное число при переводе в двоичную систему счисления будет иметь от 5 до 8 двоичных разрядов, а трехзначное восьмеричное число при переводе в двоичную систему счисления будет иметь от 7 до 9 двоичных разрядов. Из этого можно сделать вывод, что минимальное число, которое будет иметь две значащих цифры в шестнадцатеричной системе счисления и три значащих цифры в восьмеричной системе счисления – это минимальное число, которое в двоичной системе счисления будет иметь 7 разрядов, то есть попадать в определенные выше границы диапазона количества двоичных разрядов, удовлетворяющего обоим условиям. Это число 10000002 = 4016.

В соответствии с аналогичными рассуждениями максимальное число, которое будет иметь две значащих цифры в шестнадцатеричной системе счисления и три значащих цифры в восьмеричной системе счисления – это максимальное число, которое в двоичной системе счисления будет иметь 8 разрядов. Это число 111111112 = FF16. Следовательно, количество чисел, удовлетворяющих условию, представленное в шестнадцатеричной системе счисления может быть вычислено как FF16 - 4016 + 1 = С016, что и является ответом задания.

Ответ:С016

Задание 12

Код Хэмминга является примером кода с исправлением ошибок. Рассмотрим пример кодовой таблицы символов A, B, C, D, E, F, G, H, J и K, сопоставляющей каждому символу двоичную последовательность, построенную на основе кода Хэмминга.

A 0 0 0 0 0 0 0
B 1 1 0 1 0 0 1
C 0 1 0 1 0 1 0
D 1 0 0 0 0 1 1
E 1 0 0 1 1 0 0
F 0 1 0 0 1 0 1
G 1 1 0 0 1 1 0
H 0 0 0 1 1 1 1
J 1 1 1 0 0 0 0
K 0 0 1 1 0 0 1

Утверждается, что при кодировании символов с использованием данной кодовой таблицы появляется возможность однозначно декодировать значение символа по двоичной последовательности, в которой может быть допущена одна ошибка (один двоичный разряд изменил свое значение).

Были переданы три символа из указанного диапазона, кодированные с использованием кода приведенной кодовой таблицы. Известно, что при передаче кода каждого символа произошла ошибка в одном из двоичных разрядов. В результате было получено следующее сообщение:

1 0 0 0 1 1 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0

Декодируйте полученное сообщение. В ответе укажите последовательность из трех символов в порядке их следования в сообщении без пробелов.

Решение:

Обратим внимание, что в кодовой таблице представлены семиразрядные двоичные коды. Разделим двоичную последовательность из полученного сообщения на три семиразрядных двоичных числа и сопоставим каждое из них с кодовой таблицей, предполагая, что разница в двоичном числе из 2 сообщения и одним из кодов в таблице должна заключаться только в одном разряде. В результате легко заметить, что первое двоичная последовательность из сообщения 1000110 отличается от кода символа G только значением второго разряда, последовательность 1011100 отличается от кода символа Е только значением третьего разряда, а последовательность 0110000 отличается от кода символа J только значением первого разряда. Следовательно, в полученном сообщении была закодирована последовательность символов GEJ

Ответ: GEJ

Задание 13

Для хранения отсканированных слайдов отведено X МБайт памяти (X– целое число). Если сканирование слайдов произвести с использованием палитры из 232 цветов, то отведенной памяти хватит на хранение семи изображений и останутся свободными 2,25 МБайт. Если сканирование слайдов произвести с использованием палитры из 224 цветов, то отведенной памяти хватит на хранение десяти изображений и отведенный объем памяти будет использован полностью. Сканированные изображения содержат одинаковое количество пикселей. Известно, что каждый файл с изображением кроме несжатой графической информации также содержит 256 КБайт служебной информации. Сколько памяти отведено для хранения сканированных изображений? В ответе укажите целое число МБайт.

Решение:

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

7 * (Y * log2(232) + 256 * 1024 * 8) + 2,25 * 1024 * 1024 * 8 = 10 * (Y * log2(224) + 256 * 1024 * 8)

Выполним необходимые преобразования и вычисления:

7 * 256 * 1024 * 8 + 2,25 * 1024 * 1024 * 8 – 10 * 256 * 1024 * 8 = 10 * Y * 24 - 7 * Y * 32

23 * 210 * 28 * (7 + 2,25 * 22– 10) = Y * (24 * 10 – 7 * 32)

221 * 6 = 16 * Y

Получаем Y = 3 * 218 пикселей.

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

10 * (3 * 218 * log2(224) + 256 * 1024 * 8) / (8*1024*1024) = 10 * (3 * 218 * 3 * 23+ 221) / 223 =10 * 221 * (9 + 1) / 223 = 2 * 5 * 221 * 2 * 5 / 223 = 25 * 223 / 223 = 25 Мбайт

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

       Ответ: 25

Задание 14

Дан фрагмент электронной таблицы, в которой ячейки диапазона A1:C8 заполнены числами 0 или 1 как показано на рисунке. В ячейку D1 записали формулу вида:

=ЕСЛИ(И(B1=X;ИЛИ(A1=Y; C1=Z));0;1),

где вместо X, Y и Z были подставлены числа 0 или 1.

После этого ячейку D1 последовательно скопировали в ячейки диапазона D2:D8.

В результате получили следующие значения:

Определите, какие значения были подставлены вместо X,Y и Z. В ответ укажите через пробел сначала значение X, затем Y и затем Z.

Решение:

Обозначим значение логического высказывания "A1=Y" логической переменной A, "B1=X" – И, "C1=Z" –С. Тогда логическое выражение, используемое как условие для функции ЕСЛИ(), будет выглядеть следующим образом B(A\/C). При значении "истина" этого логического выражения в ячейку D помещается 0, а при значении ложь – 1. В столбце D нулевых значений три, против 5 единиц, это позволяет нам рассмотреть необходимые условия истинности выражения B(A\/C) при трех наборах значений A1, B1, C1:{0,1,0}, {0,1,1}{1,1,0}.

Выражение B(A\/C) будет истинным только при значении B равном 1 и значении (A\/C) равном единице, что, в свою очередь, возможно при истинности хотя бы одного из двух логических высказываний.

Это возможно, когда X равно 1, для истинности B, и A, C не равны 1, для истинности (a\/c). Таким образом, ответ.

       Ответ: 1 0 0

Задача 15

(5 баллов)

При написании программы в коде были допущены ошибки, исправьте их.

Pascal
program p5; var   Max, i:integer; Ar:array [1..10] of integer; begin writeln('Введите массив данных'); For i:=1 to 11 do Begin readln(Ar[i]); if Ar[i]:=Max then      Ar[i]:=Max; end; Writeln('Наибольшее число ', Max); end.
Visual Basic
Sub pr1() Dim Max, i As Integer Dim Ar(1 To 11) As Integer MsgBox ("Введите массив данных ") For i = 1 To 10 Ar(i) = InputBox("Элемент №" & i) If Ar(i) = Max Then    Ar(i) = Max End If Next MsgBox ("Наибольшее число " & Max) End Sub
Pascal
program p5; var Max, i:integer; Ar:array [1..10] of integer; begin writeln('Введите массив данных'); For i:=1 to 10 do – Массив из десяти членов, поэтому 11 нужно заменить на 10 Begin readln(Ar[i]); if Ar[i]>Max then – Проверка условия, что введенный член больше найденного максимума    Max:=Ar[i]; - Присвоение переменной максимум нового значения end; Writeln('Наибольшее число ', Max); end.
Visual Basic
Sub pr1() Dim Max, i As Integer Dim Ar(1 To 10) As Integer MsgBox ("Введите массив данных ") For i = 1 To 10 – Массив из десяти членов, поэтому 11 нужно заменить на 10 Ar(i) = InputBox("Элемент №" & i) If Ar(i) > Max Then –Проверка условия, что введенный член больше найденного максимума       Max = Ar(i) - Присвоение переменной максимум нового значения End If Next MsgBox ("Наибольшее число " & Max) End Sub

Ответ:

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

Задача 16

(5 баллов)

Укажите, какая строка будет выведена на экран в результате выполнения программы:

Pascal
program pr1; var a,b,c,d,e :integer; Function F(x: integer):integer; begin F := (x-4)*(x-4)-6; end; begin a := -100; b := 100; d := a; e := F(a); for c := a to b do begin if (F(c)<e) then begin d:=c; e:=F(c); end; end; write('F(' , d , ')= ' , e); end.
Visual Basic
Function Func(ByVal x As Integer) As Integer Func = (x - 4) * (x - 4) - 6 End Function   Sub pr1() Dim a, b, c, d, e As Integer a = -100 b = 100 d = a e = Func(a) For c = a To b If (Func(c) < e) Then d = c e = Func(c) End If Next c Print ("F(" & d & ")= " & e) End Sub

Программа ищет минимум функции y=(x-4)2-6.

Ответ:

В результате выполнения программы будет выведена строка: F(4)= -6



Задача 17

(5 баллов)

Укажите назначение программного кода и вывод программы после его выполнения:

Pascal
program p1; var i,a,b:integer; begin for i:=1 to 100 do begin b:=i; a:=0; while ( b<>0 ) do    begin      a := a + (b mod 10);      b := b div 10;    end; if i=a*2 then writeln (i); end; end.
Visual Basic
Sub p1() Dim i, a, b As Integer For i = 1 To 100 b = i a = 0 While b <> 0 a = a + (b Mod 10) b = b \ 10 Wend If i = a * 2 Then Print i Next i End Sub

 

Ответ:

Назначение программы: определить числа в диапазоне от 1 до 100 сумма цифр которого в два раза меньше его самого. Такое число единственное.

Вывод: 18



Задача 18

(5 баллов)

Напишите, что будет выведено на экран в результате выполнения программного кода:

Pascal
program p3; var i,j,k,s:integer; a : array [1..10,1..10] of integer; begin k:=1; for i:=1 to 10 do for j :=1 to 10 do begin    a[i,j]:=k;        k:=k+1; end; s:=0; for i:=1 to 10 do begin for j :=1 to 10 do    begin      write (a[i,j]:4,' ');      s:=s+a[i,j];     end; writeln; end; writeln(s); end.
Visual Basic
Sub ss() Dim str1 As String Dim i, j, k, s As Integer Dim a(1 To 10, 1 To 10) As Integer k = 1 For i = 1 To 10 For j = 1 To 10 a(i, j) = k k = k + 1 Next j Next i s = 0 For i = 1 To 10 str1 = "" For j = 1 To 10 str1 = str1 & " " & a(i, j) s = s + a(i, j) Next j Print str1 Next i Print (s) End Sub

Данная программа заполняет массив размерностью 10х10 числами от 1 до 100. Затем выводит массив на экран, одновременно считая их сумму. Сумма чисел от 1 до 100 равна 5050.

Ответ:

1 2 3 4 5 6 7 8 9 10 

11 12 13 14 15 16 17 18 19 20 

21 22 23 24 25 26 27 28 29 30 

31 32 33 34 35 36 37 38 39 40 

41 42 43 44 45 46 47 48 49 50 

51 52 53 54 55 56 57 58 59 60 

61 62 63 64 65 66 67 68 69 70 

71 72 73 74 75 76 77 78 79 80 

81 82 83 84 85 86 87 88 89 90 

91 92 93 94 95 96 97 98 99 100 

5050



Задача 19

(5 баллов)

Палиндром – это число, слово или фраза, одинаково читающиеся в обоих направлениях.

Программист написал программу по выводу на экран всех чисел палиндромов от 1 до 10000. Однако перед сохранением программы случайно стер одну строку программы, теперь она не работоспособна. Восстановите код.

Pascal
program p2; var chislo: string; i,j: integer; f: boolean; begin for j:=1 to 10000 do begin    chislo:=inttostr(j);    f := false;    for i := 1 to length(chislo) div 2 do        f := true;      if not f then writeln(j) end; end.
Visual Basic
Sub p2() Dim chislo As String Dim i, j As Integer Dim f As Boolean For j = 1 To 10000 chislo = LTrim(Str(j)) f = False For i = 1 To Len(chislo) \ 2        f = True    End If Next i If f = False Then Print (j) Next j End Sub

Овет:

Pascal
program p2; var chislo: string; i,j: integer; f: boolean; begin for j:=1 to 10000 do begin    chislo:=inttostr(j);    f := false;    for i := 1 to length(chislo) div 2 do      if chislo[i] <> chislo[length(chislo)-i+1] then или      if copy(chislo,i,1) <> copy(chislo,length(chislo)-i+1,1) then        f := true;      if not f then writeln(j) end; end.
Visual Basic
Sub p2() Dim chislo As String Dim i, j As Integer Dim f As Boolean For j = 1 To 10000 chislo = LTrim(Str(j)) f = False For i = 1 To Len(chislo) \ 2    If Mid(chislo, i, 1) <> Mid(chislo, Len(chislo) - i + 1, 1) Then        f = True    End If Next i If f = False Then Print (j) Next j End Sub

В программе оказалась стертой строка кода, отвечающая за сравнение символов с индексами (i) и (длина строки) – i

Задание 20

(5 баллов)

Напишите листинг программы, выводящей на монитор компьютера таблицу значений функции y=x2 на диапазоне от -1 до +2 с шагом 0,2 в формате:

-------------

| x | y |

-------------

| 12 | 144 |

-------------

………

-------------

| 14 | 196 |

-------------

Ответ:

Pascal

Программа Вывод
program funkc; var  dx,x,y:real; begin x:=-1; dx:=0.2; writeln('-------------'); writeln('| x | y |'); writeln('-------------'); while x<=2 do begin y:=x*x; writeln('|',x:4:2,'| ',y:4:2,'|'); writeln('-------------'); x:=x+dx; end; end. ------------- | x | y | ------------- |-1.00| 1.00| ------------- |-0.80| 0.64| ------------- … ------------- | 1.40| 1.96| ------------- | 1.60| 2.56| ------------- | 1.80| 3.24| ------------- | 2.00| 4.00| -------------

Visual Basic

Программа Вывод
Sub funkc()  Dim dx, x, y As Single  x = -1  dx = 0.2 Print ("-------------") Print ("| x | y |") Print ("-------------")  While x <= 2 y = x * x Print ("|" & Right(" " & Format(x, "0.00"), 5) & "| " & Right(" " & Format(y, "0.00"), 5) & "|") Print ("-------------") x = x + dx  Wend End Sub ------------- | x | y | ------------- |-1,00| 1,00| ------------- |-0,80| 0,64| ------------- … ------------- | 1,40| 1,96| ------------- | 1,60| 2,56| ------------- | 1,80| 3,24| ------------- | 2,00| 4,00| -------------

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 181.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...