Информатика Универсальный справочник 2010.pdf

  • pdf
  • 29.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Информатика Универсальный справочник 2010.pdf

ИНФОРМАТИКА


УНИВЕРСАЛЬНЫЙ СПРАВОЧНИК

эксмо

ИНТЕР.МТТАЯ

ЕДИНЫЙ?

ИА. Трофимова, О.В. Яровая

иноорммии

УНИВЕРСАЛЬНЫЙ сппвочник

МОСКВА экско 2010

удк

ББК 32.81я721 т 76

Трофимова И. А.

т 76

ЕГЭ. Информатика. Универсальный справочник / И. А. Трофимова, О. В. Яровая. — М. : эксмо, 2010. — 288 с. — (ЕГЭ. Универсальный справочник).

БВГЧ 978-5-699-37856-2

Справочник адресован выпускникам и абитуриентам для подготовки к единому государственному экзамену по информатике. Пособие содержит подробный теоретический материал по всем темам, проверяемым экзаменом по информатике. После каждого раздела даются примеры заданий ЕГЭ и тренировочный тест. Для итогового контроля знаний в конце справочника приводятся тренировочные варианты, соответствующие ЕГЭ по информатике, а также бланки ответов. Ко всем заданиям приводятся ответы.

Издание будет полезно учителям информатики, репетиторам и родителям, поможет эффективно организовать подготовку учащихся к единому государственному экзамену . удк     

ББК 32.81я721

Трофимова И. А., Яровая О. В., 2010

ISBN 978-5=699-37856-2

© Оформление. ООО «Издательство «Эксмо», 201 О

СОДЕРЖАНИЕ

иноорммип

ТЕОРЕТИЧЕСКИЙ курс С ПРИМЕРАМИ ЗАДАНИИ ЕГЭ


Раздел 1

Информационные процессы и системы

1.1. Информация и ее кодирование6

1.1.1. Различные ПОДХОДЫ к определению понятия

«информация». Виды информационных процессов.

Информационный аспект в деятельности человека . 6 1.1.2. Язык как способ представления и передачи информации . .7 1 Л З. Методы измерения количества ИНФОРМДЦИИ:

вероятностный и алфавитный. ..7

1.1 А. Единицы измерения количества информации . ..9

1.1.5. Процесс передачи информации. Виды и свойства источников и приемников информации. Сигнал, кодирование и декодирование, причины искажения информации при передаче10

1.1.6. Скорость передачи информации и пропускная способность канала связи  10 1.1.7. Представление числовой информации. Сложение и

умножение в разных системах счисления .1 1 1.1 В. Кодирование текстовой ИНФОРМДЦИИ. Кодировка

ASCll. Основные используемые кодировки КИРИЛЛИЦЫ .  18

Примеры заданий ЕГЭ к разделу 1.120

1.2. Алгоритмизация и программирование .22 1.2.1. Алгоритмы, виды алгоритмов, описание алгоритмов.

Формальное исполнение алгоритмов .  22

1.2.2. Использование ОСНОВНЫХ алгоритмических конструкций: следование, ветвление, цикл. .

1.2.3. Использование переменных. Объявление переменной (тип, имя, значение). Локальные и глобальные переменные .  40

1.2.4. Работа с массивами (заполнение, считывание, поиск, сортировка, массовые операции и др.).  45

1.2.5. Структурирование задачи при ее Реи.јеНИИ для использования вспомогательного алгоритма.

Вспомогательные алгоритмы: процедуры и функции .. 54

Примеры заданий ЕГЭ к разделу 1.2  56

1.3. Алгебра логики .  60

1.3.1. Алгебра логики .  60

13.2. Логические выражения и их преобразование  64

13.3. Построение таблиц ИСТИННОСТИ логических выражений . . 70

Примеры заданий ЕГЭ к разделу 1 З  74

1 А. Моделирование и компьютерный эксперимент76

1 А. 1. Общая структура деятельности по созданн компьютерных моделей .76

142. Представление и считывание данных в разных типах информационных моделей (схемы, карты, таблицы, графики и формулы)78

1.4.3. Математические модели (графики, исследование функций)80

144. Построение и использование информационных моделей реальных процессов (физических,

ХИМИкКИХ, биологических, экономических)81

Примеры заданий ЕГЭ к разделу 1.482

1.5. Социальная информатика.88

1.5.1. История развития вычислительной техники .88

1.5.2. Нормы информационной этики90

1.5.3. Правовые нормы в области информатики .90

Тренировочные тестовые задания к разделу 192

Раздел 2

Информационные и комуникационные технологии

2.1. Основные устройства информационных и коммуникационных технологий .100

2.1 Л. Типы компьютеров, их основные характеристики и области использования. Выбор необходимого для

данной задачи компьютера . .100

2.1.2. Основные периферийные устройства .101

2.1.3. Обеспечение надежного функционирования средств информационно-коммуникационныхтехнологий (ИКТ), устранение простейших неисправностей. Требования техники безопасности, гигиены, эргономики и ресурсосбережения при работе со средствами ИКТ .102

2.2. Программные средства информационных и коммуникационных технологий .103

2.2.1. Операционная система: назначение и функциональные возможности .103 2.22. Графический интерфейс104

2.23 Файлы и файловые системы. .105

2.2.4 Оперирование информационными объектами с использованием знаний о возможностях информационных и коммуникационных технологий .108


2.25. Технологии и средства защиты информации от

              разрушения и несанкционированного доступа  109

• Примеры заданий ЕГЭ к разделу 2.2           112

2.3. Технология обработки текстовой информации ..     114

     2.3.1. Ввод, редактирование и форматирование текста .        114

23.2. Внедрение в текстовый документ различных объектов . 116

23.3. Автоматизация процесса подготовки издания. Верстка документа. Проверка орфографии

 

        и грамматики .                                

2.4. Технология обработки графической и звуковой

 117

    информации .                                                       

2.4.1. Растровая графика. Растровые графические объекты

 118

       и операции над ними                                              

2.42. Векторная графика. Векторные графические объекты

 118

      и операции над ними .                                        

 122

2.43. Компьютерное черчение123 2.44. Создание и редактирование цифровых звукозаписей .124

24.5. Компьютерные презентации: типы слайдов, мультимедиа эффекты, организация переходов между слайдами .125

Примеры заданий ЕГЭ к разделу 2.4128

2.5. Технология обработки информации в электронных таблицах .во

2.5.1. Ввод и редактирование данных в электронных таблицах, операции над ДДННЫМИ . .130

25.2. Типы и формат данных. Работа с формулами.

Абсолютная и относительная ссылки. Использование функций132 25.3. Визуализация данных с ПОМОЩЬЮ диаграмм и

графиков. Построение графиков элементарных функций 136

Примеры заданий ЕГЭ к разделу 2.5  138

2.6. Технология хранения, поиска и сортировки информации в базах данных .  142 2.6.1. Структура базы данных (записи и поля) .  142

26.2.                  Табличное и картотечное представление баз данных .            143

26.3.                  Сортировка и отбор записей .  144

26.4.                  Использование различных способов формирования  запросов к базам данных .  144

Примеры заданий ЕГЭ к разделу 2.6 .  148

2.7. Телекоммуникационные технологии .152

2.7.1. Базовые принципы организации и функционирования КОМПЬЮТ¶НЫХ сетей. Локальные и глобальные сети. Адресация в сети .  152

2.7.2. Услуги компьютерных сетей: World Wide Web, электронная почта, файловые архивы, поисковые системы, чат и пр.  158

27.3. Поиск информации в Интернете .  161

2.7.4. Методы и средства создания и сопровождения сайта

(основы нтмо  164

Примеры заданий ЕГЭ к разделу 2.7  168

2.8. Технология программирования.  . .170 2.8.1. Чтение короткой (30-50 строк) простой программы  на алгоритмическом языке (языке программирования) 170

2.8.2  Поиск и исправление ОШИ6ОК в НебОЛЬШОМ фрагменте программы (10-20 строк).  175

2.8.3  Создание собственной программы (30-50 строк) для

решения простых задач .179

Примеры заданий ЕГЭ к разделу 2.8182

Тренировочные тестовые задания к разделу 2190

Приложения

Приложение 1. Программирование на языке Pascal.  198

Лексическая структура языка .198

Структура программы  199 Структура данных200

Переменные и константы208 Процедуры ввода/вывода.  210

Операторы языка.212

Операции и процедуры работы со строками217

Процедуры и функции219

Приложение 2. Программирование на языке QBAS|C222

Лексическая структура языка .222

Структура программы223 Структура данных223

Операторы ввода/вывода .227

Операторы языка.229

Процедурные блоки SUB и FUNCT10N232

• Ответы к примерам заданий ЕГЭ и тренировочным тестовым заданиям.  . .234


ТРЕНИРОВОЧНЫЕ ТЕСТОВЫЕ ЗАДАНИЯ

       Вариант 1244             

Вариант 2. 255

Ответы 265

Содержание

ИНФОРМАТИКА

Теоретиуе:ский курс:ећрймеромиваданий ЕГЭ

Информационныетр:оцессы и систеМы

и

и системы

1 .1 . Информация и ее кодирование

1.1.1. Различные ПОДХОДЫ к определению понятия «информация». виды информационных

процессов. Информационный аспект в деятельности человека

Информация (лат. informatio — разъяснение, изложение, набор сведений) базовое понятие в информатике, которому нельзя дать строгого определения, а можно только пояснить:

        информация           это новые факты, новые знания;

        информация — это сведения об объектах и явлениях окружающей среды, которые повышают уровень осведомленности человека;

        информация — это сведения об объектах и явлениях окружающей среды, которые уменьшают степень неопределенности знаний об этих объектах или явлениях при принятии определенных решений.

Понятие «информация» является общенаучным, т. е. используется в различных науках: физике, биологии, кибернетике, информатике и др. При этом в каждой науке данное понятие связано с различными системами понятий. Так, в физике информация рассматривается как антиэнтропия (мера упорядоченности и сложности системы). В биологии понятие «информация» связывается с целесообразным поведением живых организмов, а также с исследованиями механизмов наследственности. В кибернетике понятие «информация» связано с процессами управления в сложных системах.

Основными социально значимыми свойствами информации являются: полезность; доступность (понятность); актуальность; полнота; достоверность; адекватность.

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

Информационный процесс это процесс сбора (приема), передачи (обмена), хранения, обработки (преобразования) информации.

Сбор информации — это процесс поиска и отбора необходимых сообщений из разных источников (работа со специальной литературой, справочниками; проведение экспериментов; наблюдения; опрос, анкетирование; поиск в информационно-справочных сетях и системах и т. д.).


Передача информации — это процесс перемещения сообщений от источника к приемнику по каналу передачи. Информация передается в форме сигналов звуковых, световых, ультразвуковых, электрических, текстовых, графических и др. Каналами передачи могут быть воздушное пространство, электрические и оптоволоконные кабели, отдельные люди, нервные клетки человека и т. д.

Хранение информации это процесс фиксирования сообщений на материальном носителе. Сейчас для хранения информации используются бумага, деревянные, тканевые, металлические и другие поверхности, кино- и фотопленки, магнитные ленты, магнитные и лазерные диски, флэш-карты и др.

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

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

1 .12. Язык как способ представления и передачи информации

Для того чтобы сохранить информацию и передать ее, с давних времен использовались знаки. В зависимости от способа восприятия знаки делятся на: • зрительные (буквы и цифры, математические знаки, музыкальные ноты, дорожные знаки

        слуховые (устная речь, звонки, сирены, гудки и др.);

        осязательные (азбука Брайля для слепых, жесты-касания и др.);

        обонятельные;

        ВК УСОВЫе .

Для долговременного хранения знаки записывают на носители информации.

Для передачи информации используются знаки в виде сигналов (световые сигналы светофора, звуковой сигнал школьного звонка и т. д.).

По способу связи межДу формой и значением знаки делятся на:

        иконические их форма похожа на отображаемый объект (например, значок папки «Мой компьютер» на «Рабочем столе» компьютера);

ОЛЫ— связь между их формой и значением устанавливается по общепринятому соглашению (например, буквы, математические символы f, S с, со; символы химических элементов).  Для представления информации используются знаковые системы, которые называются языками. Основу любого языка составляет алфавит набор символов, из которых формируется сообщение, и набор правил выполнения операций над символами.

Языки делятся на:

        естественные (разговорные) — русский, английский, немецкий и др.;  формальные встречающиеся в специальных областях человеческой деятельности (например, язык алгебры, языки программирования, электрических схем и др.)

Системы счисления также можно рассматривать как формальные языки. Так, десятичная система счисления — это язык, алфавит которого состоит из десяти цифр 0..9, двоичная система счисления — язык, алфавит которого состоит из двух цифр — О и 1.

1.1 В. Методы измерения количества информации: вероятностный и алфавитный

Единицей измерения количества информации является бит. 1 бит это количество информации, содержащейся в сообщении, которое вдвое уменьшает неопределенность знаний о чем-либо.

и

Связь между количеством возможных событий лт и количеством информации I определяется формулой Хартли:

ЛТ = 2 1

Например, пусть шарик находится в одной из четырех коробок. Таким образом, имеется четыре равновероятных события (N = 4). Тогда по формуле Хартли 4 = 2 1 . Отсюда I = 2. То есть сообщение о том, в какой именно коробке находится шарик, содержит 2 бита информации.

Алфавитный подход

При алфавитном подходе к определению количества информации отвлекаются от содержания (смысла) информации и рассматривают ее как последовательность знаков определенной знаковой системы. Набор символов языка (алфавит) можно рассматривать как различные возможные события. Тогда, если считать, что появление символов в сообщении равновероятно, по формуле Хартли можно рассчитать, какое количество информации несет каждый символ:

Например, в русском языке 32 буквы (буква ё обычно не используется), т. е. количество событий будет равно 32. Тогда информационный объем одного символа будет равен:

I = log2 32 = 5 битов.

Если лт не является целой степенью 2, то число log2 лт не является целым числом, и для I надо выполнять округление в большую сторону. При решении задач в таком случае I можно найти как log2 N' , где N' — ближайшая к N степень двойки — такая, что N' > N.

Например, в английском языке 26 букв. Информационный объем одного символа можно найти так:

                                                    = 26; N' = 32;          log2 N' =  битов.

Если количество символов алфавита равно N, а количество символов в записи сообщения равно М, то информационный объем данного сообщения вычисляется по формуле:

Примеры решения задач

Пример 1. Световое табло состоит из лампочек, каждая из которых может находиться в одном из двух состояний («включено» или «выключено»). Какое наименьшее количество лампочек должно находиться на табло, чтобы с его помощью можно было передать 50 различных сигналов?

Решение. С помощью п лампочек, каждая из которых может находиться в одном из двух состояний, можно закодировать 2 п сигналов. 2 5 50 < 2 6 , поэтому пяти лампочек недостаточно, а шести хватит. Ответ: 6.

Пример 2. Метеорологическая станция ведет наблюдения за влажностью воздуха. Результатом одного измерения является целое число от О до 100, которое записывается при помощи минимально возможного количества битов. Станция сделала 80 измерений. Определите информационный объем результатов наблюдений.

Решение. В данном случае алфавитом является множество целых чисел от О до 100. Всего таких значений 101. Поэтому информационный объем результатов одного измерения I = log2 101 . Это значение не будет целочисленным. Заменим число 101 ближайшей к нему степенью двойки, большей 101. Это число 128 = 2 7 . Принимаем для одного измерения I = log2 128 = 7 битов. Для 80 измерений общий информационный объем равен:

80 • 7 = 560 битов — 70 байтов.

       Ответ: 70 байтов.      

Вероятностный подход

Вероятностный подход к измерению количества информации применяют, когда возможные события имеют различные вероятности реализации. В этом случае количество информации определяют по формуле Шеннона:

I = —Е р, log2 ,

      где I      количество информации;

N количество возможных событий; р, — вероятность i-I'0 события.

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

                                                 1         1         1         1

                                                 2 '     4 ' Рз — 8 '  8

Тогда количество информации, которое будет получено после реализации одного из них, можно вычислить по формуле Шеннона:

 битов = 1,75 бита.

1 .1.4. ЕДИНИЦЫ измерения количества информации

Наименьшей единицей информации является бит (англ. binary digit (bit) — двоичная единица информации).

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

В информатике принято рассматривать последовательности длиной 8 битов. Такая последовательность называется байтом.

Производные единицы измерения количества информации:

1 байт = 8 битов

1 килобайт (Кб) = 1024 байта 2 10 байтов

1 мегабайт (Мб) = 1024 килобайта = 2 20 байтов

1 гигабайт (Гб) — 1024 мегабайта = 2 30 байтов

1 терабайт (Тб) — 1024 гигабайта = 2 40 байтов

и

1.1.5. Процесс передачи информации. виды и свойства ИСТОЧНИКОВ и приемников информации. сигнал, кодирование и декодирование, ПРИЧИНЫ искажения информации при передаче

Информация передается в виде сообщений от некоторого источника информации к ее приемнику посредством канала связи между ними.

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

Сигнал — это материально-энергетическая форма представления информации. Другими словами, сигнал — это переносчик информации, один или несколько параметров которого, изменяясь, отображают сообщение. Сигналы могут быть аналоговыми (непрерывными) или Дискретными (импульсными).

Сигнал посылается по каналу связи. В результате в приемнике появляется принимаемый сигнал, который декодируется и становится принимаемым сообщением.

Передача информации по каналам связи часто сопровождается воздействием помех, вызывающих искажение и потерю информации.

Примеры решения задач

Пример 1. Для кодирования букв А, З, Р, О используются двухразрядные двоичные числа 00, 01, 10, 11 соответственно. Этим способом закодировали слово РОЗА и результат записали шестнадцатеричным кодом. Указать полученное число.

Решение. Запишем последовательность кодов для каждого символа слова РОЗА: 10 11 01 00. Если рассматривать полученную последовательность как двоичное число, то в шестнадцатеричном коде оно будет равно: 1011 0100 = В416 •

Ответ: В4

16 •

1.1.6. Скорость передачи информации и пропускная СПОСО6НОСТЬ канала связи

Прием/передача информации может происходить с разной скоростью. Количество информации, передаваемое за единицу времени, есть скорость передачи информации, или скорость информационного потока.

Скорость выражается в битах в секунду (бит/с) и кратных им Кбит/с и Мбит/с, а также в байтах в секунду (байт/с) и кратных им Кбайт/с и Мбайт/с.

Максимальная скорость передачи информации по каналу связи называется пропускной способностью канала.

Примеры решения задач

Пример 1. Скорость передачи данных через  равна 256000 бит/с. Передача файла через данное соединение заняла З мин. Определите размер файла в килобайтах.

Решение. Размер файла можно вычислить, если умножить скорость передачи информации на время передачи. Выразим время в секундах: З мин = З • 60 = 180 с. Выразим скорость в килобайтах в секунду: 256000 бит/с = 256000 : 8 : 1024 Кбайт/с. При вычислении размера файла для упрощения расчетов выделим степени двойки:

Размер файла = (256000 : 8 : 1024) • (З • 60) —- (2 8 • 10 3 : 2 3 : 2 10 ) • (3 • 15 • 2 2 ) = = (2 8 • 125 • 2 3 : 2 3 : 2 10 ) • (3 • 15 • 2 2 ) = 125 • 45 = 5625 Кбайт.

Ответ: 5625 Кбайт.


1 .1 7. Представление числовой информации. Сложение и умножение в разных системах счисления

Представление числовой информации с помощью систем счисления

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

       Система счисления        это система записи чисел с помощью определенного набора цифр.

Система счисления называется позиционной, если одна и та же цифра имеет различное значение, которое определяется ее местом в числе.

Позиционной является десятичная система счисления. Например, в числе 999 цифра «9» в зависимости от позиции означает 9, 90, 900.

Римская система счисления является непозиционной. Например, значение цифры Х в числе XXI остается неизменным при вариации ее положения в числе.

Позиция цифры в числе называется разрядом. Разряд числа возрастает справа налево, от младших разрядов к старшим.

Количество различных цифр, употребляемых в позиционной системе счисления, называется

ее основанием.

Развернутая форма числа это запись, которая представляет собой сумму произведений цифр числа на значение позиций.

Например: 8527 = 8 • 10 3 + 5 • 10 2 + 2 • 10 1 + 7 • 100

Развернутая форма записи чисел произвольной системы счисления имеет вид

где Х — число; а — цифры численной записи, соответствующие разрядам; индекс; количество разрядов числа дробной части; п — количество разрядов числа целой части;  основание системы счисления.

Например, запишем развернутую форму десятичного числа 327,46:

                                                                  п = З, т = 2,         10.

-2

Х = Eajq i = щ • 10 2 + (11 • 10 1 + ао • 100 + а_1 • 10 -1 + а_2 • 10 2

= з . 10 2 + 2 - 10 1 + 7 - 100

Если основание используемой системы счисления больше десяти, то для цифр вводят условное обозначение со скобкой вверху или буквенное обозначение: В — двоичная система, О — восмеричная, Н — шестнадцатиричная.

Например, если в двенадцатеричной системе счисления 10 = А, а 11 = В, то число 7А,5В12 можно расписать так:

7А,5В 12 = В . 12 -2 + 5 . 2 -1 + А . 12 0 + 7 . 12 1

В шестнадцатеричной системе счисления 16 цифр, обозначаемых О, 1, 2, З, 4, 5, 6, 7, 8, 9, А, В, С, Г), Е, F, что соответствует следующим числам десятеричной системы счисления: О, 1, 2, З, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15. Примеры чисел: 17D,ECH•, F12AH.

Перевод чисел в ПОЗИЦИОННЫХ системах счисления

Перевод чисел из произвольной системы счисления в десятичную

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

11012  - 13

17D,ECH = 12 • 16 2 + 14 • 16 -1 + 13 • 160 + 7 . 16 1 + 1 • 16 2 = 381,921875.

Перевод чисел из десятичной системы счисления в заданную

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

Например, переведем десятичное число 475 в двоичную систему счисления. Для этого будем последовательно выполнять деление нацело на основание новой системы счисления, т. е. на 2:

475 2

о 59 2

о 72

1 32

1 12

Читая остатки от деления снизу вверх, получим 111011011. Проверка:

16 + 64 + 128 + 256

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

Например, переведем десятичную дробь 0,37510 в двоичную систему счисления:

целая часть числа

2

2

0,50

1

1,00

      Полученный результат       0,011

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

Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную и обратно

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

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

1234,7778 = 001 010 011 100,111 111 1112 - 1 010 011 100,111 111 111 2'•

                    12345678 = 001 010 011 100 101 110 1112   1 010 011 100 101 110 111

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

                                                       1100111      001 100 1112 147$

11,10012 - 011,100 1002

110,01112 - 110,011 1002

Для записи шестнадцатеричных чисел используются шестнадцать цифр, т. е. для каждого разряда числа возможны 16 вариантов записи. Каждый разряд шестнадцатеричного числа содержит 4 бита информации (16 = У; I = 4).

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

11001112 = 0110 01112= 67

11,10012 = 0011,10012 = 3,9

                                              110,0111001— 0110,0111            65,7216 •

Для перевода шестнадцатеричного числа в двоичный код необходимо каждую цифру этого числа представить четверкой двоичных цифр. Например:

1234,АВ7716 0001 0010 0011 0100,1010 1011 0111 01112

- 1 0010 0011 0100,1010 1011 0111 0111;

                                             СЕ4567      1100 1110 0100 0101 0110 0111

16

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

Например, переведем троичное число 211 в семеричную систему счисления. Для этого сначала преобразуем число 2113 в десятичное, записав его развернутую форму:

18 + 3 + 1 = 22

Затем переведем десятичное число 22 в семеричную систему счисления делением нацело на основание новой системы счисления, т. е. на 7:

7

 

22

1

22 - 31

                                                                                                                                                                         10                

              Итак, 211     31

                                        з         

Примеры решения задач

Пример 1. В системе счисления с некоторым основанием число 12 записывается в виде 110.

Указать это основание.

Решение. Обозначим искомое основание п. По правилу записи чисел в позиционных системах счисления 1210 110 = О • п о + 1 • п 1 + 1 • п 2 . Составим ураавнение: п 2 + п = 12 . Найдем натуральный корень уравнения (отрицательный корень не подходит, т. к. основание системы счисления, по определению, натуральное число большее единицы): п = З . Проверим полученный ответ:

1103  = 0+ 3 + 9 = 12 . Ответ: З.

Пример 2. Указать через запятую в порядке возрастания все основания систем счисления, в которых запись числа 22 оканчивается на 4.

Решение. Последняя цифра в записи числа представляет собой остаток от деления числа на основание системы счисления. 22— 4 = 18 . Найдем делители числа 18. Это числа 2, З, 6, 9, 18. Числа 2 и З не подходят, т. к. в системах счисления с основаниями 2 и З нет цифры 4. Значит, искомыми основаниями являются числа 6, 9 и 18. Проверим полученный результат, записав число 22 в указанных системах счисления: 2210 = 346 — 9 18 • Ответ: 6, 9, 18.

Пример З. Указать через запятую в порядке возрастания все числа, не превосходящие 25, запись которых в двоичной системе счисления оканчивается на 101. Ответ записать в десятичной системе счисления.

Решение. Для удобства воспользуемся восьмеричной системой счисления. 1012 5 . Тогда число х можно представить как х = 5 • 8 0 + а1 • 8 1 + а2 • 8 2 + аз • 8 3 + , где ар Щ, аз, цифры восьмеричной системы. Искомые числа не должны превосходить 25, поэтому разложение нужно ограничить двумя первыми слагаемыми ( 8 2 > 25 ), т. е. такие числа должны иметь представление х = 5 + а • 8 . Поскольку х 25 , допустимыми значениями ат будут О, 1, 2. Подставив эти значения в выражение для х, получим искомые числа:

1

1

Выполним проверку:

510 = 1012;

1310 - 11012;

2110 = 101012.

ответ: 5, 13, 21.

Арифметические операции в ПОЗИЦИОННЫХ системах счисления

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

Сложение

Вычитание

Умножение

 

0 - 0 = 0

 

- 1

1 - 0 = 1

0 - 1 - 0

1

1 + 1 — 10

10 1 - 1

 

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

                                                                111                           10101

                                                                101                       

1100                        100100

 

 

 

101 11011

1101:

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

                                                             10001                          11011

                                                                 101                            1101

                                                               1100                            1110


Пример выполнения умножения: умножим двоичные числа 110 и 11, 111 и 101:

                                                                  110                            111

                                                                                                                Х                                                                 х

                                                                    11                            101

                                                                  110                            111

                                                                110                            000

                                                              10010                        111

100011

Аналогично выполняются арифметические действия в восьмеричной, шестнадцатеричной и других системах счисления. При этом необходимо учитывать, что величина переноса в следу-

ющий разряд при сложении и заем из старшего разряда при вычитании определяется величиной основания системы счисления.

Например, выполним сложение восьмеричных чисел 36 и 15 , а также вычитание шестнадцатеричных чисел 9С 16 и 6716 •

                                                                    36                         9С

                                                                    15                         67

                                                                    53                         35

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

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

Формат с фиксированной запятой

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

Для хранения целых неотрицательных чисел отводится 8 битов памяти. Минимальное число соответствует восьми нулям, хранящимся в восьми битах ячейки памяти, и равно О. Максимальное число соответствует восьми единицам и равно

1 • 2 7 + 1 • 2 6 + 1 • 2 5 + 1 • 2 4 + 1 • 2 3 1 • 2 2 + 1 • 2 1 + 1 • 2 0 = 255 •

10

Таким образом, диапазон изменения целых неотрицательных чисел — от О до 255.

Для п-разрядного представления диапазон будет составлять от О до 2 72 - 1.

Для хранения целых чисел со знаком отводится 2 байта памяти (16 битов). Старший разряд отводится под знак числа: если число положительное, то в знаковый разряд записывается О, если число отрицательное 1. Такое представление чисел в компьютере называется прямым кодом.

Для представления отрицательных чисел используется дополнительный код. Он позволяет заменить арифметическую операцию вычитания операцией сложения, что существенно упрощает работу процессора и увеличивает его быстродействие. Дополнительный код отрицательного числа А, хранящегося в п ячейках, равен 2 п — lAl .

Алгоритм получения дополнительного кода отрицательного числа:

1.     Записать прямой код числа в п двоичных разрядах.

2.     Получить обратный код числа. (Обратный код образуется из прямого кода заменой нулей единицами, а единиц — нулями, кроме цифр знакового разряда. Для положительных чисел обратный код совпадает с прямым. Используется как промежуточное звено для получения дополнительного кода.)

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

Например, получим дополнительный код числа —2014 о для шестнадцатиразрядного представления:

Прямой код

Двоичный код числа 2014 со

10

знаковым разрядом

 

Обратный код

Инвертирование (исключая знаковый разряд)

 

 

Прибавление единицы

+ 0000000000000001

Дополнительный код

 

 

При алгебраическом сложении двоичных чисел с использованием дополнительного кода положительные слагаемые представляют в прямом коде, а отрицательные в дополнительном коде. Затем суммируют эти коды, включая знаковые разряды, которые при этом рассматриваются как старшие разряды. При переносе из знакового разряда единицу переноса отбрасывают. В результате получают алгебраическую сумму в прямом коде, если эта сумма положительная, и в дополнительном если сумма отрицательная. Например:

1)     Найдем разность 1310 1210 для восьмибитного представления.

Представим заданные числа в двоичной системе счисления:

1310 - 11012 и 1210 11002.

Запишем прямой, обратный и дополнительный коды для числа —1210 и прямой код для

числа 13 в восьми битах:

10

 

13

10

-12

10

Прямой код

00001101

10001100

Обратный код

 

Дополнительный код

 

Вычитание заменим сложением (для удобства контроля за знаковым разрядом условно отделим его знаком « »):

о 0001101

1 1110100

10 0000001

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

2)     Найдем разность 810  1310 для восьмибитного представления.      

Запишем прямой, обратный и дополнительный коды для числа —13 и прямой код для

числа 8 в восьми битах:

10

 

8

10

-13

10

Прямой код

00001000

10001101

Обратный код

 

Дополнительный код

 

Вычитание заменим сложением:

о 0001000

1 1110011

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

Перейдем от обратного кода к прямому, инвертируя все цифры, за исключением знакового (старшего) разряда: 10000101. Это десятичное число —5

Так как при п-разрядном представлении отрицательного числа А в дополнительном коде старший разряд выделяется для хранения знака числа, минимальное отрицательное число равно: , а максимальное: | „4! = 271- 1 или А = —2 п -1 1.

Определим диапазон чисел, которые могут храниться в оперативной памяти в формате длинных целых чисел со знаком (для хранения таких чисел отводится 32 бита памяти). Минимальное отрицательное число равно

-2147483648

Максимальное положительное число равно

1 = 2147483647

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

Формат с плавающей запятой

Вещественные числа хранятся и обрабатываются в компьютере в формате с плавающей запятой, использующем экспоненциальную форму записи чисел.

Число в экспоненциальном формате представляется в таком виде:

где т мантисса числа (правильная отличная от нуля дробь); основание системы счисления; п порядок числа.

Например, десятичное число 2674,381 в экспоненциальной форме запишется так:

2674,381 0,2674381 • 104

Число в формате с плавающей запятой может занимать в памяти 4 байта (обычная точность) или 8 байтов (Двойная точность). При записи числа выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы. Две последние величины определяют диапазон изменения чисел и их точность.

Определим диапазон (порядок) и точность (мантиссу) для формата чисел обычной точности,

т. е. четырехбайтных. Из 32 битов 8 выделяется для хранения порядка и его знака и 24 для хранения мантиссы и ее знака.

Найдем максимальное значение порядка числа. Из 8 разрядов старший разряд используется для хранения знака порядка, остальные 7 — для записи величины порядка. Значит, максимальное

2 — 127 . Так как числа представляются в двоичной системе счисления, то

 = 2127

Аналогично, максимальное значение мантиссы равно

т = 223 -1 223

Таким образом, диапазон чисел обычной точности составляет 1,7 • 10 38

1.1.8. Кодирование текстовой информации. Кодировка ASCll.

Основные используемые кодировки кириллицы

Соответствие между набором символов и набором числовых значений называется кодировкой символа. При вводе в компьютер текстовой информации происходит ее двоичное кодирование. Код символа хранится в оперативной памяти компьютера. В процессе вывода символа на экран производится обратная операция — декодирование, т. е. преобразование кода символа в его изображение.

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

Как правило, для хранения кода символа используется оцин байт (восемь битов), поэтому коды символов могут принимать значение от О до 255. Такие кодировки называют однобайтными. Они позволяют использовать 256 символов (N = 2 1 — 2 8 = 256 ). Таблица однобайтных кодов символов называется ASCII (American Standard Code for Information Interchange — Американский стандартный код для обмена информацией). Первая часть таблицы МСП-кодов (от О до 127) одинакова для всех IBM-PC совместимых компьютеров и содержит:

        коды управляющих символов;

        коды цифр, арифметических операций, знаков препинания;

        некоторые специальные символы;

        коды больших и маленьких латинских букв.

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


символов псевдографики. Для русских букв в настоящее время используется пять различных кодовых таблиц: КОИ-8, СР1251, СР866, мас, IS0.

В последнее время широкое распространение получил новый международный стандарт Unicode. В нем отводится по два байта (16 битов) для кодирования каждого символа, поэтому с его помощью можно закодировать 65536 различных символов (N = 216 — 65536 ). Коды символов могут принимать значение от О до 65535.

Примеры решения задач

Пример. С помощью кодировки Unicode закодирована следующая фраза:

Я хочу поступить в университет!

Оценить информационный объем этой фразы.

Решение. В данной фразе содержится 31 символ (включая пробелы и знак препинания). Поскольку в кодировке Unicode каждому символу отводится 2 байта памяти, для всей фразы понадобится 31 • 2 = 62 байта или 31 • 2 • 8 = 496 битов. Ответ: 32 байта или 496 битов.

Примеры заданий ЕГЭ к разделу 1 .1 «Информация и ее кодирование»

часть 1

Считая, что каждый символ кодируется одним байтом, оцените информационный объем следующего предложения:

                                            Тяжело в ученье       легко в бою.

                                            1) 24 бита                 2) 24 байта               З) 240 битов             4) 30 битов

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

Какова длина сообщения в символах?

1)   160          2) 20    3) 80

Световое табло состоит из лампочек, каждая из которых может находиться в одном из трех состояний («включено», «выключено», «мигает»). Какое наименьшее количество лампочек должно находиться на табло, чтобы с его помощью можно было передать 200 различных сигналов?

2)   200

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

1)  120     2) 64    3) 36    4) 112

Сколько различных последовательностей длиной 10 символов можно составить из цифр О и 1?

2)  1024   3) 100  4) 1200

Какое количество информации будет получено вторым игроком в игре «Крестики-нолики» на поле 8 х 8 после первого хода первого игрока? 1) 6 битов     2) 8 битов       З) 7 битов        4) 5 битов

Какое максимальное количество битов потребуется для кодирования целых положительных чисел, меньших 80?

3)  10       4) 39

1

512

которого записано это сообщение?

                                                                                                             3) 4096                     4) 16384

равен информационный объем такого сообщения, состоящего из 210 знаков?

Примеры заданий ЕГЭ

А 10. Метеорологическая станция ведет наблюдение за атмосферным давлением. Результатом одного измерения является целое число, принимающее значе- ние от 720 до 780, которое записывается при помощи минимально возможного количества битов. Станция сделала 80 измерений. Чему равен информационный объем результатов наблюдений?

         1) 60 байтов             2) 80 байтов             З) 480 байтов            4) 70 битов

А 11. Файл какого максимального размера (в килобайтах) можно передать за 5 минут, если в это время модем передает информацию в среднем со скоростью 32 Кбит/с?

         1) 160                      2) 1280                    3) 22                         4) 1200

А 12. Модем передает информацию со скоростью 28800 бит/с. Сколько секунд потребуется модему для передачи цветного растрового изображения размером 800 х 600 пикселей, если цвет каждого пикселя кодируется тремя байтами? 1 ) 144 2) 400 3) 240 4) 600

А 13. Сколько единиц в двоичной записи десятичного числа 97?

А 14. Чему равно количество значащих нулей в двоичной записи шестнадцатерич-

ного числа 2А7 ?•

16

А 15. Вычислите сумму чисел 1 ВЗ 16 + 25 . Результат представьте в двоичной системе счисления.

          1) 1110010002              2) 11011100022

А 16. Пусть а = Щ6 , Ь = 768 . Какое из чисел с, записанных в двоичной системе счисления, отвечает условию а с < Ь ?

1) 11011024) 1101112

А 17. Вычислите значение выражения 12 + 716 • 2 . Результат представьте в двоичной системе счисления.

         1) 110002                2) 101112                3) 101012                4) 110112

А 18. Вычислите значение выражения 10А 16 + 1012 • 11 . Результат представьте в виде восьмеричного числа.

          1) 3418                      2 2448                      3) 4508                              4318

А 19. В системе счисления с некоторым основанием число 26 записывается в виде 101. Укажите это основание.

А2О. Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 27 оканчивается на З.

               1) 2, з, 4, 6, 8, 12 2) 4, 6, 8, 12, 24 3) з, 4, 8, 16, 27           4) 4, 8, 9, 12, 24

                                                                                                                                                                                                                                                                         Примеры заданий ЕГЭ                 21


1.2. Алгоритмизация и программирование

1 2.1 . Алгоритмы, виды алгоритмов, описание алгоритмов. Формальное исполнение алгоритмов

Термин «алгоритм», впервые употребленный в современном значении. Лейбницем (1646— 1716), является латинизированной формой имени великого персидского математика Мухаммеда бен Муссы аль-Хорезми (ок. 783 — ок. 850). Его книга «Об индийском счете» в ХП в. была переведена на латинский язык и пользовалась широкой популярностью не одно столетие. Имя автора европейцы произносили как Алгорйтми (Algorithmi), и со временем так стали называть в Европе всю систему десятичной арифметики.

Научное определение алгоритма дал А. Чёрч в 1930 году. В наше время понятие алгоритма является одним из основополагающих понятий вычислительной математики и информатики.

Алгоритм — это точное и полное описание последовательности действий над заданными объектами, позволяющее получить конечный результат.

Можно сказать, что алгоритм решения какой-либо задачи — это последовательность шагов реализации (или нахождения) этого решения, а процесс построения алгоритма (алгоритмизация) разложение задачи на элементарные действия или операции.

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

Определение алгоритма для применения в области информатики нуждается в некотором уточнении. Во-первых, решение задач в информатике всегда связано с преобразованием информации, а значит, исходными данными и результатом работы алгоритма должна быть информация. Это может быть представлено в виде схемы (рис. 1.1).

Исходные

(входные) данные

 

Алгоритм

 

Выходные данные (результат)

 

 

Во-вторых, алгоритмы в информатике предназначены для реализации в виде компьютерных программ или для создания некоторой компьютерной технологии. Для выполнения алгоритма требуется конечный объем оперативной памяти и конечное время.

Основные требования, предъявляемые к алгоритмам:

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

ОпреДељенность (Детерминированность; лат. determinate — определенность, точность): шаги (операции) алгоритма должны допускать однозначную трактовку и быть понятными для исполнителя алгоритма. Это свойство указывает на то, что любое действие в алгоритме должно быть строго определено и описано для каждого случая.

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

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

Конечность: количество шагов алгоритма должно быть конечным.

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

Для оценки и сравнения алгоритмов существует много критериев. Чаще всего анализ алгоритма (или, как говорят, анализ сложности алгоритма) состоит в оценке временнйх затрат на Решение задачи в зависимости от объема исходных данных. Используются также термины «временн5я сложность», «трудоемкость» алгоритма. Фактически эта оценка сводится к подсчету количества основных операций в алгоритме, поскольку каждая из них выполняется за заранее известное конечное время. Кроме временнбй сложности, должна оцениваться также емкостная сложность, т. е. увеличение затрат памяти в зависимости от размера исходных данных. Оценка сложности дает количественный критерий для сравнения алгоритмов, предназначенных для решения одной и той же задачи. Оптимальным (наилучшим) считается алгоритм, который невозможно значительно улучшить в плане временных и емкостных затрат.

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

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

элементов.

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

вых структур:

1)    следование — образуется из последовательности действий, следующих одно за другим;

2)    ветвление (развилка) — обеспечивает в зависимости от результатов проверки условия (ДА или НЕТ) выбор одного из альтернативных путей алгоритма;

       З) цикл           обеспечивает многократное выполнение некоторой совокупности действий, кото-       

рая называется телом цикла.

Для описания алгоритмов наиболее распространены следующие методы (языки):

Обычный язык. Изложение алгоритма ведется на обычном языке с разделением на последо-

вательные шаги.

Блок-схемы. Графическое изображение алгоритма с помощью специальных значков-блоков.

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

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

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

 строго не формализуемы;  достаточно многословны;  могут допускать неоднозначность толкования отдельных предписаний;  сложные задачи с анализом условий, с повторяющимися действиями трудно представляют- ся в словесной или словесно-формульной форме.


Графический способ представления информации является более наглядным и компактным по сравнению со словесным. При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Такое графическое представление алгоритма называется блок-схемой. Определенному типу действия (ввод; вывод данных, проверка условия, вычисление выражения, начало и конец алгоритма и т. п.) соответствует определенная геометрическая фигура блочный символ. Блоки соединяются между собой линиями переходов, которые определяют очередность выполнения действий.

в

В таблице приведены наиболее часто употребляемые блочные символы.

Название символа

Графическое изображение

Комментарии

Пуск/Останов (блоки начала и конца алгоритма)

Указание на начало или конец алгоритма

Ввод / Вывод данных (блоки ввода, вывода)

Организация ввода/вывода в общем виде

Процесс (операторные блоки)

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

Условие

(условный блок)

Выбор направления выполнения алгоритма. Если условие, записанное внутри ромба, выполняется, то управление передается по стрелке «да», в противном случае по стрелке «нет». Таким образом, реализуется процесс изменения последовательности вычислений в зависимости от выполнения условия

Начало цикла с параметром

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

Предопределенный процесс

 

подпрограмма

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

Печать сообщений (документ)

Вывод результатов на печать


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

1)     из каждого прямоугольника и параллелограмма (кроме конца алгоритма) должна выхо-

дить только одна стрелка;

2)     в каждый прямоугольник и параллелограмм (кроме начала алгоритма) должна входить хотя бы одна стрелка;

З) в каждый ромб должна входить хотя бы одна стрелка, а выходить из него — две стрелки, помеченные словами «ДА» и «НЕТ».

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

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

алг  заголовок алгоритма

нц — начало цикла

знач

нач  начало алгоритма

кц — конец цикла

и

кон — конец алгоритма

дано

или

арг  аргумент

надо

не

рез  результат

если

да

цел — целый

то

нет

сим — символьный

иначе

при

лит  литерный

всё

выбор

лог  логический

пока

утв

вещ — вещественный

для

ввод

таб  таблица

от

вывод

длин — длина

до

 

Общий вид записи алгоритма на псевдокоде:

алг название алгоритма (аргументы и результаты) дано условие применимости алгоритма надо — цель выполнения алгоритма нач — описание промежуточных величин последовательность команд (тело алгоритма) кон

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

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

Команды учебного языка:

1.     Оператор присваивания, который обозначается «:=» и служит для вычисления выражений, стоящих справа, и присваивания их значений переменным, указанным в левой части. Например, если переменная а имела значение 5, то после выполнения оператора присваивания а := а + 1, значение переменной а изменится на 6.

2.     Операторы ввоДа/вывоДа: ввод (список имен переменных) вывод (список вывода)

Список вывода может содержать комментарии, которые заключаются в кавычки. З. Оператор ветвления (с использованием команды если...то... иначе...всё; выбор);

4. Операторы цикла (с использованием команд для, пока, до). Запись алгоритма на псевдокоде:

алг Сумма квадратов целых чисел до п включительно (арг цел п рез цел S) дано ln > О надо Б = 1 * 1 + 2 * 2 + 3 * З + + п * п нач цел ввод п;

нц для i от 1 до п

кц вывод ” S кон

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

При записи алгоритма в словесной форме, в виде блок-схемы или на псевдокоде допускается произвольное изображение команд. Вместе с тем такая запись позволяет понять человеку суть дела и исполнить алгоритм. Однако алгоритм, предназначенный для исполнения на компьютере, должен быть записан на строго формализованном языке. Такой язык называется языком программирования, а запись алгоритма на этом языке компьютерной программой.

Для решения одной и той же задачи можно предложить несколько алгоритмов. Алгоритмы составляются с ориентацией на определенного исполнителя алгоритма. У каждого исполнителя имеется свой конечный набор команд, которые для него понятны и исполняемы. Этот набор называется системой команд исполнителя. Пользуясь системой команд, исполнитель может выполнить алгоритм формально, не вникая в содержание поставленной задачи. От исполнителя требуется только строгое выполнение последовательности действий, предусмотренной алгоритмом. Таким образом, в общем случае алгоритм претерпевает изменения по стадиям:

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

Примеры решения задач

Пример 1. Исполнитель Утроитель может выполнить только две команды, которым присвоены номера:

1 — вычти 1;

З — умножь на З.

Первая команда уменьшает число на 1, вторая — увеличивает его втрое.

Написать набор команд (не более пяти) получения из числа З числа 16. В ответе указать только номера команд. Решение.

з (6 * з = 18)

17) 16)

ответ: 13311

Пример 2. Имеется Исполнитель алгоритма, который может передвигаться по числовой оси. Система команд Исполнителя алгоритма:

1.  «Вперед N» (Исполнитель алгоритма делает шаг вперед на единиц).

2.  «Назад М» (Исполнитель алгоритма делает шаг назад на М единиц).

Переменные и М могут принимать любые целые положительные значения. Известно, что Исполнитель алгоритма выполнил программу из 50 команд, в которой команд «Назад 2» на 12 больше, чем команд «Вперед З». Других команд в программе не было. Какой одной командой можно заменить эту программу, чтобы Исполнитель алгоритма оказался в той же точке, что и после выполнения программы?

Решение.

1.      Найдем, сколько было команд «Вперед», а сколько «Назад». Учитывая, что общее количество команд равно 50 и что команд «Назад» на 12 больше, чем команд «Вперед». Получим уравнение: х + (х + 12) = 50, где х — количество команд «Вперед». Тогда общее количество команд «Вперед»: х = 19, а количество команд «Назад»: 19 + 12 = 31.

2.      Будем вести отсчет от начала числовой оси. Выполнив 19 раз команду «Вперед З», Исполнитель алгоритма оказался бы на отметке числовой оси 57 (19 * З = 57). После выполнения 31 раз команды «Назад 2» (31 * 2 = 62) он оказался бы на отметке —5 (57 — 62 = -5). З. Все эти команды можно заменить одной «Назад 5». Ответ: команда«Назад 5».

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

Название команды

Параметр

Действия исполнителя

вп

Число шагов

Продвигается в направлении головы на указанное число шагов

 

Число шагов

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

пр

Число градусов

Поворачивается направо относительно направления, заданного головой черепашки

 

Число градусов

Поворачивается налево относительно направления, заданного головой черепашки

Для записи повторяющихся действий (цикла) используется команда Повтори. В этой команде два параметра: первый задает количество повторений (итераций), а второй список команд которые должны повторяться (тело цикла); список заключается в квадратные скобки. Записать для исполнителя Черепашка алгоритмы:

а) построения квадрата со стороной 100;

б) построения правильного шестиугольника со стороной 50.

в) построения изображения цифры 4, если голова Черепашки смотрит на север.

Ответ: а) Повтори 4 [вп 100 пр 90]; б) Повтори 6 [вп 50 пр 360/6]; в) вп 100; повтори [ЛВ 135 вп 50].

Пример 4. Два игрока играют в следующую игру (это вариант восточной игры). Перед ними лежат три кучки камней, в первой из которых 2, во второй — З, в третьей — 4 камня. У каждого игрока неограниченно много камней. Игроки ходят по очереди. Ход состоит в том, что игрок или


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

Решение. Удобнее всего составить таблицу возможных ходов обоих игроков. Заметим, что в каждом случае возможны всего четыре варианта хода. В таблице курсивом выделены случаи, которые сразу же приносят поражение игроку, делающему этот ход (например, когда камней в какой-либо кучке становится больше или равно 8, другой игрок непременно выигрывает следующим ходом, удваивая количество камней в этой кучке). Из таблицы видно, что при безошибочной игре обоих игроков первый всегда выиграет, если первым ходом сделает 4, 5, 6. У второго игрока в этом случае все ходы проигрышные.

 

1-й ход

 

2-й ход

Начало

1-й игрок

2-й игрок

1-й игрок

 

2-й игрок

 

 

 

выигрыш

 

 

 

 

 

выигрыш

 

 

выигрыш

 

 

выигрыш

 

 

выигрыш

 

выигрыш

 

 

6,5,6

126,6

 

выигрыш

6,10,6

 

выигрыш

66,12

 

выигрыш

8, 7,8

 

выигрыш

 

 

4,6,4

 

 

выигрыш

 

 

выигрыш

 

 

выигрыш

 

 

выигрыш

 

выигрыш

 

 

 

выигрыш

 

48,6

выигрыш

 

 

выигрыш

 

 

 

4, 5,6

86,6

выигрыш

 

 

4,10,6

выигрыш

 

46,12

выигрыш

 

 

выигрыш

 

Пример 5. Записано 7 строк, каждая из которых имеет свой номер. В нулевой строке после номера записана цифра 001. Каждая последующая строка содержит два повторения предыдущей строки и добавленной в конец большой буквы латинского алфавита (первая строка — А, вторая строка — В и т. д.). Ниже приведены первые три строкиетой записи (в скобках указан номер строки):

(0)    001

(1)    001001 А

(2)    ООIООIАОО1ОО1АВ

Какой символ находится в последней строке на 250-м месте (считая слева направо)? Примечание. Первые семь букв латинского алфавита: А, В, С, Г), Е, F, G.

ПРОЩСЫ

Решение. Найдем длину каждой строки. Длина каждой следующей строки в два раза больше длины предыдущей плюс один символ, длина строк составит:

(0) З символа;

(1)

(2)

(3)

(5)

(6) 127*2+1=255 символов.

Так как задано 7 строк, а нумерация начинается с нулевой строки, последняя строка имеет номер 6 и содержит 255 символов. Последний символ в строке — F. Предпоследний элемент — Е, далее идут символы Г), С, В, А, 1 (по правилу формирования строк). Таким образом, 250-й символ — это 1.

Ответ: 1.

Пример 6. Имеется фрагмент алгоритма, записанный на учебном алгоритмическом языке:

п := Длина(а)

Ь := Извлечь(а, К) ни, для i от 7 до п — 1 с := Извлечь(а, i)

Ь := Склеить(Ь, с) кц

Здесь переменные а, Ь, с — строкового типа; переменные п, i — целые.

В алгоритме используются следующие функции:

       Длина(х)        возвращает количество символов в строке х. Имеет тип «целое».

       Извлечь(х, i)         возвращает Кй символ слева в строке х. Имеет строковый тип.

Склеить(х, у) возвращает строку, в которой находятся все символы строки х, а затем все символы строки у. Имеет строковый тип.

Какое значение примет переменная Ь после выполнения этого фрагмента алгоритма, если переменная а имела значение «ВОСКРЕСЕНЬЕ»?

Решение. Находим общее число символов в строке а, получим, что п = 11.

Выполняя команду Ь Извлечь(а, К) при К = 2, получим, что Ь примет значение

В цикле последовательно, начиная с 7-го символа строки а и заканчивая предпоследним (п — 1), извлекаем символ из строки а и присоединяем к строке Ь.

В результате получим слово ”ОСЕНЬ” (символы с номерами 2 + 7 + 8 + 9 + 10). ответ: “ОСЕНЬ“

Пример 7. Леонардо из Пизы, известный как Фибоначчи, был первым из великих математиков Европы позднего Средневековья. Числовой ряд, который называется его именем, получился в результате решения задачи о кроликах, которую Фибоначчи изложил в своей «Книге Абака», написанной в 1202 году. Он выглядит так:

1, 1, 2, з, 5, 8, 13, 21, 34, 55, 89, 144,...

В этом ряду каждое следующее число, начиная с третьего, равно сумме двух предыдущих. Составить словесный алгоритм и блок-схему проверки принадлежности введенного числа п ряду Фибоначчи.

Решение. Словесный алгоритм:

1.     Ввести число п.

2.     Установить значение первых трех чисел Фибоначчи: 1, 1, 2 (сумма двух предыдущих чисел).

З. Пока введенное число п больше очередного числа Фибоначчи, взять два последних числа Фибоначчи и получить из них новое число Фибоначчи.

4. Если число Фибоначчи равно введенному п или было введено число п = 1, значит, что было введено число Фибоначчи, в противном случае введенное число не является числом Фибоначчи.

Приведенный словесный алгоритм в пункте 1, 2 содержит начальные установки, в пункте З цикл с условием, а пункт 4 — это вывод результата работы алгоритма. Блок-схема алгоритма:

Обозначения:

1' — текущее число ряда Фибоначчи;

F1 и F2 — два предыдущих числа ряда Фибоначчи для числа Е; п — число, для которого требуется определить, является ли оно числом из ряда Фибоначчи.

1 2.2. Использование ОСНОВНЫХ алгоритмических конструкций:

следование, ветвление, цикл

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

Базовая структура СЛЕДОВАНИЕ указывает на то, что управление передается последовательно от одного действия к другому.

Учебный алгоритмический язык

Язык блок-схем

действие 1 действие 2

действие п

 

действие 1

 

 

действие 2

действие п

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

В качестве примера рассмотрим решение простой задачи.

Пример. Найти у(х) = .r2 + 3х + 5, используя только операции умножения и сложения.

Решение. На рис. 1.3 приводятся два алгоритма, реализующие решение поставленной задачи.

        Порядок вычисления у(х) в первом случае (рис. 1.3, а)         обычный, а во втором (рис. 1.3, б)

(х + З) х + 5. Обе формулы эквивалентны, но в первом случае для вычисления необходимо 2 умноженин, 2 сложения и З переменных (х, у, 2), а во втором используются 1 умножение, 2 сложения и 2 переменные (х, у).

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

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

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

                                                                            б

а


В операторах присваивания используется либо привычный знак равенства, либо сочетание двоеточия и знака равенства «:=». Поскольку знак присваивания — это не знак равенства, возможны записи вида Х := Х + 1 или А А — В. Нужно учитывать, что оператор присваивания будет выполняться только в том случае, если значения всех переменных правой части уже определены.

Базовая структура ВЕТВЛЕНИЕ (РАЗВИЛКА) используется в случае, когда выполнение программы может измениться в зависимости от результата проверки условия и пойти двумя разными (альтернативными) путями. Другими словами, условие является некоторым высказыванием (предикатом) и может быть истинным или ложным (принимать значение TRUE или FALSE). Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран.

Различают две структуры этого типа — полную и неполную. В случае полной структуры, если условие выполняется (является истинным), вслед за ним выполняется действие 1, иначе — действие 2. В случае неполной структуры, если условие выполняется (является истинным), то вслед за ним выполняется действие 1, иначе ничего не происходит.

Важную роль в операторах ветвления играют содержащиеся в них условия. В простейшем случае условиями служат отношения между величинами. Условия с одним отношением называют простыми условными выражениями, или простыми условиями. В некоторых задачах необходимы более сложные условия, состоящие из нескольких простых, например условие А < Х < С, т. е. Х <А и (Х > С) (возможна запись (Х < А) and (Х > С)). Объединение нескольких простых условий в одно образует составное условное выражение, или составное условие. Составные условия образуются с помощью логических операторов not (отрицание), and (логическое И), or (логическое ИЛИ), хот (исключающее ИЛИ).

Структура ВЕТВЛЕНИЕ существует в четырех основных вариантах: если — то (неполная структура); если — то — иначе (полная структура); выбор (неполный); выбор — иначе (полный).

Учебный алгоритмический язык

Язык блок-схем

1) если — то

 

если условие то действие 1 всё

2) если — то — иначе

 

если условие то действие 1 иначе действие 2 всё

 

З) выбор

 

 

выбор при условие 1: действие 1 при условии 2: действие 2

при условие N: действие лт всё

 

 

4) выбор — иначе

 

 

выбор при условие 1: действие 1 при условие 2: действие 2

при условие N: действие 1V + 1 иначе действия лт + 1 всё

 

В качестве простого примера рассмотрим нахождение модуля числа у(х) = lxl. Решение приведено на рис. 1.4 для случаев полной (а) и неполной (б) структур ветвления.

б

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

1.     Цикл с преДусловиеж, или чикл «пока». При реализации этого цикла сначала проверяется условие его выполнения. Пока оно выполняется, будут происходить повторения тела цикла. Отсюда и другое его название — чикл «пока». Если условие не выполняется при первой проверке, то тело цикла не будет выполняться вообще. После выхода из цикла управление передается следующей структуре. Для того чтобы избежать зацикливания, т. е. бесконечного цикла, в теле цикла обязательно должны изменяться параметры, записанные в условии.

Учебный алгоритмический язык

Язык блок-схем

нц пока условие тело цикла (последовательность действий) кц

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

Учебный алгоритмический язык

Язык блок-схем

нц для i от i1 до i2 тело цикла (последовательность действий) кц

З. Цикл с постусловием, или ЧИКЛ «до». При реализации этого цикла условие завершение цикла проверяется после тела цикла. В этом случае тело цикла всегда выполняется хотя бы один раз. Цикл будет выполняться до выполнения условия, отсюда и другое название — цикл «до». А пока условие не выполнено, будет повторяться тело цикла (выполнение условия, таким образом, является условием окончания цикла). В этом случае, как и в цикле «пока», необходимо предусмотреть в теле цикла изменение параметров условия цикла.

Учебный алгоритмический язык

Язык блок-схем

нц тело цикла (последовательность действий) до условие кц

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

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

Классический пример — вычисление суммы ряда с заданной точностью.

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

Пример. Вычислить сумму знакопеременного ряда S  с заданной точ2   з          4

НОСТЬЮ г.

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

Решение. Запишем блок-схему алгоритма (рис. 1.5), где будем использовать следующие обозначения:

 S — частичная сумма ряда (стартовое значение равно О); г точность вычисления; i номер очередного слагаемого; значение очередного слагаемого; р числитель очередного слагаемого.

На псевдокоде алгоритм можно записать следующим образом:

алг Сумма (арг вещ Х, г, рез вещ S) дано х < 1 надо Б Х - хА 2/2 + ха за - хА 4/4 + . нач цел I, вещ М, Р ввод Х, г

ни, пока abs(M) > Е

кц вывод S кон Примечание. Следует отметить, что ряд будет сходящимся только при выполнении условия

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

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

Пример. Вычислить сумму элементов для заданной матрицы (таблицы из 5 строк и З столбцов) 45,3).

Решение. Алгоритм решения задачи на псевдокоде:

алг Сумма (арг вещ таб рез вещ S) дано 'таб А

надо Б = А 1,1 + А + А1,35,1       5,2       5,3 нач цел i , ј, вещ S

нц для i от 1 до 5 нц для ј от 1 до З


S S + A[i, ј] кц кц вывод S кон

Основная часть блок-схемы нахождения суммы элементов матрицы будет иметь следующий вид (рис. 1.6):

Здесь порядок выполнения вложенных циклов следующий: счетчик внутреннего цикла изменяется быстрее, т. е. для i — 1(внешний цикл), ј пробегает значения 1, 2, З (внутренний цикл); далее i = 2, ј опять пробегает значения 1, 2, З и т. д.

Примеры решения задач

Пример 1. Дан фрагмент блок-схемы некоторого алгоритма (рис. 1.7).

Определить значение переменной А после выполнения фрагмента алгоритма.

Какие исправления нужно внести, чтобы изменение значения переменной А происходило в обратном порядке?


Как записать исходный алгоритм с помощью двух других видов цикла?

Решение. Если представить пошаговое выполнение алгоритма в виде таблицы, получим:

Начальные установки:

А - 100000;

2

1-я итерация

А = 10000;

 

2-я итерация

А = 1000; дт = 6

 

3-я итерация

А- 100;

 

4-я итерация

А = 10;            10

 

5-я итерация, выполнилось условие выхода: лт > 10

Ответ: А = 1;

— 12

Таблица обратного хода изменения значения А будет иметь такой вид:

Начальные установки:

1-я итерация

2-я итерация

А = 100;

3-я итерация

А = 1000; ДТ = 8

4-я итерация

А = 10000;        10

5-я итерация, выполнилось условие выхода: лт > 10

А = 100000; ЛТ = 12

Блок-схема алгоритма примет такой вид (рис. 1.8):

В алгоритме нужно изменить начальное значение А и операцию деления заменить операцией умножения. Счетчик в данном случае изменять не нужно.

В приведенной в условии блок-схеме используется цикл с предусловием. Для цикла с параметром блок-схема алгоритма будет иметь такой вид (рис. 1.9):

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

Для цикла с постусловием блок-схема исходного алгоритма имеет такой вид (рис. 1.10):

В данной схеме условие завершения цикла находится после тела цикла. Цикл, в отличие от цикла с предусловием, выполняется, пока значение условия ложно. Пример 2. Сколько раз выполнится тело цикла в программе?

нц пока (div(Q, 5) = div(P, 7))

кц

Примечание. Результат функции div(X, У) целая часть от деления Х на У.

Решение. Рассмотрим пошаговое выполнение алгоритма, оформив его в виде таблицы.

Начальные установки

Проверка выполнения условия

div(27, div(36,

1-я итерация; выполнение тела цикла

Проверка выполнения условия

div(29,  5; div(39,        5;

5 - 5

2-я итерация; выполнение тела цикла

Проверка выполнения условия

div(31, div(42,

6

3-я итерация; выполнение тела цикла

Q 33,• Р : = 45

Проверка выполнения условия

div(33, div(45,

6 - 6

4-я итерация; выполнение тела цикла

Проверка выполнения условия. Условие не выполняется, цикл завершает работу

div(35, div(48,

Ответ: цикл выполнится 4 раза.

12.3. Использование переменных. Объявление переменной (тип, имя, значение). Локальные и глобальные переменные

Величины служат для описания объектов и процессов в материальном мире. Каждая величина имеет некоторые характеристики. В программировании понятие величины несколько отличается от понятия величины в естественных науках оно является более формальным. Величиной наЗЫВаЮТ объект переменную, с которым связывается определенное множество значений. Такому объекту присваивается имя — идентификатор. Понятие переменной в программировании сходно с понятием переменной в математике. Например, в алгебраическом равенстве С = + 2В — 5 значение переменной С зависит от значений переменных и В, указанных в правой части равенства. Например, при F = 2 и В = 6, С = 9. Такое же равенство можно записать в программе, например на языке программирования Бейсик: С = 1' + 2*В — 5. В терминах языка программирования С, F и В — это идентификаторы (имена) переменных.

Переменная — это объект программы, имеющий имя и изменяемое значение. Для хранения переменной в памяти компьютера выделено определенное место.

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

Назначение программы состоит в обработке информации, при этом, конечно, основную роль играют переменные.

Переменная характеризуется:

        идентификатором;

Каждая переменная имеет свой идентификатор, т. е. свое уникальное имя. Имя переменной показывает, в каком месте памяти компьютера она хранится, значение переменной считывается из указанного ее именем места в памяти. Двух переменных с одним именем в одном программном модуле (блоке) быть не должно. Примерами идентификаторов величин могут быть, например, следующие последовательности символов: 01, SUMMA, Х 1, У 1, My_program.

Во многих языках программирования существуют некоторые ограничения на задания имен переменных. Имена составляются из букв и цифр; первой литерой должна быть буква. Знак подчеркивания «_» считается буквой, его удобно использовать, чтобы улучшить восприятие длинных имен переменных. Разумно давать переменным логически осмысленные имена, в соответствии с их назначением. Нельзя использовать в качестве имен зарезервированные (служебные) слова языка программирования.

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

        необходимый размер памяти;  диапазон значений, которые может принимать величина;

        возможные операции над величиной (подразумеваются действия относительно использования величин в выражениях);  формы представления величин (или формат представления величин).

Стандартные типы — это числовые, литерные и логические типы.

Числовой тип, к которому относятся целые и вещественные величины, позволяет оперировать с числами. Целые числа, которые в учебном алгоритмическом языке составляют тип цел, сверху ограничены положительным числом ПФ , а снизу отрицательным числом N . . Значения лт тах и ЛТ min определяются объемом ячеек памяти, в которые записываются целые числа. Обычно для целых чисел выделяется два байта памяти, соответственно границы диапазона равны [Nпип

-32768 и   = 32767]. Считается, что все операции с величинами типа цел выполняются по

тах

обычным правилам арифметики, за одним исключением: возможны две операции деления div и mod.

Операция div обозначает целочисленное деление. При делении с точностью до целых чисел получается два результата — частное и остаток. Знак результата берется по обычным правилам, а полученный остаток игнорируется. Например:

23 div 5 = 4;

2 div 6 = О;

(—13) div 5 — (—13) div (—5) = 2.

Операция mod определяет остаток при делении двух • целых чисел.

Например:

23 mod 5 = З;

2 mod 6 = 2;

(—13) mod 5 — (-13) mod (-5) = З; 8 mod 2 = О.

Целые числа чаще всего используются в простых арифметических выражениях и выступают в программах в качестве различных счетчиков и значений индексов.

К другому числовому типу относятся вещественные (вещ) величины. Значения вещественных величин могут изображаться в форме с фиксированной запятой (например, 0,3333; 2,0; —4,567 и т. д.) и с плавающей запятой (например,  и т. д.).

В отличие от целых чисел, действия с вещественными числами могут быть неточными это связано с ошибками округлений. Объем памяти, который предоставляется для хранения значений вещественной переменной, — от 4 до 10 байтов (в зависимости от выбранного формата числа).

Над числовыми величинами можно выполнять как арифметические операции, так и операции сравнения (>, <,

Литерный тип, включающий символы и строки, дает возможность работать с текстом. Литерные величины это произвольные последовательности символов: букв, цифр, знаков препинания, пробела и других специальных знаков (возможными символами могут быть символы таблицы ASCII). Литерные величины обычно заключаются в кавычки: ”а”, ” В“, ' «СТРОКА“, ” 1 2_3". В учебном алгоритмическом языке литерные величины обозначаются как лит. В других языках программирования (например, в Паскале) различают символьный (char) и строковый (string) типы. Величины символьного типа состоят из одного символа и занимают в памяти всего 1 байт. Величины строкового типа представляют собой различные последовательности символов, которые предусмотрены кодовой страницей, установленной в компьютере. Длина строки может составлять от О до 255 символов. Над всеми литерными величинами возможны операции сравнения. С помощью отношений

', “b” < ”с”, с < выполняется упорядочение литерных величин (сортировка по возрастанию или убыванию).

Еще одной операцией, характерной для символьных и строковых величин, является операция конкатенации (слияния): + — ”ab”.

Логический тип позволяет определять логические переменные, которые могут принимать только два значения: истина (true) или ложь (false). Для представления логической величины достаточно одного бита, однако, поскольку место в памяти выделяется по байтам, логической величине отводится минимальная «порция» памяти — один байт. Над логическими величинами можно выполнять все стандартные логические операции.

Значение — это непосредственно то, чему равна переменная в конкретный момент времени. Это может быть число, символ, текст и т. д. Значение переменной в программе можно задать двумя способами: присваиванием и с помощью процедуры ввода.

Оператор присваивания

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

В операторах присваивания используется либо обычный знак равенства, либо сочетание двоеточия и знака равенства «:=». Поскольку знак присваивания — это не знак равенства, возможны записи вида Х := Х + 1 или А :=А — В. Нужно учитывать, что оператор присваивания будет выполняться только в том случае, если значения всех переменных в правой части уже определены и выполняется соответствие типов для правой и левой части оператора присваивания. Например, С А > В выполнится только в том случае, если для переменной С определен булевский (логический) тип.

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

Локальные, глобальные и общие переменные

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

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

Имена локальных и глобальных переменных могут совпадать. При этом действует правило: локальные переменные на время работы подпрограмм, в которых они объявлены, экранируют, т. е. перекрывают глобальные переменные. Например, если в основной программе переменная с именем с определена как логическая, а в подпрограмме идентификатор с используется для задания вещественной переменной, то только на время работы подпрограммы с можно использовать как число — в остальных случаях идентификатор с определяет логическую переменную.

Примеры решения задач

Пример 1. Значения заданных переменных А, В перераспределить таким образом, чтобы

А и В поменялись значениями.

Решение. Возможны два варианта решения:

С использованием промежуточной переменной С

Без использования дополнительной переменной

Пример 2. Определить значение переменной А после выполнения фрагмента алгоритма (рис. 1.11):

Решение. Оформим решение в виде таблицы.

 

 

В

 

Условие

 

2

-2

10

да

 

—4

-2

12

да

8

-2

14

да

 

-16

-2

16

да

 

32

-2

18

да

 

-64

-2

20

да

 

128

-2

22

нет — окончание цикла

 

Ответ: А = 128.

Пример З. Определить значение переменной S:

ни, пока А + В < 10

кц

Решение. Оформим решение в виде таблицы.

 

В

 

 

 

-1

1

 

 

 

 

1

 

1

 

1

2

 

з

 

2

4

 

6

 

З

7

10

условие выхода из цикла

21

Ответ: S = 21.

Пример 4. Записать последовательность операций присваивания (:=), которая позволит определить номера подъезда и этажа по номеру лт квартиры девятиэтажного дома, считая, что на каждом этаже по 4 квартиры, а нумерация квартир начинается с первого подъезда. Решение.

4 * 9 = 36 {количество квартир в подъезде}

Х := (N — 1) div 36 + 1 {номер подъезда} лт   - (Х - 1) * 36       [1,36] }

У (N — 1) div 4 + 1 {номер этажа}

Например, для квартиры с номером 150 получим:

х = (150 - 1) div 36 + 1 = 4 + 1 - 5; ЛК = 150 - (5 - 1) * 36 = 6; У = (6 - 1)            4 + 1 = 2.

Ответ: квартира с номером 150 находится в пятом подъезде, на втором этаже.

1 2.4. Работа с массивами (заполнение, считывание, поиск, сортировка, массовые операции и др.)

Величины числового, литерного, логического типов представляются одним значением и относятся к простым типам данных. Характерной особенностью простых типов является атомарность, т. е. они не могут вмещать элементы других типов. Типы данных, которые не удовлетворяют данному условию, называются структурированными, или составными. Например, массивы, записи, строки, множества, файлы. Структурированный тип характеризуется множеством элементов, из которых складываются данные этого типа. Элементы структурированного типа назыВаЮТСЯ компонентами. В свою очередь компонента структурированного типа может принадлежать также к структурированному типу. Из простых данных сложные структуры могут получаться двумя способами:

1)     объединением однородных элементов данных;

2)     объединением разнородных элементов данных.

В первом случае примером могут служить массивы, а во втором — записи.

Информацию удобно . представлять в виде таблиц. Наиболее привычными являются прямоугольные таблицы, т. е. таблицы, состоящие из строк и столбцов. В том числе таблицы, состоящие из единственной строки или единственного столбца, линейные таблицы, имеющие одно « измерение».

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

Массив

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

Каждый элемент массива снабжен индексом. Индекс это порядковый номер элемента, определяющий его положение в массиве. Таким образом, элементы массива идентифицируются с помощью имени массива и с помощью своих индексов.

Количество элементов массива называется размерностью массива. Итак, массив характеризуется:  размерностью;  базовым типом элементов;

         типом индекса (может быть только порядковым типом);

         множеством значений для индекса.

Массив может быть одномерным (вектор) и многомерным (матрица).

Одномерный массив содержит одно измерение; каждый элемент массива обозначается идентификатором (именем) массива с индексом. Многомерный массив содержит п-е количество измерений; каждый элемент массива обозначается идентификатором массива для п индексов.

Существует несколько способов заполнения массива данными:

1)     непосредственное присваивание значений элементам;

2)     заполнение массива произвольными элементами, случайными числами; З) ввод значений элементов с клавиатуры или чтение из файла.

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

Примечание. Строковый тип данных напоминает одномерный массив, в котором элементами являются символы. К примеру, строку ” МАМА КУПИЛА ХЛЕБ“ можно рассматривать как одномерный .массив из 16 символов (включая пробелы). Эту строку можно обозначить идентификатором (например, Novost) и пронумеровать все символы, считая их элементами массива: Novost (1) — ... Novost (16) = “Б”

Однако для работы с символьной информацией более гибким инструментом является не одномерный массив, а строка (string). Это связано с тем, что количество символов в строке, в отличие от массива, не фиксировано. Благодаря этому к строке можно без ограничений применять стандартные операции и функции, предназначенные для работы с текстом.

Задачи, связанные с обработкой массивов, как и все задачи вообще, условно можно разделить на два вида:

1)     стандартные задачи;

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

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

    Стандартные задачи обработки массивов      

Пример 1. В массиве А каждый элемент равен О или 1. Заменить все нули единицами и наоборот.

Решение. Достаточно одного оператора присваивания в теле цикла:

Пример 2. В массиве каждый элемент равен О, 1 или 2. Переставить элементы массива так, чтобы сначала располагались все О, затем все 1 и, наконец, все 2. Дополнительный массив не использовать.

Решение. Можно не переставлять элементы массива, а подсчитать количество О, 1, 2 и заново заполнить массив требуемым образом.

алг Сумма (арг цел п, рез арг вещ таб дано 1массив А содержит нули, единицы и двойки надо 'упорядочить массив по возрастанию нач цел 1, К 1, К2

нц для i от 1 до п если A[i] —- 0 то К 1 :— К1 + 1 |подсчет количества нулей всё если A[i] = 1 то К2 := К2 + 1 |подсчет количества единиц всё кц ни, для для i от 1 до К 1 |заполнение массива нулями

кц ни, для i от К 1 + 1 до К 1 + К2 |заполнение массива единицами

кц нц для i от К 1 + К2 до п |заполнение массива двойками

кц кон Пример З. Даны два п-элементных массива Х и У одного типа. Поменять местами все Х. и У., 1 ...п), не используя промежуточные величины.

Решение. Обмен можно выполнить в цикле для всех i от 1 до п с помощью серии из трех операторов присваивания:

X[i] X[i] + Y[il YIi] X[i] - Y[i]

X[i] X[i] - Y[ i l.

Пример 4. Записать алгоритм нахождения максимального элемента массива А(п) и его номера. Решение. На псевдокоде требуемый алгоритм запишется следующим образом:

алг Макс_элемент (арг цел п, вещ таб А[1:п], рез вещ Атах, цел К) дано |массив А надо |найти максимальный элемент и его номер нач цел i

Атах A[l]

нц для i от 2 до п если A[i] > Атах то Атах := A[i]; К : всё кц кон

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

Пример 5. Найти сумму элементов одномерного массива А(п).

Решение. На псевдокоде алгоритм нахождения суммы запишется следующим образом:

алг Сумма (арг цел п, арг вещ таб А[1:п], рез вещ S) дано |массив А надо |найти сумму элементов массива нач цел i

нц для i от 1 до п

кон

Примечание. Для нахождения суммы положительных элементов массива вместо оператора S := S + A[i] необходимо записать:

если A[i] > О

всё

Пример 6. Записать алгоритм вычисления произведения элементов столбцов заданной вещественной двумерной матрицы А(п, т).

Решение. На псевдокоде алгоритм запишется следующим образом:

алг Произв_для_столбцов_массива (арг цел п, т, арг вещ таб А[1:п, 1:m], рез вещ таб S[1:m]) дано [массив А надо |для каждого столбца найти произведения элементов столбцов массива

нач

                         нц для ј от 1 до т |цикл по столбцам             

нм, для i от 1 до п Дикл по элементам текущего столбца

кц кц кон

Пример 7. Подсчитать количество элементов для заданной целочисленной матрицы А(п, т), равных ее максимальному элементу.

Решение. На псевдокоде алгоритм запишется следующим образом:

алг Количество максимумов (арг цел п, т, арг цел таб А [1:n, 1:m], рез цел К) дано |массив А надо |количество максимальных элементов нач цел Г, ј, Атах Атах АД, 1] ни, для i от 1 до п |поиск максимального элемента матрицы нц для .ј от 1 до т если A[i, Л > Атах то Атах A[i, ј] всё кц кц

К := О |подсчет количества вхождений Атах нц для i от 1 до п нц для ј от 1 до т если A[i, ј] = Атах то К всё кц        кц кон

Пример 8. Записать алгоритм обмена элементами строк с номерами Р и Q в заданной вещественной матрице А(п, т).

Решение. На псевдокоде алгоритм запишется следующим образом:

алг Поменять_местами_строки (арг цел п, т, арг цел Р, Q, арг рез вещ таб А [1 т, 1:m]) дано |массив А, номера строк Р и Q надо 'поменять местами строки с номерами Р и Q нач цел i вещ Т тр нц для ј от 1 до т |цикл по элементам строк матрицы

A[Q, Л ттр

кон

Пример 9. Включить заданное число D в одномерный упорядоченный по возрастанию массив F(n) с сохранением упорядоченности.

Решение. На псевдокоде алгоритм запишется следующим образом:

алг Включение (арг цел п, арг вещ 1), арг рез вещ таб F[1:n + 1]) дано lF — упорядоченная по возрастанию последовательность надо F включить число D с сохранением упорядоченности массива нач цел i

нц пока (i

F[il |сдвиг очередного элемента вправо на одну позицию

i . 1 кц

кон

Пример 10. Сформировать новый массив В из элементов целочисленного массива А(п), для которых выполняется условие D < А С.

Решение. На псевдокоде алгоритм запишется следующим образом:

алг Выборка (арг цел п, арг цел таб А[1:п], арг цел 1), С, рез цел т, рез цел таб В[1:т]) дано Д последовательность надо |сформировать последовательность В из элементов целочисленного массива А(п), для которых выполняется условие D А. < С

нач

лит Flag 1 mag ни, для i если (D < A[i]) и (A[i] < С) проверка выполнения условия то ВГЛ „4[i]; :— ј + 1; Flag := ” ЕСТЬ“ формирование нового массива всё

если Flag = то т ј 1 |определение размерности массива В всё кон

Пример 11. Найти в заданном целочисленном массиве А(т) хотя бы одну пару элементов, совпадающих по значению.

Решение. На псевдокоде алгоритм запишется следующим образом:

алг Поиск одинак элементов (арг цел т, арт цел таб рез лит 0tvet) дано массив размерности т надо |найти совпадающую пару элеметов нач

лит Flag

1; Flag ”НЕТ” нц пока (i <= п — 1) и (Flag — “ НЕТ“) |цикл по первому числу из пары

ни, пока (ј <= п) и (Flag  |цикл по второму числу из пары если А [Г] = А [ј] 'проверка равенства то Flag иначе .ј :=Ј + 1 всё кц

если Flag ДА“ то 0tvet ”ЕСТЬ совпадающие числа иначе 0tvet := “ НЕТ совпадающих чисел всё кон

Поиск одна из важных невычислительных задач. Проведение поиска в упорядоченном и неупорядоченном массивах отличается. В неупорядоченном массиве, если нет никакой дополнительной информации об элементе поиска, его выполняют с помощью последовательного просмотра всего массива. Такой поиск называют линейным (см. пример 7). В любом случае существуют два условия окончания поиска:

1)  элемент найден;

2)  весь массив просмотрен — элемент не найден.

В упорядоченном массиве поиск можно значительно ускорить, применяя метод половинного Деления, или бинарный поиск. Его идея заключается в следующем. Пусть фиксированный массив упорядочен по неубыванию (а. а. 1). Случайно выбранный элемент а (обычно берут средний элемент) сравнивают с элементом поиска х. Если он меньше х, то искомый элемент может быть среди элементов а . . . , а , т. е. в правой половине массива. Если он больше х то среди элементов левой части массива. Если же он равен х, то поиск успешно заканчивается.

К стандартным задачам относятся задачи сортировки массива. Сортировка массива — это перерасположение элементов массива в заданном порядке. Основная цель сортировки облегчить последующий поиск. Методы условно разделяют по главной идее алгоритма, а реализуются они целым семейством алгоритмов.

К простым методам сортировки относят:

 сортировку с помощью обмена (метод пузырька);  сортировку с помощью прямого включения;  сортировку с помощью выбора.

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

Алгоритм сортировки массива А(п) по возрастанию на псевдокоде:

алг Обменная_сортировка (арг цел п, арг рез вещ таб дано lA — массив размерности п надо |упорядочить массив по возрастанию нач

вещ Т тр


ни, для i от 2 до п ни, для ј от п до 1 если АО] < А[ј — 1] то ттр А[Ј]•, А[Ј]   - Ц;      - 1] := Т тр элементы меняются местами всё км,

кц кон

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

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

алг Сортировка_вставкой (арг цел п, арг рез вещ таб дано А массив размерности п надо 'упорядочить массив по возрастанию нач

вещ Т тр ни, для i от 2 до п li — начало неотсортированного массива Т тр := АШ; .i :- 1 ни, пока Т тр > АО] ј :=ј + 1 lj — фиксирует место вставки ни, для К от i — 1 до

А[К+1] := А[К] [сдвиг вправо неотсортированной части км,

АИ] := Т тр 'вставка выбранного элемента

кц км,

кон

Сортировка с помощью прямого выбора. При сортировке этим методом сначала выбирается наименьший (наибольший) элемент массива и меняется местами с первым. Затем выбирается наименьший (наибольший) среди оставшихся (п — 1) элементов и меняется местами со вторым и т. д. до тех пор, пока не останется один наибольший (наименьший) элемент. Сортировка осуществляется с помощью двух вложенных циклов.

алг Сортировка_выбором (арг цел п, арг рез вещ таб А[1 :n]) дано Д массив размерности п надо |упорядочить массив по возрастанию

нач цел i, К вещ М Гп нм, для i от 1 до п 1 li — начало неотсортированного массива

                              МТ                К 1

нц для ј от i + 1 до п поиск минимума в неотсортированной части массива если Min > А[ј] то ЛПп А[ј]; К .Ј всё

А[К] A[i]; A[i] Min 'элементы меняются местами кц кон

Приведенные алгоритмы сортировки не требуют дополнительной оперативной памяти. Время выполнения алгоритмов сортировки пропорционально количеству операций сравнения и перестановки элементов. Сортировка массива из п элементов методом выбора главного элемента требует

выполнения   операций сравнения и п операций обмена элементами. Метод сортировки встав2

2

ками требует — 4 операций сравнения и столько же операций обмена, а метод пузырьковой сорти2 ровки — операций сравнения и столько же операций обмена. Таким образом, из трех РаССМОТ2 ренных методов сортировки массива методы вставки и выбора приблизительно эквивалентны, а обменная сортировка медленнее. Кроме того, что в методе вставки исходные элементы могут поступать последовательно, а в методе выбора они должны быть в наличии до начала сортировки.

Примеры решения задач

Пример 1. Одномерный массив, содержащий десять элементов, заполняется по следующему закону: АД] = 1; АР] = Х; A[i] = 2 * Х * - 1] - - 2], где i = З, 4, . 10. Каким будет значение А[5] при Х = 1?

Решение. Представим значения первых пяти элементов массива А, полученные по заданному закону при Х = 1:

1 - 1;

1 = 1; 1 - 1.

Таким образом, значение А[5] при Х = 1 будет равно 1. Ответ: 1.

Пример 2. Задан двумерный массив А(п, п). Определить, что вычисляет приведенный фрагмент алгоритма:

нц для i от 1 до п ни, для ј от 1 до п если A[i, Л > О

ТО S S + A[i, Л А 2 всё кц кц

Решение. В данном алгоритме переменной S присваивается значение О. Затем в структуре циклов по переменным i и ј каждый из элементов массива А ij сравнивается с нулем (A[i, ј] > О) и если элементы А.. положительны, то квадраты A[i, ЛА 2 положительных элементов А . увеличивают значение суммы S (S S + A[i, Л А 2).

Ответ: фрагмент алгоритма вычисляет сумму квадратов положительных элементов массива.

Пример З. Задан фрагмент алгоритма, использующий двумерный массив (таблицу) М(п, п), два одномерных массива АО), В(п) и переменную Х. Определить назначение массивов А и В и переменной.

ни, для i от 1 до п

нц для .ј от 2 до п если M[i, Л < A[il то A[il M[i, Л; B[i] :

всё

кц

Решение. Представим фрагмент алгоритма словесно.

1.  Переменной Х присвоить значение О.

2.  Переменной i присвоить значение 1.

           З. Если i S п, то перейти к следующему пункту; в противном случае          конец фрагмента ал-

горитма.

4.     Элементу одномерного массива А с индексом i присвоить значение элемента двумерного массива М, находящегося в i-ii строке и первом столбце.

5.     Элементу одномерного массива В с индексом i присвоить значение 1.

6.     Переменной ј присвоить значение 1.

7.     Если ј п, то перейти к следующему пункту; в противном случае — к п. 13.

8.     Если M[i, ј] < A[i], то перейти к следующему пункту; иначе           к п. 11.

9.     Элементу A[i] присвоить значение элемента массива М, находящегося в Г-й строке и ј-м столбце.

10. Элементу B[i] присвоить значение переменной ј.

11. Переменной Х присвоить значение суммы Х + M[i, Л.

12. Переменной .ј присвоить значение суммы ј + 1 и вернуться к п. 7.

13. Переменной i присвоить значение суммы i + 1 и вернуться к п. З.

Таким образом, анализ алгоритма показывает, что переменная Х накапливала сумму всех элементов массива М; массив А — минимальные элементы соответствующих строк массива М; массив В — индексы (порядковые номера столбцов) минимальных элементов в соответствующих строках массива М.

Пример 4. Составить алгоритм определения наличия среди элементов главной диагонали заданной целочисленной матрицы А(п, т) хотя бы одного положительного нечетного элемента.

Решение. Для всех элементов А главной диагонали выполняется условие i ј. Определение наличия нечетных элементов выполняется с помощью операции mod (остаток от целочисленного деления), при этом, если результат mod равен 1, число нечетное. Алгоритм:

алг Диагональ (арг цел п, арг цел таб А[1:п, 1:nl, рез лит Str) нач цел i лит Flag

1; Flag “НЕТ“ нц пока (i <= п) и (Flag = ” НЕТ“) 'условие продолжения цикла если (A[i, i] > О) и (A[t, i] mod 2) 1) |условие завершения цикла то Flag := ”ЕСТЬ” иначе i :

всё кц

53

если Flag = ” то Str := ”такие элементы ЕСТЬ“ иначе Str := ”таких элементов НЕТ“ всё кон

12.5. Структурирование задачи при ее решении для использования вспомогательного алгоритма. Вспомогательные алгоритмы: процедуры и функции

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

Самым важным преимуществом структурного подхода является возможность нисходящего программирования, благодаря которой можно двигаться от крупных задач к более мелким. Крупная задача будет разбиваться на менее крупные блоки, те в свою очередь на меньшие блоки и т. д. Каждый блок алгоритма должен быть максимально самостоятельным и логически завершенным. Разбиение на блоки должно определяться внутренней логикой задач. Процесс разбиения завершается, когда решение исходной задачи сводится к решению ряда простых задач, для которых легко построить алгоритм. На каждом шаге этого процесса происходит детализация, т. е. переход от общих задач к частным, которые в свою очередь детализируются в виде конкретных подзадач. Такой метод называется методом пошаговой детализации. Таким образом, при структурном подходе можно комбинировать не только базовые структуры (следование, ветвление, цикл), но и подключать алгоритмы, написанные ранее. Алгоритмы, которые целиком используются в составе других алгоритмов, называются вспомогательными, или подалгоритмами.

Если вспомогательный алгоритм в процессе работы программы выполняется многократно, отличаясь только параметрами, то обычно прибегают к оформлению вспомогательного алгоритма в виде подпрограммы алгоритма-процедуры, или алгоритма-функции.

Подпрограмма — это именованный, логически законченный алгоритм, который оформляется специальным образом и может многократно использоваться при решении более общей задачи.

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

В языках программирования подпрограмма является частью основной программы, ее описание располагается в описательной части программы. Структура подпрограммы такая же, как и основной программы; различие заключается лишь в оформлении заголовка подпрограммы. Заголовок подпрограммы состоит из служебного слова — идентификатора подпрограммы (имени подалгоритма) — и списка формальных параметров (список параметров не обязателен, допускаются подпрограммы без параметров). При вызове процедуры из текста программы вместо формальных параметров подставляются фактические параметры, при этом соблюдаются следующие правила:

*                   • количество формальных и фактических параметров должно совпадать, причем соответствие между параметрами команды вызова и формальными параметрами процедуры устанавливается по порядку следования: первый фактический параметр соответствует первой переменной, записанной в заголовке подпрограммы, второй фактический параметр второй переменной и т. д.;

*                   типы соответствующих параметров команды вызова и заголовка подпрограммы должны совпадать.


Команда вызова подпрограммы выполняется в три этапа:

1)     вычисление фактических аргументов;

2)     исполнение алгоритма подпрограммы;

З) присвоение полученных значений результатов алгоритма-подпрограммы соответствующим фактическим переменным.

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

Различают два вида подпрограмм — процеДуры и функции. Имея один и тот же смысл и аналогичную структуру, процедуры и функции различаются назначением и способом их использования. Основное отличие функций от процедур заключается в том, что результатом выполнения функции является некоторое единственное значение. Функция — это алгоритмически вычисляемое выражение, которое присваивается идентификатору функции.

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

Подпрограммы, которые написаны пользователем, называются пользовательскими.

Примеры заданий ЕГЭ к разделу 1 .2

«Алгоритмизация и программирование» Часть 1

Чертежный автомат (ЧА) выполняет три команды:

1)  опустить перо;

2)  поднять перо;

З) переместить перо на (Ах, Лу), где (Ах, Лу) вектор перемещения в системе координат ХОУ.

Для какого из приведенных алгоритмов ЧА результатом выполнения команд на клетчатой бумаге является буква

1.     нач З. нач опустить перо; опустить перо; переместить перо на (О, 4); переместить перо на (О, 4); переместить перо на (2, О); переместить перо на (2, О); переместить перо на (О, —4); переместить перо на (О, —2); переместить перо на (—2, О); переместить перо на (—2, О); поднять перо; поднять перо; кон       кон

2.     нач 4. нач опустить перо; опустить перо; переместить перо на (О, —4); переместить перо на (4, О); переместить перо на (2, О); переместить перо на (О, 2); переместить перо на (О, 2); переместить перо на (—2, О); переместить перо на (—2, О); переместить перо на (О, —2); поднять перо; поднять перо; кон       кон

Записано 5 строк, каждая имеет свой номер от 1 до 5. В первой строке записана цифра О и номер строки 1. Каждая последующая строка состоит из трех повторений предыдущей и добавленного в конец своего номера (в i-r•I строке в конце приписана цифра i). Ниже показаны первые три строки, сформированные по описанному правилу (в скобках записан номер строки):

(1)   01

(2)   0101012

(3)   0101012010101201010123

Какая цифра стоит в последней строке на 200-м месте (считая слева направо)?

В результате выполнения алгоритма был построен график функции:

Примеры заданий ЕГЭ

Какой из приведенных фрагментов алгоритма был использован для построения графика?

1) если Х <= —1           З) если Х —1        то У 1 дх * Х) иначе иначе если Х     если Х >= 2 то У Х * Х иначе У := 4          иначе У := 4

         2. если У <= —1                                      4. если Х <= —1

иначе      иначе если Х если Х <= 2 то У Х * Х иначе У := 4         иначе У := 4

М. Определите значение целочисленной переменной S после выполнения операторов:

S 128 нц для i от 1 до 7

S div (S, 2) кц

Примечание. функция div(A, В) возвращает результат целочисленного деления А на В.

А5. Определите значение целочисленной переменной S после выполнения операторов:

нц для i от 1 до 2 нц для .i от 2 до з

кц кц

3) 18

Аб. Определите значение целочисленной переменной S после выполнения операторов:

S о; ЛТ 34013 нц пока > О

S S + mod(N, 10)

ЛТ div(N, 10) кц

Определите значение целочисленной переменной S после выполнения операторов:

нц

кси,

Примеры заданий ЕГЭ


А8. Какой фрагмент программы соответствует блок-схеме? U 1 U2 обозначают некоторые условия, а S 1, S2 — операторы.

1)  если U 1 то если U2 то S1 иначе S2; конец ветвл; конец ветвл;

2)  пока U 1 повторять нц пока U2 повторять ни, S 1 кц; S2; кц; З) если U 1 то пока U2 повторять ни, S1; кц; иначе S2; конец ветвл; 4) пока U 1 повторять нц если U2 то S 1 иначе S2; конец ветвл; кц.

А9. Приведена блок-схема алгоритма вычисления суммы ряда. Для какого из указанных рядов справедлива блок-схема?

Примеры заданий ЕГЭ

А 10. Дан одномерный массив Щ— 1, З, —1, О, 4], где п = 5. Чему будет равна переменная S после исполнения следующего алгоритма:

нц для К := 1 если „ЧК]       О то S S + к всё

s=N-s

А 11. Задан двумерный квадратный массив А[1:п, 1:n]. Что вычисляет следующий фрагмент алгоритма:

ни, для i от 1 до п если A[i, п — i + 1] > О то S S + A[i, п — i + 1] А 2 — возведение в степень всё кц

1)     сумму квадратов положительных элементов побочной диагонали массива;

2)     количество положительных элементов главной диагонали массива;

З) сумму квадратов элементов побочной диагонали массива;

4) сумму квадратов положительных элементов главной и побочной диагоналей массива.

А 12. В приведенном ниже фрагменте алгоритма, записанном на алгоритмическом языке, переменные А, В, С имеют тип «строка», а переменные 1, К — целого типа. Для обработки строк используются следующие функции:

длина(А) — результат — это целое число, равное количеству символов в строке А; извлечь(А, 1, N) результат это строка, получаемая путем выделения в строке А, начиная с вго символа (слева), N символов; склеить(А, В) результат это строка, в которой записаны сначала все символы строки А, а затем все символы строки В.

Значения строк записываются в кавычках (например, А := “ дом“).

Фрагмент алгоритма: I := длина(А)

нц пока i > З

С извлечь(А, I — К, К)

В := склеить(В, С)

кц

I := длина (В)

В извлечь (В, 1, I — 1)

В := склеить (В, ”)“ )

Какое значение будет у переменной В после выполнения приведенного выше фрагмента алгоритма, если значение переменной А было "1+2+3+4+5“ ?

Примеры заданий ЕГЭ

1 В. Алгебра логики

1 .3.1 . Алгебра логики

Алгебра логики (англ. algebra of logic) — один из основных разделов математической логики, в котором методы алгебры используются в логических преобразованиях.

Основоположником алгебры логики является английский математик и логик Дж. Буль (1815— 1864), положивший в основу своего логического учения аналогию между алгеброй и логикой. Любое высказывание он записывал с помощью символов разработанного им языка и получал «уравнения», истинность или ложность которых можно было доказать, исходя из определенных логических законов, таких как законы коммутативности, дистрибутивности, ассоциативности и др.

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

Логическое высказывание это любое повествовательное предложение, в отношении которого можно однозначно утверждать, что его содержание истинно или ложно.

Например, «З умножить на З равно 9», «Архангельск севернее Вологды» истинные высказывания, а «Пять меньше трех», «Марс — звезда» ложные.

Очевидно, что не всякое предложение может быть логическим- высказыванием, т. к. не всегда есть смысл говорить о его ложности или истинности. Например, высказывание «Информатика — интересный предмет» неопределенно и требует дополнительных сведений, а высказывание «Для ученика 10-А класса Иванова А. А. информатика — интересный предмет» в зависимости от интересов Иванова А. А. может принимать значение «истина» или «ложь».

Кроме Двузначной алгебры высказываний, в которой принимаются только два значения «истинно» и «ложно», существует многозначная алгебра высказываний. В такой алгебре, кроме значений «истинно» и «ложно», употребляются такие истинностные значения, как «вероятно», «возможно», «невозможно» и т. д.

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

Обозначим как А высказывание «Алгебра логики успешно применяется в теории электрических схем», а через В — «Алгебра логики применяется при синтезе релейно-контактных схем». Тогда составное высказывание «Алгебра логики успешно применяется в теории электрических цепей и при синтезе релейно-контактных схем» можно кратко записать как А и В; здесь «и» логическая связка. Очевидно, что поскольку элементарные высказывания А и В истинны, то истинно и составное высказывание А и В.

Каждая логическая связка рассматривается как операция над логическими высказываниями и имеет свое название и обозначение.

Логических значений всего два: истина (TRUE) и ложь (FALSE). Это соответствует цифровому представлению — 1 и О. Результаты каждой логической операции можно записать в виде таблицы. Такие таблицы называют таблицами истинности.

Основные операции алгебры ЛОГИКИ

1. Логическое отрицание, инверсия (лат. inversion переворачивание) логическая операция, в результате которой из данного высказывания (например, А) получается новое высказывание (не А), которое называется отрицанием исходного высказывания, обозначается символически

ПРОЩСЫ


чертой сверху (А ) или такими условными обозначениями, как 'not', и читается: «не А», «А ложно», «неверно, что А», «отрицание А». Например, «Марс планета Солнечной системы» (высказывание А); «Марс — не планета Солнечной системы» (А ); высказывание «10 простое число» (высказывание В) ложно; высказывание «10 не простое число» (высказывание В) ис-

тинно.

Операция, используемая относительно одной величины, называется унарной. Таблица значений данной операции имеет вид

 

 

1

 

 

1

 

 

истина

ложь

ложь

истина

или

Высказывание А ложно, когда А истинно, и истинно, когда А ложно.

Геометрически отрицание можно представить следующим образом: если А — это некоторое множество точек, то А — это дополнение множества А, т. е. все точки, которые не принадлежат множеству А (рис. 1.12).

2. Конъюнкция (лат. conjunctio — соединение) логическое умножение, операция, требующая как минимум двух логических величин (операндов) и соединяющая два или более высказываний при помощи связки «и» (например, «А и В»), которая символически обозначается с помощью знака л (А л В) и читается: «А и В». Для обозначения конъюнкции применяются также следующие знаки: А • В; А & В, А and В, а иногда между высказываниями не ставится никакого знака: АВ. Пример логического умножения: «Этот треугольник равнобедренный и прямоугольный». Данное высказывание может быть истинным только в том случае, если выполняются оба условия, в противном случае высказывание ложно.

Таблица истинности операции имеет вид

 

в

А л В

1

 

 

 

1

 

 

 

 

1

1

1

 

в

А л В

истина

ложь

ложь

ложь

истина

ложь

ложь

ложь

ложь

истина

истина

истина

или

Высказывание А л В истинно только тогда, когда оба высказывания — А и В истинны.

Геометрически конъюнкцию можно представить следующим образом: если А, В — это НеКОТОрые множества точек, то А л В есть пересечение множеств А и В (рис. 1.13)

 

 

в

1 З.

З. Дизъюнкция (лат. disjunction разделение) — логическое сложение, операция, соединяющая два или более высказываний при помощи связки «или» (например, «А или В»), которая символически обозначается с помощью знака (А В) и читается: «А или В». Для обозначения дизъюнкции применяются также следующие знаки: А + В; А or В; А В. Пример логического сложения: «Число х делится на З или на 5». Это высказывание будет истинным, если выполняются оба условия или хотя бы одно из условий.

Таблица истинности операции имеет вид

 

в

 

или

 

в

 

истина

ложь

истина

1

 

1

ложь

истина

истина

 

1

1

ложь

ложь

ложь

 

 

 

истина

истина

истина

1

1

1

Высказывание А v В ложно только тогда, когда оба высказывания — А и В ложны.

Геометрически логическое сложение можно представить следующим образом: если А, В — это некоторые множества точек, то А v В — это объединение множеств А и В, т. е. фигура, объединяющая и квадрат, и круг (рис. 1.14).

4.      Дизъюнкция строго-разделительная, сложение по модулю два — логическая операция, соединяющая два высказывания при помощи связки «или», употребленной в исключающем смысле, которая символически обозначается с помощью знаков vv или О (А v В, А О В) и читается: «либо А, либо В». Пример сложения по модулю два высказывание «Этот треугольник тупоугольный или остроугольный». Высказывание истинно, если выполняется какое-то одно из услоВИЙ.

Таблица истинности операции имеет вид

 

в

истина

ложь

истина

ложь

истина

истина

ложь

ложь

ложь

истина

истина

ложь

 

В

1

 

1

 

1

1

 

 

 

1

1

 

или

Высказывание А Э В истинно только тогда, когда высказывания А и В имеют различные значения.

5.      Импликация (лат. implisito — тесно связываю) — логическая операция, соединяющая два высказывания при помощи связки «если..., то» в сложное высказывание, которое символически обозначается с помощью знака —» (А —» В) и читается: «если А, то В», «А влечет В», «из А следует В», «А имплицирует В». Для обозначения импликации применяется также знак D (А D В). Пример импликации: «Если полученный четырехугольник квадрат, то около него можно описать окружность». Эта операция связывает два простых логических выражения, из которых первое является условием, а второе — следствием. Результат операции ложен только тогда, когда предпосылка есть истина, а следствие — ложь. Например, «Если З * З = 9 (А), то Солнце планета (В)» , результат импликации А В — ложь.

Таблица истинности операции имеет вид

 

в

или

 

в

истина

ложь

ложь

1

 

 

ложь

истина

истина

О

1

1

ложь

ложь

истина

О

 

1

истина

истина

истина

1

1

1

Для операции импликации справедливо утверждение, что из лжи может следовать все что угодно, а из истины только истина.

6.      Эквивалентность, двойная импликация, равнозначность (лат. aequalis — равный и valentis — имеющий силу) логическая операция, позволяющая из двух высказываний А и В получить новое высказывание А • В, которое читается: «А эквивалентно В». Для обозначения эквивалентности применяются также следующие знаки: е», Эта операция может быть выражена связками «тогда и только тогда», «необходимо и достаточно», «равносильно». Примером эквивалентности является высказывание: «Треугольник будет прямоугольным тогда и только тогда, когда один из углов равен 90 градусам» .

Таблица истинности операции эквивалентности имеет вид

 

В

или

 

в

истина

ложь

ложь

1

 

 

ложь

истина

ложь

 

1

 

ложь

ложь

истина

 

 

1

истина

истина

истина

1

1

1

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

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

Сложение по модулю два

Импликация

АМВ

Эквивалентность

 

А л В м (АА В)

Приоритет выполнения логических операций следующий: отрицание («не») имеет самый высокий приоритет, затем выполняется конъюнкция («и»), после конъюнкции дизъюнкция («или»).

С помощью логических переменных и логических операций любое логическое высказывание можно формализовать, т. е. заменить логической формулой. При этом элементарные высказывания, образующие составное высказывание, могут быть абсолютно не связаны по смыслу, но это не мешает определять истинность или ложность составного высказывания. Например, высказывание «Если пять больше двух (А), то вторник всегда наступает после понедельника (В)» импликация А В, и результат операции в данном случае «истина». В логических операциях смысл высказываний не учитывается, рассматривается только их истинность или ложность.

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

1 .3.

Примеры решения задач

Пример 1. Определить для указанных значений Х значение логического высказывания

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

 

в

 

1

 

 

 

1

1

 

 

1

1

1

1

Отсюда получаем: 1) для Х = 1:

((1 > З) v (1 < 3)) —» (1 4) = ложь истина —» истина = истина —» истина — истина; 2) для х = 12:

((12 > З) v (12 З) —» (12 4) = истина х../ ложь —» ложь = истина —» ложь ложь; 3) для х = з:

                       ((3 > З) v (З 3)) —» (3<4) = ложь v ложь      истина = ложь —» истина = истина.

Пример 2. Указать множество целых значений Х, для которых истинно выражение

Решение. Операция отрицания применена ко всему выражению ((Х :::> 2) (Х > 5)) , следовательно, когда выражение > 2) —» (Х > 5)) истинно, выражение ((Х 2) —» (Х > 5)) ложно. Поэтому необходимо определить, для каких значений Х выражение ((Х > 2) —» (Х > 5)) ложно. Операция импликации принимает значение «ложь» только в одном случае: когда из истины следует ложь. А это выполняется только для Х = З; Х = 4; Х = 5.

Пример З. Для каких из приведенных слов ложно высказывание

                (первая буква гласная л третья буква гласная)      строка из 4 символов?

1) асса; 2) куку; З) кукуруза; 4) ошибка; 5) силач.

Решение. Рассмотрим последовательно все предложенные слова:

1)  для слова асса получим: —, (1 л О) 1, 1 е» 1          высказывание истинно;

2)  для слова куку получим: —, (О л О) е» 1, 1            1 — высказывание истинно;

З) для слова кукуруза получим: — (О л О) е» О, 1 е» О — высказывание ложно; 4) для слова ошибка получим: —, (1 л 1) е— О, О О — высказывание истинно; 5) для слова силач получим: (0 л О) е» 1, 1 е» О — высказывание ложно.

1 .3.2. Логические выражения и их преобразование

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

 выражения, которые используют операции сравнения («больше» , «меньше», «равно» , «не равно» и т. п.) и принимают логические значения (например, выражение а > Ь , где а = 5 и Ь = 7, равно значению «ложь»);  непосредственные логические выражения, связанные с логическими величинами и логическими операциями (например, А В л С, где А = истина, В = ложь и С = истина).

Логические выражения могут включать в себя функции, алгебраические операции, операции сравнения и логические операции. В этом случае приоритет выполнения действий следующий:

1)     вычисление существующих функциональных зависимостей;

2)     выполнение алгебраических операций (вначале умножение и деление, затем вычитание и сложение);

З) выполнение операций сравнения (в произвольном порядке);

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

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

Пример. Найти значение выражения:

                                 1 S а м А v sin(n/a — п / Ь) < 1 л „В л         + a b > а +bv А л В)

для а = 2, Ь = З, А = истина, В = ложь.

        Решение. Порядок подсчета значений:

1) ba + ab > а + Ь, после подстановки получим: 3 2 + 2 3 > 2 + З, т. е. 17 > 2 + З — истина; 2) А л В = истина л ложь = ложь.

Следовательно, выражение в скобках равно

(Г + а ь а +bv А л В) = истина ложь — истина;

З) 1 S а = 1 2 = истина;

4)        sin(1t / а — / Ь) < 1 = sin(Tt / 2 — п / З) < 1 = истина.

После этих вычислений окончательно получим:

                                                    истина ч../ А л истина л        л „истина.

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

5)        „В = —ложь = истина; пистина = ложь;

6)        А л истина л истина л ложь = истина л истина л истина л ложь = ложь; 7) истина v ложь = истина.

Таким образом, результат логического выражения при заданных значениях— «истина».

Примечание. Учитывая, что исходное выражение есть, в конечном итоге, сумма двух слагаемых, и значение одного из них 1 < а = 1 < 2 = истина, без дальнейших вычислений можно сказать, что результат для всего выражения тоже «истина».

Тождественные преобразования логических выражений

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

Закон

ля v

ля л

Переместительный

 

АлВ =ВлА

Сочетательный

А л (В л С) = (А А В) л с

Распределительный

Правила де Моргана

Ал В = АМ В

Идемпотенции

Поглощения

 

Склеивания

1.3.

Операция переменной с ее инверсией

Операция с константами

Двойного отрицания

 

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

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

Некоторые преобразования логических формул похожи на преобразования формул в обычной алгебре (вынесение общего множителя за скобки, использование переместительного и сочетательного законов и т. п.), тогда как другие преобразования основаны на свойствах, которыми не обладают операции обычной алгебры (использование распределительного закона для конъюнкции, законов поглощения, склеивания, де Моргана и др.).

Рассмотрим на примерах некоторые приемы и способы, применяемые при упрощении логических формул:

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

Здесь для упрощения применяется закон поглощения.

При преобразовании применяются правило де Моргана, операция переменной с ее инверсией, операция с константой

Примеры решения задач

Пример 1. Найти логическое выражение, равносильное выражению А л           v С) Решение. Применяем правило де Моргана для В и С:

Получаем выражение, равносильное исходному:

Ал зев = Ал В л —с . Ответ: А л В л —С.

Пример 2. Указать значение логических переменных А, В, С, для которых значение логического выражения (А В) (В v „С В) ложно.

Решение. Операция импликации ложна только в случае, когда из истинной посылки следует ложь. Следовательно, для заданного выражения посылка А В должна принимать значение «истина», а следствие, т. е. выражение В —С v В «ложь».

1)     А v В — результат дизъюнкции «истина», если хотя бы один из операндов «истина» ;

2)     В —С В — выражение ложно, если все слагаемые имеют значение «ложь», т. е. В — «ложь»; —С — «ложь», а следовательно, переменная С имеет значение «истина»;

З) если рассмотреть посылку и учесть, что В — «ложь», то получим, что значение А — «истина» .

Ответ: А — истина, В — ложь, С — истина.


Пример З. Каково наибольшее целое число Х, при котором истинно высказывание (35 <х.х) (х < (х - з» ?

Решение. Запишем таблицу истинности для операции импликации:

Выражение Х < (Х — З) ложно при любых положительных значениях Х. Следовательно, для того чтобы результатом импликации была «истина» , необходимо и достаточно, чтобы выражение 35 < Х • Х также было ложно. Максимальное целое значение Х, для которого 35 < Х • Х ложно, равно 5. Ответ: Х 5.

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

Логические выражения могут быть использованы для описания геометрических областей. В этом случае задача формулируется так: записать для заданной геометрической области такое логическое выражение, которое принимает значение «истина» для значений х, у тогда и только тогда, когда любая точка с координатами (х; у) принадлежит геометрической области.

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

Пример 1. Задано изображение геометрической области. Записать логическое выражение, описывающее множество точек, принадлежащих ей. 1) (рис. 1.15).

Решение. Заданную геометрическую область можно представить в виде набора следующих областей: первая область — D1 — полуплоскость — + Ц 1 , вторая — D2 — круг с центром в начале координат х 2 + у 2 1 . Их пересечение D1 П D2 представляет собой искомую область (рис. 1.16).

Результат: логическое выражение

1 З.

2) (рис. 1.17).

Эту область можно записать так: xl 1 л у О л у —1 .

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

Можно решить обратную задачу, а именно: нарисовать область для заданного логического выражнения.

Пример 2. Нарисовать и заштриховать область, для точек которой выполняется логическое условие у х л у + х О лу < 2

Решение. Искомая область представляет собой пересечение трех полуплоскостей. Строим на плоскости (х, у) прямые у = х; у = —х; у = 2. Это границы области, причем последняя граница у = 2 не принадлежит области, поэтому ее наносим пунктирной линией. Для выполнения неравенства у х нужно, чтобы точки находились слева от прямой у = х, а неравенство у — —х выполняется для точек, которые находятся справа от прямой у — —х. Условие у 2 выполняется для точек, лежащих ниже прямой у = 2. В результате получим область, которая изображена на рис. 1.18:

Использование логических функций для описания электрических схем

Логические функции очень удобны для описания работы электрических схем. Так, для схемы, представленной на рис. 1.19,а, где значение переменной Х — это состояние выключателя (если он включен, значение Х — «истина», а если выключен «ложь»), это значение У — это состояние лампочки (если она горит значение «истина», а если нет «ложь»), логическая функция запишется так: У = Х . Функцию У называют функцией проводимости.

а

Для схемы, представленной на рис. 1.19,6, логическая функция У имеет вид: У = Х 1 U Х 2

т. к. достаточно одного включенного выключателя, чтобы горела лампочка. В схеме на рис. 1.19, в, для того чтобы горела лампочка, должны быть включены оба выключателя, следовательно, функция проводимости имеет вид: У = Х1 л Х2 . Для более сложной схемы (рис. 1.20) функция проводимости будет иметь вид: У = (Х 11 v (Х 12 л Х 13) ) л Х 2 л (Х 31 v Х 32) .

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

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

Использование аппарата алгебры ЛОГИКИ при проектировании логических схем

Математический аппарат алгебры логики очень удобен для описания того, как функционируют аппаратные средства компьютера. Любая информация при обработке на компьютере представляется в двоичной форме, т. е. кодируется некоторой последовательностью О и 1. Обработку двоичных сигналов, соответствующих О и 1, выполняют в компьютере логические элементы. Логические элементы, которые выполняют основные логические операции И, ИЛИ, НЕ, представлены на рис. 1.21.

1

не А

в

1

А или В

 

в

Условные обозначения логических элементов являются стандартными и используются при составлении логических схем компьютера. С помощью этих схем можно реализовать любую логическую функцию, описывающую работу компьютера.

Технически компьютерный логический элемент реализуется в виде электрической схемы, которая представляет собой соединение различных деталей: диодов, транзисторов, резисторов, конденсаторов. На вход логического элемента, который называют также вентилем, поступают электрические сигналы высокого и низкого уровней напряжения, на выход выдается один выходной сигнал также либо высокого, либо низкого уровня. Эти уровни соответствуют одному из состояний двоичной системы: 1 О; ИСТИНА — ЛОЖЬ. Каждый логический элемент имеет свое условное обозначение, которое выражает его логическую функцию, но не указывает на то, какая именно электронная схема в нем реализована. Это упрощает запись и понимание сложных логических схем. Работу логических схем описывают с помощью таблиц истинности. Условное обозначение на схеме ИЛИ знак «1 » от устаревшего обозначения дизъюнкции как «>=1» (значение дизъюнкции равно 1, если сумма двух операндов больше или равна 1). Знак «&» на схеме И является сокращенной записью английского слова and.

Из логических элементов составляются электронные логические схемы, выполняющие более сложные логические операции. Набор логических элементов, состоящий из элементов НЕ, ИЛИ, И, с помощью которых можно построить логическую структуру любой сложности, называется функционально полным.

                                                                                                                                                                                                                                                                              1.3.                                            69

1.3.3. Построение таблиц истинности логических выражений

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

Удобной формой записи при нахождении значений функции является таблица, содержащая, кроме значений переменных и значений функции, также значения промежуточных вычислений. Рассмотрим пример построения таблицы истинности для формулы Х 1 л Х 2 Х 1 v Х 2 v Х 1

 

 

 

X1v X2

х 1 м

 

 

1

1

 

 

1

 

 

1

1

О

О

 

1

 

О

1

о

1

1

1

1

 

1

1

О

О

1

 

 

1

1

1

Если функция принимает значение 1 при всех наборах значений переменных, она является тождественно-истинной; если при всех наборах входных значений функция принимает значение О, она является тождественно-ложной; если набор выходных значений содержит как О, так и 1, функция называется выполнимой. Приведенный выше пример является примером тождественно-истинной функции.

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

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

1. Дизъюнктивно нормальная форма (ДНО) — сумма произведений, образованных из переменных и их отрицаний для ложных значений.

Алгоритм построения ДНФ следующий:

1)     в таблице истинности функции выбирают наборы аргументов, для которых логические формы равны 1 («истина»);

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

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

Пример. Построить функцию, определяющую, что первое число равно второму, используя метод ДНФ. Таблица истинности функции имеет вид

 

 

F(X1, ха

1

1

1

 

1

 

1

 

 

 

 

1

Решение. Выбираем наборы значений аргументов, в которых функция равна 1. Это первая и четвертая строки таблицы (строку заголовка при нумерации не учитываем).

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

Записываем отрицание относительно аргументов выбранных наборов, имеющих ложное значение (четвертая строка таблицы; второй набор в формуле; первый и второй элементы):

ответ: F(X1, Х2) = х 1 л х 1 л Х2 .

2. Конъюнктивно нормальная форма (КНФ) — произведение сумм, образованных из переменных и их отрицаний для истинных значений.

Алгоритм построения КНФ следующий:

1)    в таблице истинности выбирают наборы аргументов, для которых логические формы равны О («ложь»);

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

З) для аргументов, которые являются истинными, в построенной записи проставляют операцию отрицания.

Примеры решения задач

Пример 1. Рассмотрим предыдущий пример, т. е. построим функцию, определяющую, что первое число равно второму, используя метод КНФ. Для заданной функции ее таблица истинности имеет вид

 

 

F(X1, Х2)

1

1

1

 

1

 

1

 

 

 

 

1

Решение. Выбираем наборы значений аргументов, в которых функция равна О. Это вторая и третья строки (строку заголовка при нумерации не учитываем).

Записываем логические суммы аргументов этих наборов, объединив их логическим произведением:

„х 1мх2лх1мх2

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

Таким образом, получена запись логической функции в КНФ.

ответ: х 1 м Х2 л х 1 м Х2 .

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

     х 1 л м х 1 лх2 .

Пример 2. Построить логическую функцию для заданной таблицы истинности:

 

 

F(X1, ха

1

1

1

1

 

 

 

1

1

0

 

 

Решение. Используем алгоритм ДНФ для построения исходной функции:

 

 

F(X1, ха

 

 

1

1

1

 

1

 

 

 

 

 

1

1

 

 

 

 

 

 

                                                                                                                                                                                  1 З.                            71


Искомая формула: XIAX2 v х 1лх2.

Ее можно упростить: х 1 л х2 х 1 л х2=х2л (х 1 м х 1) = х 2 л 1 = х 2 .

Пример З. Для приведенной таблицы истинности построить логическую функцию, используя метод ДНФ.

 

 

 

F(X1, ха Х3)

 

 

1

1

1

1

 

 

1

 

1

 

 

 

1

1

1

 

 

 

 

1

 

 

 

1

1

 

1

 

 

1

 

 

1

 

 

 

1

О

 

 

 

 

 

 

 

 

 

Искомая формула:

                       х 1   л х м х 1 л х 2 лхз х 1 лхз U х 1 л х 2 л хз .

Формула достаточно громоздка, и ее следует упростить:

                         Х 1         ЛХЗ х 1лХ2лхз х 1лХ2лхз х1лх2 ЛХЗ

                    Х2 лхз     х 1) м х 1 л хз     ха = л хз м х 1 л хз .

Таблицы истинности для решения логических задач

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

Примеры решения задач

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

Решение. Очевидно, что результатом решения будет таблица, в которой искомая функция У(Х 1, Х 2, ХЗ) будет иметь значение «истина», если какие-либо две переменные имеют значение

« истина» .

 

 

 

У(Х1, ха х3)

1

1

1

 

1

1

 

1

1

 

1

1

1

 

 

 

 

1

1

1

 

1

 

 

 

 

1

 

 

 

 

 

Пример 2. Составить расписание уроков на день, учитывая, что урок информатики может быть только первым или вторым, урок математики первым или третьим, а физики вторым или третьим. Возможно ли составить расписание, удовлетворив всем требованиям? Сколько существуег вариантов расписания?

п

Решение. Задача легко решается, если составить соответствующую таблицу:

 

2-й урок

3-й урок

Информатика

1

1

 

Математика

1

 

1

Физика

 

1

1

Из таблицы видно, что существуют два варианта искомого расписания: 1) математика, информатика, физика; 2) информатика, физика, математика.

Пример З. В спортивный лагерь приехали трое друзей — Петр, Борис и Алексей. Каждый из них увлекается двумя видами спорта. Известно, что таких видов спорта шесть: футбол, хоккей, лыжи, плавание, теннис, бадминтон. Также известно, что:

1)  Борис    самый старший;

2)  играющий в футбол младше играющего в хоккей;

З) играющие в футбол и хоккей и Петр живут в одном доме;

4) когда между лыжником и теннисистом возникает ссора, Борис мирит их; 5) Петр не умеет играть ни в теннис, ни в бадминтон.

Какими видами спорта увлекается каждый из мальчиков?

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

Так как видов спорта шесть, получается, что все мальчики увлекаются разными видами спорта. Из условия 4 следует, что Борис не увлекается ни лыжами, ни теннисом, а из условий З и 5, что Петр не умеет играть в футбол, хоккей, теннис и бадминтон. Следовательно, любимые виды спорта Петра — лыжи и плавание. Занесем это в таблицу, а оставшиеся клетки столбцов «Лыжи» и «Плавание» заполним нулями.

 

футбол

Хоккей

Лыжи

Плавание

Бадминтон

Теннис

 

 

 

1

1

 

 

Борис

 

 

 

 

 

 

Алексей

 

 

 

 

 

 

Из таблицы видно, что в теннис может играть только Алексей.

Из условий 1 и 2 следует, что Борис не футболист. Таким образом, в футбол играет Алексей. Продолжим заполнять таблицу. Внесем в пустые ячейки строки «Алексей» нули.

 

Футбол

Хоккей

Лыжи

Плавание

Бадминтон

Теннис

 

 

 

1

1

 

 

Борис

 

 

 

 

 

 

Алексей

1

 

 

 

 

1

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

 

Футбол

Хоккей

Лыжи

Плавание

Бадминтон

Теннис

 

 

 

1

1

О

 

Борис

 

1

 

 

1

 

Алексей

1

 

 

 

 

1

Ответ: Петр увлекается лыжами и плаванием, Борис играет в хоккей и бадминтон, а Алексей занимается футболом и теннисом.

                                                                                                                                                                                                                                                                           1.3.                                             в

Примеры заданий ЕГЭ к разделу 1 .3

«основы логики»

часть 1

Какую логическую операцию определяет правило: если хотя бы одно из высказываний ложно, тогда и все высказывание ложно? 1) конъюнкцию (логическое умножение)

2) дизъюнкцию (логическое сложение)

З) отрицание

4) эквивалентность

Запишите логическую формулу для данного высказывания: «Если через медную проволоку пропустить электрический ток (высказывание А), то проволока нагреется (высказывание В)».

Если А — утверждение «Треугольник А прямоугольный», а В — «Треугольник А равнобедренный», то какое высказывание выражается формулой

1)   «Треугольник А прямоугольный и равнобедренный»

2)   «Если треугольник А прямоугольный, то он и равнобедренный» З) «Треугольник А не прямоугольный или не равнобедренный»

4) «Треугольник А не прямоугольный и не равнобедренный»

В корзине лежат фрукты: 20 яблок, остальные — груши и персики. Сколько в корзине может быть плодов (яблок, груш и персиков), если истинно следующее высказывание: «Груш не больше, чем яблок» и «Груш не меньше 15» и «Персиков больше, чем груш, но меньше, чем яблок»?

В ответе следует указать возможное минимальное и максимальное количество фруктов в корзине.

                                       1) (51, 59)                2) (50, 60)               3) (50,61)                 4) (53, 58)

(х < 10) „(х 9) л (х < З) в истину?

(х < 10) л (х >= 8) —» -л(х 9) в ложь?

Дано логическое выражение А л В л ((Х < 1) л (Х >= 0)) v (Х = З) . Укажите, при каком наборе переменных А, В, Х данное выражение истинно. истина; В = истина; Х = 1

— истина; В = ложь; Х = 5 ложь; В = ложь; Х = 1


А8. Применяя законы алгебры логики, упростите логическое выражение В А л (В л А) и выберите правильный ответ. 2) ложь

паю

 

А9. Укажите, какое логическое выражение равносильно выражению

                                          2) истина                  3) А л ВАС

А 10. Три друга — Андрей, Сергей и Дмитрий живут в одном трехэтажном доме, но на разных этажах. У каждого из мальчиков есть хобби: один из них заядлый театрал, другой занимается велосипедным спортом, а третий увлекается шахматами. Известно, что:

1.     Андрей живет не на первом этаже, а Дмитрий — не на втором.

2.     Тот, кто живет на первом этаже, не играет в шахматы.

З. Тот, кто живет на втором этаже, заядлый театрал.

4. Дмитрий совсем не умеет кататься на велосипеде.

На каком этаже живет Сергей и чем он увлекается?

1)  Сергей живет на первом этаже и увлекается шахматами

2)  Сергей живет на первом этаже и увлекается велосипедным спортом

З) Сергей живет на втором этаже и увлекается шахматами

4) Сергей живет на втором этаже и увлекается театром

А 11. Символом Е- обозначено одно из указанных ниже логических выражений от трех аргументов: А, В, С. Дан фрагмент таблицы истинности выражения Р:

 

в

 

 

1

1

1

 

1

1

 

 

1

 

1

 

Какое выражение соответствует Р?

А 12. Какое из логических выражений принимает значение «истина» тогда и только тогда, когда точка с координатами (х; у) принадлежит указанной области D (границы, указанные пунктиром, области не принадлежат)?

1

                                                                                                                                  О                                            х.

-1)

                                                                                                                                                                                                                                                                        Примеры заданий ЕГЭ                 75

1 А. Моделирование и компьютерный эксперимент

1.4.1. Общая структура деятельности по созданию компьютерных моделей

Объект (лат. objectum — предмет) это некоторая часть окружающего мира, рассматриваемая как единое целое. Все, что человек изучает, использует, производит, является объектом. Каждый объект имеет имя, что позволяет отличить один объект от другого (например, стол, атом, город Москва, ураган Катрин и т. п.). Конкретизировать объект можно с помощью параметров. Параметры — это признаки, которые характеризуют какое-либо свойство объекта. Они могут быть количественные (рост, вес, возраст, размер и т. п.) и качественные (форма, материал, цвет, запах, вкус и т. п.). Очень часто можно наблюдать смену состояний объекта в течение времени и, как результат, изменение параметров объекта. Говорят, что происходит некоторый процесс. Переход объекта из одного состояния в другое происходит при воздействии на него других объектов.

Модель (лат. modulus мера; франц. modele образец) искусственно созданный объект в виде схем, чертежей, логико-математических знаковых формул, компьютерной программы, физической конструкции, который, будучи аналогичен (подобен, сходен) исследуемому объекту (явлению, процессу, устройству, сооружению, механизму, конструкции), отображает и воспроизводит в более простом, уменьшенном виде структуру, свойства, взаимосвязи и отношения между элементами исследуемого объекта, непосредственное изучение которого связано с какими-либо трудностями, большими затратами средств и энергии или просто недоступно, и тем самым облегчает процесс изучения информации об интересующем нас предмете.

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

Моделирование это исследование каких-либо объектов (конкретных или абстрактных) на моделях. Объектом моделирования может быть объект, явление или процесс.

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

Человек постоянно занимается моделированием, поскольку модели, упрощая объекты и явления, помогают человеку понять реальный мир. Более того, любая наука начинается с разработки простых и адекватных моделей.

Кроме материальных (предметных) моделей (игрушки, глобуса, макета дома...), существуют нематериальные — абстрактные модели: описания, формулы, изображения, схемы, чертежи, графики и т. д. С помощью математических формул описываются, например, арифметические операции, соотношения геометрии, законы движения и взаимодействия тел (S = Vt, F = та) и многое другое. Химические формулы помогают представить молекулярный состав химических веществ и реакции, в которые они вступают. Пользуясь таблицами, графиками, диаграммами можно отображать различные закономерности и зависимости реального мира.

Все абстрактные модели не имеют физического воплощения. Абстрактные модели, которые можно представить с помощью набора знаков (геометрических фигур, символов, фрагментов текста), это знаковые модели. Любую знаковую модель можно изобразить на бумаге. Чтобы построить знаковую модель, нужно представлять значение знаков и знать правила их преобразования. Абстрактная модель, прежде чем оформиться в виде знаковой модели, сначала рождается в голове человека. Она может передаваться человека к человеку в устной форме. В таких случаях модель еще не является знаковым образом, поскольку не имеет вида чертежа, формулы, текста. Модель в голове человека существует в форме мысленных представлений (мысленная модель). Модели, полученные в результате умозаключений, называются вербальными (лат. verbalis — устный). Вербальными называются также модели, изложенные в разговорной форме. Таким образом, все абстрактные модели можно разделить на знаковые и вербальные (рис. 1.22).

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

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

Компьютерные модели обычно различают по программному обеспечению, которое применяется при создании и работе с моделью. Для обработки компьютерных моделей используются существующие программные приложения (математические пакеты, электронные таблицы, графические редакторы и т. д.) либо разрабатываются оригинальные программы с помощью языков программирования (Basic, Pascal, Delpi, С++ и др.).

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

этапы СОЗ№НИЯ модели

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

Моделирование, в том числе компьютерное, начинается с постановки задачи. На этом этапе формулируется задача и требования, которые предъявляются к решению. Постановка задачи заключается, прежде всего, в ее описании. Задача может быть описана на обыденном языке например, в форме вопроса «что будет, если... ? » или «как сделать, чтобы... ? ». Математическую задачу описывают с помощью формул и знаков, а инженерная, экономическая задача может быть описана с помощью различных схем, графиков.

При постановке задачи нужно отразить (или хотя бы понять) цель или мотив создания модели. Одни модели создаются, чтобы разобраться в устройстве или составе того или иного объекта. Другие модели направлены на изучение возможностей управления объектом. Третьи модели ставят целью предсказать поведение объекта (задачи прогнозирования). На этапе постановки задачи полезным оказывается предварительный анализ объекта. Разложение объекта на составляющие, выяснение связей между ними позволяет уточнить постановку задачи.

За постановкой задачи следует этап разработки модели. На этом этапе необходимо выделить существенные факторы, т. е. выяснить основные свойства описываемого объекта, правильно определить связи между ними и с другими объектами окружающего мира. Анализ информации, по возможности, должен быть разносторонним и полным. Те факторы, которые оказались несущественными, могут быть отброшены.

1.3.

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

При разработке компьютерной модели весьма существенным будет выбор программного обеспечения, с помощью которого выполняется моделирование. Программное обеспечение должно позволять эффективно решать задачи, подобные той, которая рассматривается. Например, для создания рисунка на компьютере нужно выбрать тот или иной графический редактор (какой именно — зависит от требуемого формата файла и приемов, которые необходимо применять при рисовании). Чтобы решить систему уравнений, нужно воспользоваться языками программирования Basic, Pascal или каким-либо другим или же использовать для решения математические пакеты. Программная среда должна соответствовать поставленной задаче — только в этом случае задача может быть успешно решена. Выбор программного обеспечения и составление алгоритма это взаимосвязанные действия. Возможно, что для решения поставленной задачи придется разработать собственную компьютерную программу.

Когда модель разработана, можно приступать к наиболее интересному этапу — компьютерным экспериментам. В ходе этих экспериментов проверяется работа модели, а также выполняются необходимые расчеты или преобразования, ради которых и создавалась модель.

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

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

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

Этапы компьютерного моделирования можно представить в виде таблицы.

1. ПОСТАНОВКА ЗАДАЧИ

Описание

Мотивация

Предварительный анализ

2. РАЗРАБОТКА МОДЕЛИ

Выделение существенных факторов

Составление алгоритма

Выбор программного обеспечения

Программирование

З. КОМПЬЮТЕРНЫЙ ЭКСПЕРИМЕНТ

Тестирование модели

Отладка модели

Расчет модели при различных входных данных

4. АНАЛИЗ РЕЗУЛЬТАТОВ

1.4.2. Представление и считывание данных в разных типах информационных моделей (схемы, карты, таблицы, графики и формулы)

Многообразие объектов предполагает использование огромного количества инструментов для реализации и описания этих моделей. Для исследования большинства объектов не обязательно создавать материальные модели. Если ясно представлять цель исследования, то часто достаточно иметь нужную информацию и представить ее в оптимальной форме. В этом случае речь идет о создании информационной модели. Информационные модели — это абстрактные модели, поскольку, как известно, информация это нематериальная категория.

Информационная модель — это целенаправленно отобранная информация об объекте, представленная в некоторой форме.

Простейшими примерами информационных моделей являются различные загадки, в которых описываются свойства, по которым нужно угадать название объекта («Летом серый, зимой белый»; «Зимой и летом одним цветом»). К информационным моделям можно отнести тексты справочных изданий, энциклопедий.

Формы представления информационных моделей могут быть различными. Наиболее известны следующие формы:  в виде сигналов;  устная, словесная;  символьная (числа, текст, символы);  табличная;  схемы, карты;  графики.

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

Пример 1. Таблица стоимости перевозок между станциями А, В, С, D, Е построена следующим образом: числа, стоящие в ячейках на пересечении строк и столбцов, означают стоимость проезда между соответствующими соседними станциями. Стоимость проезда по маршруту складывается из стоимостей проезда между соответствующими соседними станциями. Если на пересечении строки и столбца пусто, то станции не являются соседними. Выбрать таблицу, для которой выполняется условие: «Минимальная стоимость проезда из А в В не больше 6».

         1)                                                 2)

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

з

1

 

 

 

 

4

 

 

в

 

 

4

 

 

в

 

 

4

 

1

с

з

4

 

 

 

2

2

с

3

4

 

 

 

2

 

 

 

 

 

 

 

D

1

 

 

 

 

D

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Е

1

 

2

 

 

 

 

 

 

 

 

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

Рассмотрим первую таблицу. Выберем все возможные варианты проезда из А в В и соответственно подсчитаем стоимости:

АС(З) + СВ(4); АС(З) + CE(2) + ЕВ(2)

Примечание. В скобках указана стоимость проезда.

Стоимость, как первого, так и второго варианта маршрута равна 7. Аналогично поступим для второй таблицы:

АС(З) + СВ(4); АЕ(1) + ЕС(2) + СВ(4).

Как и в случае с предыдущей таблицей, стоимость как первого, так и второго варианта маршрута равна 7.

Выписываем все варианты для третьей таблицы:

AC(3) + СВ(4); AC(3) + CE(2) + ЕВ(1).

Стоимость последнего варианта маршрута равна 6.

Ответ: таблица номер З содержит маршрут из А в В, стоимость которого не превышает 6.

                                                                                                                                                                                    1 З.                                79

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

 

 

 

 

 

 

 

 

 

4

 

 

в

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение. Отметим точку А, она должна быть соединена с С и 1). Отмечаем точки С и D и соединяем их с точкой А дугами; над каждой дугой указываем стоимость проезда. Точка С должна быть соединена, кроме А, с точками В и Е. Точка D является соседней только с А. Точка В должна быть соединена, кроме С, с точкой Е. В результате можно получить следующую схему (рис. 1.23):

с

Ав

Рис. 1.23

1.4.3. Математические МОДеЛИ (графики, исследование функций)

Знаковые модели принято делить на математические и информационные.

Математическая модель это знаковая модель, сформулированная на языке математики и логики. Это система математических соотношений — формул, уравнений, неравенств, графиков и т. д., отображающих связи различных параметров объекта, системы объектов, процесса или явления.

Над элементами математической модели можно выполнять определенные математические преобразования. Например, в модели нахождения наименьшего числа выполняются операции сравнения, а в модели вычисления корня уравнения различные арифметические операции. С помощью математических моделей описываются решения различных инженерных задач, многие физические процессы (движение планет, автомобиля и т. п.); технологические процессы (сварка, плавление металла и т. п.). Графики, таблицы, диаграммы позволяют отображать различные закономерности и зависимости реального мира. Например, модель развития эпидемии можно описать как с помощью формул, так и с помощью графика. Полет снаряда, выпущенного из орудия, можно математически смоделировать с помощью известных формул движения, затем построить график движения снаряда — баллистическую кривую, которая отображает реальный полет снаряда. Математически изменяя параметры снаряда или характеристики движения, можно изучать, например, вопросы увеличения дальности или высоты полета и т. п.

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

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

 уменьшить количество участников эксперимента;  повысить точность и достоверность эксперимента, а следовательно, увеличить контроль;  за счет средств графической визуализации, например анимации, получить реальную «картинку»;  повысить качество и информативность эксперимента за счет увеличения числа контролируемых параметров и более точной обработки данных. На экране компьютера возможно, например, формирование целой системы приборов, которые будут отслеживать изменение параметров объекта.

1.4.4. Построение и использование информационных моделей реальных процессов (физических, химических, биологических, экономических)

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

Компьютерное моделирование используется также при описании и расчете экспериментов, которые выполнять в реальности не следует. Это, например, модели ядерного взрыва, пожара на предприятии, столкновения на железной дороге, военных действий и т. д. С помощью компьютерных моделей можно с достаточной точностью описать детали этих катастроф и спрогнозировать последствия.

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

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

Физика

Моделирование движения на плоскости и в пространстве, моделирование различного вида колебаний, процесса расщепления атомного ядра; моделирование работы двигателя, турбины и т. п.; моделирование магнитных, электрических явлений и т. д.

Химия

Моделирование строения молекул; моделирование процесса взаимодействия веществ; моделирование отдельных этапов химического производства; моделирование процессов нагревания или остывания различных тел и т. п.

Биология

Моделирование развития биологического объекта в зависимости от условий (например, климатических); моделирование побочных действий лекарственных препаратов; моделирование процесса распространения эпидемий; моделирование при решении задач генетики; различные модели изменения численности популяций и т. д.

Экономика

Моделирование работы предприятия, банка, отрасли экономики или экономики в целом; моделирование процесса миграции трудовых ресурсов, кризисных

явлений в экономике и т. д.

                                                                                                                                                                                 1 З.                            81


Примеры заданий ЕГЭ к разделу 1 .4.

«Моделирование и компьютерный эксперимент»

часть 1

Выберите ряд, который содержит только знаковые модели.

1)     гербарий, глобус, карта звездного неба, макет дома, химическая формула, фотография

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

З) карта звездного неба, чертеж дома, формула молекулы воды, фотография, план города, чертеж двигателя, музыкальная партитура

4) карта звездного неба, чертеж дома, формула молекулы воды, фотография, план города, музыкальная партитура; тренажер для водителя автомобиля

А2. Укажите, в чем различие между этапом тестирования и отладкой программы 1) Тестирование и отладка это одно и то же.

2) Отладка это испытание, проверка правильности работы программы, а тестирование — процесс поиска и устранения ошибок.

З) Отладка программы это проверка работы программы при различных входных данных, а тестирование — это проверка работоспособности и поиск причин возникающих ошибок.

4) Тестирование — это испытание, проверка работы программы. Тестирова-

и устранения ошибок. Отладка выясняет причину появления ошибок.

АЗ. Даны четыре таблицы перевозок, где на пересечении соответствующих строк

вариант таблицы.

1)

2)

А4. Дана таблица стоимости перевозок между станциями А, В, С, 1), Е. Она стро-

пара ится по правилу: числа, которые стоят на пересечении соответствующих строк и столбцов, означают стоимость проезда между соседними станциями. Укажи- те таблицу, в которой есть маршрут, для которого выполняется условие: «Минимальная стоимость проезда между станциями А и С не больше 8».

А5. Дана таблица стоимости перевозок между станциями А, В, С, 1), Е. Она строится по правилу: числа, которые стоят на пересечении соответствующих строк и столбцов, означают стоимость проезда между соседними станциями. Укажи- те правильно записаный маршрут из пункта А, для которого стоимость про- езда максимальна.

Маршрут записывается как АВ + ВС + СЕ; маршрут не должен быть круговым или иметь петли, т. е. записи АВ + ВС + СА или АВ + ВС + СВ недопустимы.

1)    АЕ + ЕС + CD           3) АЕ + ЕС + CD + ОС

2)    АВ + ВС + CD           4) АВ + ВС + CD + ПЕ

Аб. Укажите схемы, которые можно представить одной и той же таблицей.

Примеры заданий ЕГЭ

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

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

Табличная модель на пересечении строк и столбцов должна содержать стоимость перевозки между соседними стан-

ЦИЯМИ.

 

I четверть

П четверть

III четверть

IV четверть

«отлично»

 

135

298

253

« хорошо »

236

337

 

234

« удовлетворительно »

330

400

356

123

« неудовлетворительно »

200

 

231

322

А9. Дана табличная модель успеваемости школьного класса. В таблице указано общее количество по каждой из оценок в соответствующей четверти. Выберите графическую модель для заданной таблицы.

Итоговая ведомость успеваемости

1)                                                                                                                               450

400

I четверть

П четверть

III  четверть

IV четверть

«отлично»

«хорошо»

«удовлетворительно»

«неудовлетворительно»

3)

«отлично»

«хорошо»

«удовлетворительно»

«неудовлетворительно»

«отлично»

«хорошо»

«неудовлетворительно»

Примеры заданий ЕГЭ


А 10. Дана математическая формула ((с + d)*b + а). Укажите правильную графическую схему вычислений по заданной формуле. 1)3)

2)                                                                                                                               4)

а

А 11. Между населенными пунктами Рыбачье, Лучистое и Дивное курсируют рейсовые автобусы. В таблицах приведены расписания автобусов для каждого из пунктов. Турист оказался в пункте Рыбачье в полдень (12.00). Определите самое раннее время, когда он сможет попасть в Лучистое.

Расписание движения автобусов от станции Рыбачье

Станция назначения

Время отправления

Время прибытия

Дивное

8.00

10.40

 

13.30

16.10

Лучистое

10.05

11.35

17.30

19.00

Расписание движения автобусов от станции Лучистое

Станция назначения

Время отправления

Время прибытия

Дивное

8.00

9.00

15.30

16.30

Рыбачье

12.05

13.35

Расписание движения автобусов от станции Дивное

Станция назначения

Время отправления

Время прибытия

Лучистое

10.05

11.05

17.05

18.05

Рыбачье

11.00

13.40

 

19.45

                                              1) 19.00                   2) 11.35                   3) 18.05                    4) 16.30

Станция отправления

Станция назначения

Время отправления

Время прибытия

Береговое

Морское

6.50

9.05

Морское

Рыбачье

10.55

13.05

Рыбачье

Морское

12.15

14.00

Раздольное

Береговое

12.45

14.55

Береговое

Рыбачье

13.15

17.05

Морское

Береговое

 

16.10

Береговое

Раздольное

14.05

15.00

Рыбачье

Береговое

14.10

17.55

Раздольное

Рыбачье

15.10

16.25

Рыбачье

Раздольное

16.00

17.45

А 12. Приведен фрагмент расписания автобусного сообщения между населенными пунктами Береговое, Морское, Рыбачье, Раздольное:

Определите самое раннее время, когда турист попадет из населенного пункта Береговое в населенный пункт Рыбачье, если он оказался в Береговом в десять часов утра (10.00).

          1) 17.45                   2) 17.05                   3) 16.25                    4) 13.05

1 .5. Социальная информатика

1.5.1. История развития вычислительной техники

Этапы появления средств и методов обработки информации, вызвавших кардинальные изменения в обществе, определяются как информационные революции.

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

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

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

Четвертая информационная революция (70-е годы ХХ века) — изобретение микропроцессорной технологии и появление персональных компьютеров.

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

Индустриальное общество, пришедшее на смену аграрному, определяется направленностью на производство и потребление товаров, развитие промышленности и ее технической базы. В информоционном обществе средством и продуктом производства станут интеллект и знания, а его материально-технической базой компьютерная техника, информационные технологии, системы телекоммуникационной связи; большинство работающих будет занято производством, хранением, переработкой, продажей информации и ее обменом. Процесс перехода от индустриального общеCTBa к информационному называется информатизацией. «Информатизация это процесс, ври котором создаются условия удовлетворения потребностей любого человека в получении необхоДимой информации» (Закон Российской Федерации «Об информации, информатизации и защите информации» 25.01.1995 г.).

Процесс информатизации общества является базовой составляющей пятой информационной революции.

Хронология создания вычислительных устройств

Устройство

Дата создания

Абак (счетная доска, счеты)

V в. до н.э. - XVIII в. н.э.

Вычислительное устройство Паскаля

1624 г.

Арифмометр Лейбница

конец XVII - начало XVIII в.

Аналитическая машина Беббиджа

1834 г.

Табулятор Холлерита

конец XIX в.

Первая вычислительная машина на электромеханических реле с двоичной кодировкой Z1 Конрада Цузе

1938 г.

Первый компьютер на электронных лампах АВС (Дж. В. Атанасов и К. Берри)

1939 г.

Вычислительная машина на электромагнитных реле Mark-1 (Г. Ейкен)

1939-1944 гг.

Раздел 1. Информационные процессы и системы

Вычислительная машина Colossus-1 с программой, записанной в памяти

начало 1940-х годов

Электронная вычислительная машина ENIAC (Дж. Моучли и П. Еккерт)

1943-1946 гг.

Первый компьютер, в котором реализованы принципы фон Неймана — EDSAC

1949 г.

Электронные вычислительные машины различных поколений

1940-е годы настоящее время

Поколения компьютеров

Поколение

 

Элементная база

Характеристика

I (середина 1940-х конец 1950-х гг.)

 

Электронные лампы

Большие габариты и значительное потребление энергии, малое быстродействие (до 20000 операций в секунду), низкая надежность. Программирование в машинных кодах. Использование перфолент и перфокарт для ввода программ и данных

П (конец 1950-х середина 1960-х гг.)

 

Полупроводниковые элементы

Улучшены технические характеристики (быстродействие увеличено до сотен тысяч операций в секунду; емкость внутренней памяти достигла ЗОО Кбайт). Появились алгоритмические языки и первые операционные системы. Развитие устройств внешней (магнитной) памяти

III (середина 1960-х конец 1970-х гг.)

 

Интегральные схемы, многослойный печатный монтаэк

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

IV (конец 1970-х годов стоящее время)

на-

Микропроцессоры, большие интегральные схемы

Улучшены технические характеристики. Массовый выпуск персональных компьютеров

V (перспективы развития)

 

Машины, основанные на искусственном интеллекте. Голосовое общение, машинное «зрение», машинное «осязание»

                                                                                                                                                                                                                                                           1.5. Социальная информатика                 89

1 .5.2. нормы информационной этики

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

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

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

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

Общение в телеконференциях. Сообщения должны быть краткими и по существу обсуждаемой проблемы; не допускается самореклама; сообщения должны быть адресованы всем собеседникам (для частных писем служит электронная почта); запрещены высказывания расистского характера, оскорбления и некорректные замечания.

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

1 .5.3. Правовые нормы в области информатики

Базовым юридическим документом является Закон Российской Федерации «Об информации,  информатизации и защите информации» (1995 г.). В Законе заложены юридические основы гарантий прав граждан на информацию, обеспечения защиты собственности в сфере информационных технологий, защиты прав и свобод личности от угроз и ущерба, связанных с искажением, порчей и уничтожением «персональной» информации. На основе этого Закона приняты дополнительные нормативные законодательные акты: «Об авторском праве и смежных правах», «О правовой охране программ для ЭВМ и баз данных», «О правовой охране топологии интегральных схем», «Об электронно-цифровой подписи» и т. д.

Авторское право. Основной закон — «О правовой охране программ для ЭВМ и баз данных» (1992 г.). Правовая охрана распространяется на все виды программ для ЭВМ на любом языке и в любой форме, но не распространяется на идеи и принципы, лежащие в ее основе. Авторское право на программы возникает автоматически при их создании и не требует регистрации в какой-либо организации. Для оповещения о своих правах разработчик программы использует знак охраны авторского права при первом выпуске программы в свет: символ (О, наименование правообладателя, год первого выпуска программы. Например, знак охраны авторских прав на операционную систему Windows ХР Professional: С) Корпорация Майкрософт (Microsoft Сот.) 2002; знак охраны авторских прав на драйвер лазерного принтера фирмы Hewlett-Packard: С) 2006 Hewlett-Packard Development Сотрапџ, L.P. Автору принадлежит исключительное право на воспроизведение, - модификацию и распространение программы. Организация или отдельный пользователь может купить лицензию на использование программы. В этом случае они имеют

Раздел 1 . Информационные процессы и системы

право без получения дополнительного разрешения разработчика осуществлять любые действия, связанные с функционированием программы, в том числе ее запись и хранение в памяти ЭВМ (одной!). В случае нелегального копирования и использования лицензионного программного обеспечения нарушитель должен выплатить разработчику компенсацию в определяемой судом сумме от 5000-кратного до 50000-кратного размера минимальной месячной заработной платы.

Электронная подпись. Законодательная основа электронного документооборота в России — закон «Об электронно-цифровой подписи» (2002 г.). По этому закону электронная цифровая подпись в электронном документе признается юридически равнозначной подписи в документе на бумажном носителе. Пользователь может зарегистрировать электронно-цифровую подпись в специализированном центре. При этом он получает два ключа: секретный (известен только самому пользователю) и открытый (рассылается по электронной почте всем потенциальным абонентам). Процесс электронного подписания документа состоит в обработке текста сообщения с помощью секретного ключа. Абонент получает зашифрованное сообщение по электронной почте и для проверки подлинности сообщения и электронной подписи использует открытый ключ.


Тренировочные тестовые задания к разделу 1 «Информационные гроцессы и системы»

часть 1

Считая, что каждый символ кодируется одним байтом, оцените информационный объем следующего предложения:

В одном килобайте 1024 байта.

1)  200 битов

2)  232 бита

З) 192 бита

4) 25 байтов

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

1)   зо

2)   60

3)   120

4)   90

АЗ. Световое табло состоит из лампочек, каждая из которых может находиться в одном из трех состояний («включено», «выключено», «мигает»). Какое наименьшее количество лампочек должно находиться на табло, чтобы с его помощью можно было передать 150 различных сигналов? 1) 150

2) 50

М. Сколько единиц содержится в двоичной записи десятичного числа 199?

М. Дано: а = , Ь = 3468 . Какое из чисел с, записанных в двоичной системе, удовлетворяет условию а < с < Ь ? 1) 11011011

2)   10111011

3)   11000011

4)   11101110

Аб. Вычислите сумму чисел х и у, если х = , у =Результат представьте в восьмеричной системе счисления. 1) 2008

2)   2438

3)   2348

М. Скорость передачи данных через  равна 32 Кбит/с. Передача файла через данное соединение заняла 2 мин. Определите размер файла в килобайтах.

2)   480

3)   512

4)   240

А8. Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. Для исполнителя существуют три команды: Вп п — Черепашка продвигается в направлении головы на п шагов; пр т поворачивается направо на т градусов относительно направления, заданного головой Черепашки; поворачивается налево на т градусов относительно направления, заданного головой Черепашки. п, т — целые числа.

Запись Повтори 5 [Команда 1 Команда21 означает, что последовательность команд в скобках повторится 5 раз.

Черепашке был дан для исполнения следующий алгоритм:

Повтори 6 [лв 45 вп п пр 90 вп п лв 45]

Какая фигура появится на экране, если п = 60?

1)     квадрат со стороной 60, разделенный диагоналями

2)     зигзагообразная ломаная с шестью зубцами; отрезок ломанной имеет длину 60

З) квадрат со стороной 120, разделенный на четыре маленьких квадрата

4) зигзагообразная замкнутая ломаная с шестью зубцами; отрезок ломаной имеет длину 60

А9. Для составления слов используются карточки с буквами А, М, В, Д, О, К, Е. На первом месте в слове стоит одна из букв Д, Е, К. На втором любая гласная (карточки с буквами А, О, Е), если первая буква согласная, и любая согласная (карточки с буквами М, В, Д, К), если первая гласная. На третьем месте одна из букв М, Д, Е, не стоящая в слове на первом месте. Какие из перечисленных слов удовлетворяют этому правилу? 1) ЕВА

2)   дом

3)   ЕДА

4)   МЕД

5)   ДЕД

6)   код

7)   КЕД

8)   ком

А 10. U1, U2 обозначают некоторые условия, а S1, S2, S3, S4 — операторы. Укажите логическое выражение, при котором будет выполняться оператор S3.

                 истина и U2 = ложь                              — истина.

          3) r..12 = истина                                         4) U 1 = истина или U 1 = ложь

А 11. Определите значение переменной С после выполнения фрагмента алгоритма.

Примечание. Знаком «:=» обозначена операция присваивания.

           1) 32                                                         3) зо

А 12. Укажите, каким циклом составляется следующая последовательность из п = 8 элементов:

[4, -6, 8, -10, 12, -14, 16, -18].

1)     ни, для i от 1 до п   З) ни, для i от 1 до п

A[i] кц  кц

2)     ни, для i от 1 до п   4) нц для i от 2 до п

                кц                                                              кц

           Примечание. Знаком           обозначена операция возведения в степень.

А 13. Значения двумерного массива размера 7 х 7 задаются с помощью вложенного оператора цикла в представленном фрагменте программы:

ни, для п от 1 до 7 нц для К от 1 до 7

если п >= К то В[п, К] п иначе В[п, К] := О всё кц кц

Сколько элементов массива будут иметь нулевое значение?

     2) 28                        3) 64                         4) 32

А 14. При каких значениях переменных Х 1 и Х2 логическое высказывание

принимает значение «истина» ? 1) х 1 = о; х2 = 2

А 15. Применяя законы алгебры логики, упростите логическое выражение

А 16. Символом F обозначено одно из приведенных ниже логических выражений от трех аргументов: А, В, С. Используя фрагмент таблицы истинности, определите, какое выражение соответствует 1'

 

в

 

 

 

1

1

1

1

1

 

 

1

 

1

1

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

Табличная модель на пересечении строк и столбцов должна содержать стоимость перевозок между соседними станциями.

 

Тип дороги

(обозначение)

Стоимость РУб/км

асфальт

(сплошная линия)

20 руб/км

грунтовая

(пунктирная линия)

25 руб/км

D

95

 

 

 

С

D

Е

 

 

 

175

200

 

240

в

175

 

 

200

160

 

с

200

200

 

 

150

100

 

 

160

150

 

 

 

Е

240

 

100

 

 

 

 

 

 

с

D

Е

 

 

 

150

200

 

240

в

150

 

 

200

160

 

с

200

 

 

 

175

100

 

 

 

175

 

 

 

Е

240

 

100

 

 

1)                                                                                                                            3)

 

 

 

С

D

Е

 

 

 

150

200

 

240

в

150

 

 

200

160

 

с

200

200

 

 

175

100

 

 

160

175

 

 

 

Е

240

 

100

 

 

 

 

 

С

D

 

Е

 

 

 

175

200

 

 

240

в

175

 

 

200

160

 

 

с

200

200

 

 

150

 

 

D

 

160

150

 

 

 

 

Е

240

 

 

 

 

 

2)                                                                                                                                   4)        


А 18. Приведен фрагмент расписания автобусного сообщения между населенными пунктами, Арсеньево, Таежная, Солнцево и Сосновка.

Станция отправления

Станция назначения

Время отправления

Время прибытия

Арсеньево

Таежная

8.00

10.15

Солнцево

Сосновка

10.05

11.50

Таежная

Солнцево

11.05

14.15

Сосновка

Таежное

12.05

13.15

Солнцево

Таежная

13.25

15.10

Сосновка

Арсеньево

13.55

16.05

Арсеньево

Солнцево

14.25

18.05

Таежная

Арсеньево

14.55

17.20

Солнцево

Арсеньево

15.20

19.05

Солнцево

Сосновка

17.10

18.55

Арсеньево

Сосновка

19.15

21.10

Сосновка

Солнцево

21.20

23.35

Определите самое раннее время, когда турист может попасть из населенного пункта Солнцево в населенный пункт Арсеньево, если он оказался в Солнцево в 10 часов утра (10.00).

           1) 19.05                        2) 14.15              3) 16.05                    4) 17.20

часть 2

Ответом к заданиям В1—В1О является набор символов, которые следует записать справа от номера соответствующего задания.

В1. Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 15 оканчивается на З.

В2. В системе счисления с некоторым основанием число 15 записывается в виде 120. Указать это основание.

ВЗ. Укажите через запятую в порядке возрастания все числа, не превосходящие 32, запись которых в двоичной системе счисления оканчивается на 110. Ответ запишите в десятичной системе счисления.

В4. Модем передает информацию со скоростью 32000 бит/с. Сколько минут потребуется модему для передачи цветного растрового изображения размером 800 х 600 пикселей, если цвет каждого пикселя кодируется тремя байтами?

В5. Три человека играют в игру, в которой один выигрывает, а другие два проигрывают. Каждый проигравший дает выигравшему столько фишек, сколько было у выигравшего в начале игры. Были сыграны три игры, каждый игрок выиграл один раз — у 1-го игрока оказалось 4 фишки, у 2-го — 20 фишек, у 3-го 6 фишек. Сколько фишек было у каждого игрока в начале игры? Ответ записать в виде последовательности цифр, через запятую, начиная с количества фишек первого игрока.

Вб. Определите значение целочисленной переменной А после выполнения фрагмента программы:

А 62 в 15 А := div(A, В)

В mod(B - А, 2) * 10

А := div(B, А) + mod(B, А)

Примечания:

1)div(X, У) — стандартная функция, которая возвращает результат деления нацело первого аргумента на второй;

2)mod(X, У) — стандартная функция, которая возвращает целый остаток от деления нацело первого аргумента на второй.

В7. Правило формирования последовательности задано программой, записанной на школьном алгоритмическом языке (АЯ), при этом часть программы утеряна (вместо ее изображены точки):

алг последовательность (арг цел А, В, С) нач цел К

ни, для К от О до З вывод С,

кц кон

В результате выполнения алгоритма получена последовательность —1, О,

Какое значение будет иметь следующий за элементом —4 член последовательности?

97

В8. Для какого минимального целого положительного значения числа Х истинно высказывание «Х < 7) (Х < «Х < 2) (Х * Х > 14))?

В9. Для заданной таблицы истинности постройте логическое выражение.

вт. В соревнованиях по стрельбе участвовали Сергей, Иван, Александр и Тарас. Их друзья предположили, как распределятся места в соревновании: первым будет Александр, Иван будет вторым; вторым будет Александр, Тарас будет третьим; вторым будет Сергей, Тарас будет четвертым.

После завершения соревнований оказалось, что в каждой гипотезе одно из высказываний истинно, а другое ложно. Какое место занял каждый из участников, если все они заняли разные места?

Ответ запишите в виде последовательности первых букв имен. Например, если 1 — Сергей, 2 — Иван, З — Александр и 4 — Тарас, то ответ — СИАТ.

часть 3

(Л. В конце XIX века была распространена игра под названием «Ханойские башни». Легенды говорят, что в эту игру играли вьетнамские брахманы. Для игры использовалась медная платформа, на которой были укреплены три алмазные иглы. На иглы насаживались золотые диски кольца. Цель игры перенести башню с левой иглы на правую, причем за один раз можно переносить только одно кольцо и при этом можно насаживать только кольцо с меньшим диаметром на кольцо с большим диаметром. Опишите алгоритм переноса башни из трех дисков с левого конца платформы на правое. При описании алгоритма используйте для стержней термины исходный, вспомогательный и конечный; для дисков большой, средний, маленький.

С2. Два игрока играют в следующую игру. Перед ними лежат две кучки камней, в первой из которых З, а во второй — 4 камня. У каждого игрока неограниченно много камней. Игроки ходят по очереди. Ход состоит в том, что игрок или увеличивает в 2 раза число камней в какой-то кучке, или добавляет в кучку З камня. Выигрывает игрок, после хода которого камней в двух кучах становится не менее 19 камней. Кто выигрывает при безошибочной иг-

не должен быть первый ход выигрывающего игрока? Ответ обоснуйте.


СЗ. Идет К-я секунда суток. Опишите на русском языке или одном из языков программирования алгоритм, который позволит определить, сколько часов, минут и секунд осталось до конца суток.

С4. В некоторых видах спорта выступление спортсмена оценивается несколькими судьями. Из общего числа баллов исключается наибольший и наимень- ший баллы, затем вычисляется среднее арифметическое оставшихся баллов, которое и засчитывается как оценка выступления спортсмена. Количество судей равно т. Опишите на русском языке или на одном из языков програм- мирования алгоритм поиска значения оценки выступления спортсмена.

00 и коммуникационные технологии

2.1. Основные устройства информационных и коммуникационных технологий

2.1.1. типы компьютеров, их основные характеристики и области использования. выбор Ню6ХОДИМОГО для данной задачи компьютера

Характеристики основных типов современных компьютеров

Виды компьютеров

Назначение

Быстродействие

(операций за секунду)

Мэйнфреймы

Решение задач, требующих больших объемов вычислений (сложные вычисления в аэродинамике, метеорологии, физике высоких энергий; проведение фундаментальных экспериментов и т. п.)

Сотни триллионов

Средние

Серверы предприятий, банков, учреждений, организаций

Сотни миллиардов

Персональные

Обеспечение потребностей отдельного пользователя

До сотен миллионов

Портативные

Ноутбуки

Обеспечение мобильности пользователя,

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

Десятки миллионов

Карманные

Встроенные

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

От сотен тысяч до десятков миллионов (в зависимости от назначения устройства, в которое они встроены)

Теоретические основы химии

2.1 2. Основные периферийные устройства

К периферийным относятся устройства, предназначенные для ввода или вывода информации: принтеры, клавиатуры, мыши, сканеры и т. д.

Подсоединение периферийных устройств к компьютеру производится через специальные интерфейсы порты ввода / вывода.

По способу переДачи информации порты ввода / вывода подразделяются на:

        послеДовательные информация передается последовательно бит за битом; для передачи информации используется один провод (подключаются мышь, модем);

        параллельные несколько битов информации передается одновременно; для передачи информации используется несколько проводов (подключаются принтеры, сканеры).

В настоящее время эти порты вытесняются шиной USB (Universal Serial Bus универсальная последовательная шина), которая представляет собой последовательный интерфейс передачи данных для средне- и низкоскоростных периферийных устройств. Она рассчитана на подключение до 127 устройств, поддерживает их автоопределение, а также подключение к работающему компьютеру без его перезагрузки.

Устройства ввода информации

Клавиатура. Используется для ввода числовой и текстовой информации. Нажатие клавиши передает процессору код (условный номер) нажатой клавиши, который в зависимости от используемой программы может по-разному интерпретироваться. Поэтому одна и та же клавиатура может использоваться для ввода латинских символов, кириллицы, японских иероглифов. Но для этого нужны соответствующие программы.

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

Сенсорная панель. Используется в портативных компьютерах вместо манипуляторов. Перемещение пальца по ее поверхности преобразуется в перемещение курсора на экране монитора.

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

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

Звуковая карта и микрофон. Микрофон, подключенный ко входу звуковой карты, используется для ввода звуковой информации (звуковая карта имеет также возможность синтезировать звук).

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

Устройства вывода информации

Монитор. Подключается к компьютеру через устройство сопряжения виДеоаДаптер. Может работать в двух режимах: текстовом и графическом.

Текстовый режим используется для вывода символов. Экран разбивается на знакомест5, состоящие из пикселей. В знакомёсте размещается один символ. Часть пикселей используется для изображения символа (передний план), а остальные образуют фон, Для изображения символа

Основные устройства


в текстовом режиме используются 16 цветов, а для изображения фона — 8 цветов. Текущую позицию (знакомёсто, в котором появится следующий введенный с клавиатуры символ) указывает курсор. После вывода символа в этом знакомёсте курсор смещается на одну позицию (знакомёсто) вправо.

Графический режим каждый пиксель экрана используется отдельно. Обычно курсор не выводится. Но в некоторых задачах возможен вывод на экран графического курсора (он отличается по виду от текстового).

Мониторы характеризуются разрешающей способностью экрана максимальным количеством пикселей, используемых для создания изображения. Измеряется как количество точек по горизонтали на количество точек по вертикали. В современных ПК, наиболее часто используют дисплеи с разрешающей способностью 800 х 600, 1024 х 768, 1280 х 1024.

Сегодня в настольных компьютерах используются как электронно-лучевые мониторы, так и жидкокристаллические, а их подключение выполняется через аналоговый или цифровой вход. В ноутбуках и карманных компьютерах применяют плоские ЖК-мониторы.

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

*         матричные изображение формируется из точек ударами иголок по красящей ленте; можно получать сразу несколько копий (при использовании копировальной бумаги); печатающая головка может иметь 9, 18 или 24 иголок;  струйные — вместо иголок печатающие головки содержат тонкие трубочки — сбпла, через которые на бумагу выбрасываются капельки чернил; может быть от 12 до 64 сбпел, диаметр которых тоньше человеческого волоса;  лазерные изображение на бумаге создается с помощью лазерного луча; преимущества: высокое качество и большая скорость печати, водостойкий отпечаток.

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

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

Акустические колонки и наушники. Используются для прослушивания звука.

Модем. Для соединения компьютеров в сеть используются модемы, подключаемые через телефонную линию, или модемы, работающие путем передачи радиосигналов. Модемы преобразуют двоичный код компьютера в аналоговый электрический сигнал телефонной сети или в радиосигнал при передаче информации (модуляция) и производят обратное преобразование во время приема информации (демодуляция). Основной характеристикой модема является скорость передачи информации, которая измеряется в битах в секунду.

2.1.3. Обеспечение надежного функционирования средств информационнокоммуникационных технологий (ИКТ), устранение простейших неисправностей. Требования техники безопасности, гигиены, эргономики и ресурсосбережения при работе со средствами ИКТ

Одним из факторов обеспечения надежного функционирования средств ИКТ является соблюдение норм техники безопасности, гигиены, эргономики и ресурсосбережения при работе со средствами ИКТ. Важно соблюдать гигиенические требования: рабочее место должно быть достаточно освещено, источник естественного или искусственного освещения не должен создавать «бликов» на экране монитора; проводить регулярное проветривание и влажную уборку помещения; делать перерывы через каждый час работы на компьютере; желательно использовать специализированную мебель, которая поможет обеспечить удобную посадку за компьютером и рациональное расположение периферийных устройств; содержать рабочее место в чистоте, не принимать пищу при работе за компьютером, чтобы не засорить и не залить технические устройства. Для гарантирования электробезопасности нужно обеспечить надежное электропитание и заземление; желательно использовать источники бесперебойного питания. Интерфейсные провода и провода электропитания должны быть расположены так, чтобы максимально снизить вероятность их повреждения неосторожными действиями пользователя. Для присоединения периферийных устройств нельзя использовать не приспособленные для этого провода и разъемы; из розеток и разъемов провода следует вынимать за вилку, а не дергать непосредственно сам провод. Ресурсосбережение обеспечивается применением энергосберегающих режимов работы оборудования (например, режим Screen Saver для монитора), а также широким использованием современных компьютерных устройств, разработанных с учетом требований энергосбережения.

2.2. Программные средства информационных и коммуникационных технологий

22.1. Операционная система: назначение и функциональные возможности

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

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

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

Сейчас на ТМ-совместимые компьютеры устанавливаются операционные системы Windows и Linux, а на персональные компьютеры Macintosh — операционная система Мас 0S,

Современные операционные системы имеют сложную структуру, каждый элемент которой выполняет определенные функции по управлению компьютером:  программные моДуљи, управляют файловой системой;  кожанДный процессор — запрашивает у пользователя команды и выполняет их;

*         Драйверы устройств обеспечивают управление работой устройств и согласование информационного обмена с другими устройствами, а также позволяют настраивать некоторые параметры устройств;  программные моДули, создают графический интерфейс;  сервисные программы (утилиты) обслуживают диски, архивируют файлы, обеспечивают работу в сети и т. д.;  справочная система позволяет оперативно получить необходимую информацию о работе самой операционной системы и отдельных ее модулей.

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

*         совместное использование файлов и принтеров при высокой производительности;  эффективное выполнение прикладных программ, ориентированных на архитектуру

« клиент—сервер » ;  дистанционный доступ к сети;  интеграция с Интернетом, т. е. поддержка соответствующих протоколов и программного обеспечения ИТеЬ-сервера;  организация внутренней электронной почты, телеконференций;  доступ к ресурсам территориально-распределенных многосерверных сетей.


2.22. Графический интерфейс

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

Важнейший элемент графического интерфейса — окна. Существуют следующие виды окон: окна папок, окна приложений, окна документов, окна справочной системы. Основными элементами окна являются:  рабочая область;  заголовок окна;  меню управления состоянием окна;  кнопки управления состоянием окна;  меню окна;  панели инструментов;  рамка;  полосы прокрутки.

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

Еще один элемент графического интерфейса — контекстное меню объекта, которое вызывается щелчком правой кнопки мыши. Это небольшое окно, содержащее перечень операций, разрешенных с данным объектом в данном режиме, а также позволяющее ознакомиться со свойствами объекта и при необходимости изменить их.

22.3. Файлы и файловые системы

Вся имеющаяся на компьютере информация хранится в виде файлов. Файл — это упорядоченная, снабженная именем совокупность данных на внешнем носителе, которую операционная система обрабатывает как единое целое. Имя файла состоит из двух частей: собственно имени файла и расширения (типа файла). В различных операционных системах приняты различные форматы имен файлов. В операционной системе MS DOS имя файла может состоять не более чем из восьми символов, а расширение не более чем из трех символов. При этом набор допустимых символов в имени ограничен. В операционной системе Windows имя может иметь длину до 255 символов, содержать символы Unicode, точки и пробелы внутри имени. Для удобства хранения и поиска файлы могут объединяться в папки (каталоги). Папки могут быть вложены друг в друга, образуя многоуровневую древовидную структуру.

Порядок хранения файлов на носителе информации определяется используемой файловой системой.

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

Для операционных систем семейства DOS и ранних версий Windows использовалась файловая система FAT. FAT — таблица размещения файлов, в которой компьютер запоминает адреса записанных файлов. Если надо считать какой-либо файл, то компьютер по его имени находит в FATтаблице его адрес и переводит в нужное место магнитную головку дисковода для его считывания. Если таблица размещения файлов будет повреждена, то информация, имевшаяся на диске, будет утрачена. Физически она там, конечно, останется, но к ней нельзя будет обратиться. Поэтому FAT для надежности дублируется. При любых повреждениях компьютер по копии сам восстанавливает эту таблицу. Адрес файла в таблице FAT16 записывается двухбайтным числом (16 битов), т. е. всего имеется 2 16 разных адресов. Значит, максимальное число файлов на диске 65536.

Современные жесткие диски имеют очень большие объемы, и им не хватает такого количества адресов. В таблице FAT32 адрес записывается четырехбайтным числом. Понятно, что адресов в этом случае больше. В современных версиях операционной системы Windows наиболее часто используется файловая система NTFS, которая позволяет обеспечить разделение доступа к информации, криптографирование файлов и повышение устойчивости к ошибкам. В процессе форматирования диска под систему NTFS записывается таблица адресов файлов — MFT.

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

Форматирование разделяется на низкоуровневое (физическое) и форматирование верхнего уровня (логическое).

При низкоуровневом форматировании диск разбивается на Дорожки концентрические окружности, пронумерованные от края к центру. Внешняя дорожка (нулевая) содержит служебную информацию.

Жесткие диски, для увеличения объема хранящейся информации, состоят из нескольких магнитных дисков, поверхности которых обслуживаются отдельными головками. Но условно считают, что это все же один диск, у которого не две стороны, а 8 или 16. Каждый из таких дисков тоже разбивается на дорожки. Дорожки с одинаковыми номерами называются цилиндром. Запись информации на диск идет по цилиндрам от края (нулевого) к центру.

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

Заголовки секторов записываются во время операции низкоуровневого форматирования сразу для всей дорожки. Стандартный размер поля данных сектора 512 байт.

При форматировании верхнего уровня производятся следующие действия:

*        Область данных диска разбивается на кластеры группы смежных секторов. Кластер это минимальный размер адресуемого пространства. Каждый кластер имеет свой номер. Размер кластера (число секторов) выбирается кратным степени числа 2. Файлу на диске выделяется целое число кластеров, но не меньше одного. Если файл занимает более одного кластера, то все кластеры, занимаемые файлом, организуются в щепочку кластеров.

*        Записывается загрузочный сектор. Он содержит таблицу, описывающую все параметры диска, а также короткую программу, используемую в процедуре начальной загрузки операционной системы. Если диск готовится как системный, то там будет программа загрузки операционной системы. Если нет — там будет программа, которая при попытке загрузки с этого диска операционной системы выведет сообщение, что данный диск не является системным.

*        В зависимости от того, под какую файловую систему форматируется диск, записывается РАТ или МЕТ.

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

Утилита дефрагментации. Длинные файлы занимают несколько кластеров. Если запись производится на незаполненный диск, то кластеры, принадлежащие одному файлу, записываются подряд. Если диск переполнен, на нем может не быть цельной области, достаточной для размещения файла. Но файл все-таки запишется, если на диске много мелких областей, суммарный размер которых достаточен для записи данного файла. В этом случае файл запишется в виде нескольких фрагментов.

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

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

Утилита проверки диска. Программа проверки диска проверяет правильность информации, которая содержится в таблицах распределения файлов, а также осуществляет поиск сбойных блоков диска.

На жестком диске компьютера могут возникать физические дефекты и логические ошибки. Физические ошибки (дефекты) — это нарушения поверхности жесткого диска. Обычно они связаны с естественным износом диска.

               Логические ошибки        это нарушения в файловой структуре.

Один из видов нарушений файловой структуры потерянные кластеры. Это отдельные кластеры, или даже цепочки кластеров, помеченные как занятые, но не принадлежащие ни одному файлу (на них нет ссылки ни из одного элемента каталога). Эти «бесхозные» кластеры уже не могут использоваться операционной системой, они «съедают» доступное дисковое пространство. При обнаружении таких кластеров программы проверки дисков предлагают либо пометить их как свободные кластеры, либо преобразовать в файлы (дать на них ссылку из корневого каталога). Эти файлы иногда содержат ценную информацию, которую можно использовать для восстановления пропавших данных, но чаще их просто удаляют, освобождая место на диске.

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

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

Для того чтобы обратиться к какому-либо файлу, следует указать его полное имя, которое состоит из пути к файлу и имени файла. Путь начинается с имени диска, на котором записан файл, затем ставится двоеточие и обратная косая черта и далее перечисляется последовательность всех имен каталогов, которые необходимо открыть, чтобы получить доступ к файлу.

С помощью специальных программ — файловых менеДжеров над файлами можно производить следующие операции: копирование, перемещение, удаление, переименование. Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность допустимых в именах файлов символов, а также символы «?» и « Символ «?» означает один произвольный символ. Символ « » означает любую последовательность символов произвольной длины (в том числе пустую).

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

В зависимости от используемых алгоритмов архивации Данных различают такие форматы архивных файлов: ZIP, RAR, ARJ, САВ, LZH, АСЕ, ISO и др. Примерами архиваторов являются программы WinZIP, WinRAR, 7-ZIP, Winace, PowerArbhiver, ArjFolder, BitZipper, bzip2 и др.

Примеры решения задач

Пример 1. Количество секторов в кластере 32. Количество кластеров на диске 2 28 . Определить емкость диска.

Решение. Учитывая, что размер одного сектора 512 байтов, имеем:

512 • 32 • 2 28 = 2 9 . 2 5 . 2 28 = 2 42 = 2 2 • 2 40 байт = 4 Тбайт.

Ответ: 4 Тбайт.

Пример 2. Размер одного кластера диска 1024 байта. На диск записали файлы размером 2750 байт и 324 Кбайт. Сколько кластеров займут эти файлы?

Решение. Файл размером 2750 байт должен занять 2750 : 1024 = 2,68 кластера. Поскольку файлы могут занимать только целое число кластеров, нужно округлить 2,68 до ближайшего большего целого числа кластеров

Файл размером 324 Кбайт займет 324 • 2 10 : 1024 = 324 кластера.

Вместе эти два файла займут З + 324 = 327 кластеров. Ответ: 327 кластеров.

Пример З. На диске имеется следующая структура папок и файлов (рис. 2.1):

Вишневый

Записать полные имена всех файлов.

Решение.

С:\Школа\Сочинения\Чехов\Вишневый Победы.(1ос;

С: Х Рефераты Х Импрессионизм.о«;

С:\Фото\Мой класс\Новый год.ј№; С:\Фото\МоЙ класс\Субботник.Ьтр; C:\prog1.pas.

Пример 4. В некотором каталоге хранился файл letter1.doc. После того как в этом каталоге создали подкаталог и переместили в него файл letter1.doc, полное имя файла стало D:\Work\Doc\ Letter\letter1.doc. Каково было полное имя файла до перемещения?

Решение. По полному имени файла видно, что он находится в каталоге Letter, следовательно, Letter и есть вновь созданный каталог. Каталог Letter находится в каталоге с полным именем D:\Work\Doc. По условию задачи файл изначально хранился в том каталоге, где был создан подкаталог Letter. Следовательно, полное имя файла было D:\Work\Doc\letter1.doc. Ответ: D:\Work\Doc\letter1.doc.

Пример 5. Определить, какое из указанных имен файлов удовлетворяет маске ?let*r.c?*.

              1) letter.c                     2) mletter1.c            З) letr.cpp                  4) letter.cpp

Решение. Поскольку в начале маски стоит знак «?» перед буквой «1», в имени буква «1» должна стоять на втором месте. Следовательно, варианты 1) и З) не подходят. В расширении после буквы «с» тоже стоит знак «?» , значит, после нее должен находиться непустой символ. Этому условию удовлетворяет вариант 4). Ответ: 4).

22.4. Оперирование информационными объектами с использованием знаний о возможностях информационных и коммуникационных технологий

Прикладное программное обеспечение предназначено для выполнения конкретных задач пользователя. Прикладные программы можно разделить на несколько направлений:  системы обработки текстов;  электронные таблицы;  системы управления базами данных; системы обработки графической информации;  системы обработки аудиоинформации;  интегрированные системы;  информационно-поисковые системы;  учебные программы;  коммуникационные программы;  системы искусственного интеллекта;  экспертные системы;  программы специального назначения для профессионального использования в различных сферах деятельности (системы компьютерного черчения, компьютерные словари и энциклопедии, бухгалтерские программы и др.);  компьютерные игры.

В зависимости от того, какой информационный объект должен обрабатываться в прикладной задаче, нужно выбирать соответствующее программное средство. Например, для обработки информационного объекта «текст» следует использовать какой-либо текстовый редактор; для обработки информационного объекта «динамические таблицы»       табличный процессор; для обработки графических информационных объектов      графические редакторы и т. д.

22.5. Технологии и средства защиты информации от разрушения и несанкционированного доступа

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

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

       ограничение доступа к информации  использование паролей, биометрических систем идентификации;

       шифрование (криптография) информации;

       контроль доступа к аппаратуре: вся аппаратура закрыта и в местах доступа к ней установлены датчики, которые срабатывают при вскрытии аппаратуры;

       законодательные меры.

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

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

Использование программного ключа. Программное обеспечение распространяется фирмами-производителями в форме дистрибутивов на CD-ROM. Каждый дистрибутив имеет свой серийный номер. На CD-ROM может находиться закодированный программный ключ, который теряется при копировании и без которого программа не может быть установлена.

Использование электронного (аппаратного) ключа: ключ должен быть присоединен к параллельному порту или к USB-110k)TY компьютера; защищаемая программа обращается к параллельному порту и запрашивает секретный код. Если ключ не присоединен к компьютеру, то программа прекращает выполнение.

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

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

Одна из информационных угроз вредоносное воздействие компьютерных вирусов. Компьютерный вирус — это программа, способная создавать свои копии (не обязательно полностью совпадающие с оригиналом), внедрять их в различные объекты или ресурсы компьютерных систем, сетей и производить определенные действия без ведома пользователя.

Существует большое число различных классификаций вирусов:

1. По среде обитания:

       сетевые — распространяются по сетям;

       файловые — инфицируют исполняемые файлы с расширениями .ехе, .сот; к этому классу также относятся макровирусы, которые заражают неисполняемые файлы (например, в MS Word или в MS Excel);  загрузочные       внедряются в загрузочный сектор диска (Вос№сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Record — MBR); некоторые вирусы записывают свое тело в свободные секторы диска, помечая их в РАТ как «плохие»;  файлово-загрузочные    способны заражать и загрузочные секторы, и файлы.

2. По степени опасности:

*        неопасные — например, выводят на экран сообщения;  опасные уничтожают часть файлов на диске;  очень опасные самостоятельно форматируют жесткий диск. З. По особенностям алгоритма:

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

*        «Троянские кони» маскируются под полезную или интересную программу, выполняя во время своего функционирования еще и разрушительную работу (например, стирают FAT), или собирают на компьютере информацию, не подлежащую разглашению.

4. По целостности:

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

Для борьбы с вирусами разрабатываются антивирусные программы. Виды антивирусных программ:

*        Программы-Детекторы (сканеры) рассчитаны на обнаружение конкретных вирусов. Основаны на сравнении специфической последовательности байтов (сигнатур или масок вирусов), содержащихся в теле вируса, с байтами проверяемых программ. Эти программы нужно регулярно обновлять, т. к. они быстро устаревают и не могут выявлять новые виды вирусов. Если программа не опознается детектором как зараженная, это еще не значит, что она «здорова». В ней может быть вирус, который не занесен в базу данных детектора.

*        Программы-Доктора (фаги) — не только находят файлы, зараженные вирусом, но и лечат их, удаляя из файла тело программы-вируса. Полифаги позволяют лечить большое число вирусов. Широко распространены программы-детекторы, одновременно выполняющие и функции программ-докторов, например: AVP (автор Е. Касперский), Aidstest (Д. Лозинский), Doctor Web (И. Данилов), Norton Antivirus (Symantec Corp).


*        Программы-ревизоры анализируют текущее состояние файлов и системных областей дисков и сравнивают его с информацией, сохраненной ранее в одном из файлов ревизора. При этом проверяются состояние Воо#сектора (загрузочного сектора), РАТ, длина файлов, время их создания, атрибуты, контрольные суммы (суммирование по модулю 2 всех байтов файла). • Пример такой программы — Adinf (Д. Мостовой).

*        Программы-фильтры (сторожа, мониторы) программы, которые оповещают пользователя обо всех попытках какой-либо программы выполнить подозрительные действия, а пользователь принимает решение о разрешении или запрещении выполнения этих действий. Фильтры контролируют следующие операции: обновление программных файлов и системной области дисков; форматирование диска; резидентное размещение программ в ОЗУ. Примером служит программа Vsafe. Она не способна обезвредить вирус. Для этого нужно использовать фаги.

*        Программы-ижжуњшзаторы записывают в вакцинируемую программу признаки конкретного вируса так, что вирус считает ее уже зараженной, и поэтому не производит повторное инфицирование. Эти программы менее эффективны и морально устарели.

Антивирусные средства являются самыми распространенными средствами защиты информации. Для защиты информации от случайных информационных угроз применяют средства повышения надежности аппаратуры: повышение надежности работы электронных и механических узлов и элементов компьютерной системы; структурная избыточность (дублирование устройств и подсистем); функциональный контроль с диагностикой отказов.

Для обеспечения большей надежности хранения данных на жестких дисках используются ЮХП)-массивы (Redundant Arrays of Independent Disks избыточный массив независимых дисков). Несколько жестких дисков подключаются к RAID-k0HTp6JIJIepy, который рассматривает их как единый логический носитель информации. При записи -информации она дублируется и сохраняется на нескольких дисках одновременно, поэтому при выходе из строя одного из дисков данные не теряются.

Примеры заданий ЕГЭ к разделу 2.2

«Программные средства информационных и коммуникационных технологий»

Часть 1

В некотором каталоге хранился файл Реферат1 .doc. После того как в этом каталоге создали подкаталог и переместили в него файл Реферат1.(1ос, полное имя файла стало Каково имя вновь созданного каталога?

                                                                           2) School                                                   4) My_doc

А2. Перемещаясь из одного каталога в другой, пользователь последовательно посетил каталоги Article, Diagn, S_Doc, D:\, Research, Gas_turb. При каждом перемещении пользователь либо спускался в каталог на один уровень ниже, либо поднимался на один уровень выше. Каково полное имя каталога, в котором оказался пользователь?

                                          1) Article\ Diagn\S Doc                           2) D:\Research\Gas_turb

З) D:\Gas_turb\Research

АЗ. Перемещаясь из одного каталога в другой, пользователь последовательно посетил каталоги Article, Diagn, S_Doc, D:\, Research, Gas turb. При каждом перемещении пользователь либо спускался в каталог на один уровень ниже, либо поднимался на один уровень выше. Каково полное имя каталога, из которого начал перемещение пользователь?

                                          1) D:\Article\Diagn\S Doc                       2) D:\Research

                                          З) D:\Gas_turb\Research                         4) D:\S_Doc\Diagn\Article

А4. В некотором каталоге хранится файл Олимпиадные_задачи.ва. В этом каталоге создали подкаталог и переместили в него файл Олимпиадные 3agxatnr.txt. После этого полное имя файла стало C:\Inform\11

Каково полное имя каталога, в котором хранился файл до перемещения?

1) C:\Inform\11 class\Lessons            2) C:\Inform З) C:\Inform\11 class 4) 11 class

А5. Пользователь работал в каталоге Затем перешел в дереве каталогов на два уровня выше, спустился в подкаталог NewYear09 и удалил из него файл p1.jpg. Каково полное имя файла, который удалил пользователь?

1)                                                                                  .jpg

2)                                                                                  .jpg

З) D:\Photo\p1.jpg

4) .jpg

Примеры заданий ЕГЭ

Аб. Дано дерево каталогов:

с:\

Doc1

Doc3

Определить полное имя файла Doc3.

М. Определите, какое из указанных имен файлов удовлетворяет маске ?ab*s.?xt. 1) abros.txt 2) habrin.txt З) wabes.txt 4) cabots.xt

А8. В некотором каталоге хранятся следующие файлы: programma_12.cpp, proga fd.c, рКа_О9.сот, ptua_09.cx, pasa_pp.cfg. Какой маске удовлетворяют все эти файлы?

А9. В некотором каталоге хранился файл Реферат1.(1ос. После того как в этом каталоге создали подкаталог и переместили в него файл Реферат1.(1ос, пол-

ное имя файла стало .doc. Каково было полное имя этого файла до перемещения?

1)

2)

З) .doc

4) С:\Му doc\School\Lit

А 10. Ученик работал в каталоге С:\Школа\11 АХ Иванов. Учитель предложил ему перейти в дереве каталогов на уровень выше, спуститься в каталог Информатика и открыть файл Задание8.хК. Каково полное имя файла, который должен открыть ученик?

З) С:\Школа\11 А\Задание8.хК

4) С:\Школа\11 АХ

А 11. Размер одного кластера диска 1024 байта. На диск записали файлы размером

2530 байтов и 648 Кбайт. Сколько кластеров займут эти файлы?

                                         2) 651                       3) 650                       4) 1024

А 12. Определить емкость диска, если на диске 2 20 кластеров, а количество секторов в кластере  32.

         1) 16 Мбайт              2) 32 Мбайт              3) 16 Гбайт               4) 32 Гбайт


            2.3. Технология обработки текстовой информации      

23.1 . Ввод, редактирование и форматирование текста

Текстовый документ разбит на страницы, поэтому начинать работу над документом целесообразно с задания параметров страницы: формата, ориентации, размера полей и др. Это выполняется с помощью команд из группы Параметры страницы на вкладке Разметка страницы (здесь и далее приведены команды для программы Word из пакета MS 0ffice 2007).

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

*        [Ноте] перемещает курсор в начало текущей строки;

*        [End]   перемещает курсор в конец текущей строки;

[Ctrl]+[—>] — на слово вперед; на слово назад; в начало документа; в конец документа;

[PageUp] — на экранную страницу вверх;

*        [PageDown] — на экранную страницу вниз;

*        [Ctrl]+[PageUp] — на печатную страницу вверх;

*        [Ctrl]+[PageDown] — на печатную страницу вниз; — на один абзац назад;

— на один абзац вперед.

По достижении правого края страницы текст автоматически переносится на новую строку. Принудительное завершение строки и начало нового абзаца выполняется нажатием клавиц\и [Enter].

Редактирование — это изменение содержания документа. К операциям редактирования относятся набор текста, исправление опечаток, копирование, перемещение, удаление частей текста, вставка рисунков, таблиц и других объектов.

Для работы с фрагментами текста можно использовать буфер обмена Windows. Сначала нужный фрагмент текста выделяется протаскиванием мыши или комбинацией клавиши [Shift] и курсорных клавиш. Затем с выделенным фрагментом можно производить следующие действия:  удаление нажатием клавиши [Del];

        копирование в буфер обмена с помощью команды Копировать («горячие» клавиши [Ctrl]+[Ins]) из группы Буфер обмена вкладки Главная; для вставки фрагмента из буфера обмена нужно установить курсор в требуемое место, а затем дать команду Вставить («горячие» клавиши [Shift]+[Ins]);

        перемещение фрагмента можно выполнить перетаскиванием мыши или с помощью команд Вырезать («горячие» клавиши [Shift]+[Del]) и Вставить из группы Буфер обмена.

Средства редактирования программы Word включают средства автоматического поиска и замены заданных объектов или фрагментов текста. Команды Найти ([Ctrl]+[F]) и Заменить из группы Редактирование вкладки Главная открывают диалоговое окно Найти заменить. В нем три вкладки: Найти, Заменить, Перейти.

На вкладке Найти нужно ввести фрагмент разыскиваемого текста. Чтобы задать дополнительные параметры поиска (учет регистров, направление поиска и др.), надо щелкнуть на кнопке Больше. Поиск начнется после щелчка на кнопке Найти Далее.

Для автоматической замены найденного текста используют вкладку Заменить. В поле Заменить на вводят заменяющую строку. По щелчку на кнопке Найти Далее разыскивается очередное

ПРОЦеССЫ

место, где заданная строка встречается в документе, а затем щелчком на кнопке Заменить выполняется замена (если она необходима). Если нужно выполнить замену по всему документу, следует щелкнуть на кнопке Заменить все.

Вкладка Перейти используется для перехода к специфическому тексту или объекту (например, к заданной странице, сноске или рисунку). Тип объекта выбирают в раскрывающемся списке Обьект перехода, а в поле Введите номер задают его абсолютный или относительный номер. Переход выполняют щелчком на одной из кнопок Назад, Далее, Перейти.

Форматирование — это изменение внешнего вида документа и отдельных его частей. К операциям форматирования относятся изменение свойств абзацев и отдельных символов, оформление заголовков и подзаголовков, преобразование текста в список или таблицу, вставка колонтитулов, нумерации страниц и т. д.

Форматирование абзацев. Параметры абзацев можно задать с помощью команд из группы Абзац вкладки Главная. Щелчок мышью на кнопке с изображением стрелки рядом с названием группы открывает диалоговое окно Абзац, содержащее две вкладки: Отступы и интервалы и Положение на странице. На вкладке Отступы и интервалы можно задать способ выравнивания текста, правую и левую границу абзаца относительно границ страницы, «красную» строку, интервалы между абзацами и между строками данного абзаца. Вкладка Положение на странице используется для абзацев, попадающих на границу между страницами. Для них можно запретить отрывать от абзаца одну строку, потребовать, чтобы абзац размещался на одной странице целиком, начать текущим абзацем новую страницу.

Форматировать абзац можно с помощью линейки форматирования. Перетаскиванием по линейке треугольного маркера слева внизу ( ) задают левую границу абзаца, справа внизу (ЕЕ) правую границу, слева вверху ( Р. ) «красную» строку.

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

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

Стиль форматирования это совокупность всех параметров оформления, определяющих формат абзаца. Доступные стили перечислены в группе Стили на вкладке Главная. В начале работы с программой Word этот список содержит перечень стилей, заданных по умолчанию. При выборе одного из стилей, представленных в данном списке, изменяется формат текущего абзаца (в котором расположен курсор) или формат выделенного фрагмента. Изменить стиль можно также с помощью команды Изменить стили из группы Стили.

Можно создать свой собственный стиль форматирования. Для этого нужно открыть окно Стили щелчком на кнопке с изображением стрелки рядом с названием группы Стили и в нем щелкнуть на кнопке Создать стиль.

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

Оформление списков. Упорядоченную информацию удобно представлять в виде списков (инструкции, перечни предметов или объектов и т. д.). Программа Word поддерживает два вида списков маркированные, в которых каждый пункт помечается маркером, и нумерованные, где пункты последовательно нумеруются.

                                                                                                                                                                                                                          2.3. Технология обработки текстовой информации              115

Для преобразования существующего текста в нумерованный или ма ки ованный список, надо выделить этот текст и выбрать команду Нумерация или Маркеры  из группы Абзац на вкладке Главная. Команда Многоуровневый список позволяет задать специальный список, содержащий до 9 уровней пунктов, нумеруемых или маркируемых отдельно. Для перехода на более низкий уровень служит команда Увеличить отступ EZ:- из группы Абзац. Для возврата на более высокий уровень служит команда Уменьшить отступ

Оформление текстовых колонок. В газетах и некоторых книгах (например, в словарях и энциклопедиях) информацию часто представляют в несколько столбцов (для облегчения восприятия). Для разбиения предварительно выделенного текста на колонки можно воспользоваться командой Колонки -3. из группы Параметры страницы на вкладке Разметка страницы. В открывшемся меню можно выбрать один из предлагаемых способов разбиения текста на колонки или воспользоваться пунктом Другие колонки для их более полной настройки.

2.32. Внедрение в текстовый документ различных объектов

Большинство современных документов содержат не только текст, но и другие объекты: рисунки, формулы, таблицы, диаграммы и т. д.

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

Вставить таблицу в документ можно с помощью команд Нарисовать таблицу или Вставить таблицу из группы Таблицы вкладки Вставка. При этом открывается дополнительное меню Работа с таблицами, содержащее вкладки Конструктор и Макет. С помощью вкладки Конструктор можно задать стиль таблицы и настроить границы и заливку ячеек таблицы. С помощью вкладки Макет можно изменить структуру таблицы, удалив или добавив строки, столбцы или отдельные ячейки, изменить размеры ячеек, задать направление и способ выравнивания текста в ячейках, объединить несколько ячеек или разбить, задать поля ячеек и интервалы между ячейками. Команды из группы Данные вкладки Макет позволяют также выполнить несложную обработку содержимого таблицы. Команда Сортировка позволяет упорядочить по возрастанию или по убыванию выделенный текст или числовые данные. Команда Формула добавляет в ячейку формулу для выполнения простого расчета, например нахождение суммы, среднего значения, минимального значения и др. По этой команде открывается диалоговое окно Формула, в котором можно ввести формулу и указать требуемый формат числа в ячейке (результата). В формуле можно использовать встроенные функции, которые содержатся в раскрывающемся списке Вставить функцию (ABS, AVERAGE, СОТ-пЧТ, INT, ROUND, мдх, MIN, stJM, МОГ), IF, 0R, AND и др.).

Технический текст часто содержит математические формулы. Word позволяет вводить в текст формулы просто и удобно с помощью библиотеки математических символов. В группе Символы вкладки Вставка нужно выбрать команду Формула/Вставить новую формулу. В документе появится рамка с текстом «Место для формулы», и на ленте откроется дополнительное меню Работа с формулами, содержащее вкладку Конструктор. Группа Структуры этой вкладки позволяет выбрать необходимый тип структуры (дробь, радикал, интеграл, индексы и т. д.). Группа Символы содержит основные математические символы, греческие буквы, операторы, стрелки, геометрические символы, которые могут использоваться в формулах.

Часто бывает необходимо художественно оформить текст или снабдить его иллюстративным материалом. Word предоставляет возможность вставить в текст заранее подготовленный рисунок из файла с помощью команды Рисунок из группы Иллюстрации вкладки Вставка. При этом на ленте открывается дополнительное меню Работа с рисунками, содержащее вкладку Формат. Команды этой вкладки позволяют изменить стиль рисунка, его размеры, форму, границы, яркость, контрастность, задать дополнительные эффекты (тень, рельеф, свечение и др.), переместить рисунок на передний или задний план, указать способ обтекания текстом.

Простые рисунки можно выполнить средствами самой программы Word. Команда Фигуры из группы Иллюстрации вкладки Вставка позволяет создать одну из стандартных фигур. При этом на ленте открывается дополнительное меню Средства рисования, содержащее вкладку Формат. Команды этой вкладки служат для изменения стиля фигуры, ее размеров, контура, заливки, эффектов тени и объема, добавления текста, группирования нескольких фигур в единый рисунок, задания положения рисунка в тексте, его поворотов и перемещений на передний или задний план.

Команда Диаграмма из группы Иллюстрации вкладки Вставка позволяет разместить в документе диаграмму. При этом на ленте открывается дополнительное меню Работа с Диаграммами, содержащее вкладки Конструктор (выбор стиля диаграммы и исходных данных для нее), Макет (настройка отдельных элементов диаграммы) и Формат (изменение размера диаграммы, задание дополнительных эффектов).

2.33. Автоматизация процесса ПОДГОТОВКИ издания.

верстка документа. Проверка орфографии и грамматики

Word позволяет автоматизировать процесс подготовки документа.

К средствам автоматизации редактирования документа можно отнести:

поиск и замену символов команды Найти и Заменить из группы Редактирование вкладки Главная;  проверку орфографии и грамматики — команда Правописание из группы Правописание вклад- ки Рецензирование; использование автозамены (автоматическое исправление слова с ошибкой на слово из главного словаря). Для включения этого параметра нужно щелкнуть на кнопке Microsoft 0ffce  затем на кнопке Параметры Word, выбрать пункт Правописание и щелкнуть на кнопке

Параметры автозамены. В открывшемся окне нужно отметить флажками желаемые настройки. Щелчком на кнопке Исключения можно перейти в окно Исключения при автозамене, для того чтобы запретить исправление некоторых слов;  использование стандартных блоков, в частности автотекста, в котором можно хранить часто используемый текст и графические объекты (например, стандартные фразы из контрактов, списки рассылки и т. п.). Для создания и использования аугОтеКСта служит команда Экспресс-блоки из группы Текст вкладки Вставка.

К средствам автоматизации форматирования относятся следующие:

 автоматическая расстановка переносов в тексте команда Расстановка переносов из группы Параметры страницы вкладки Разметка страницы;  нумерация страниц документа и форматирование номеров команда Номер страницы из группы Колонтитулы вкладки Вставка;  автонумерация таблиц и рисунков — команда Вставить название из группы Названия вкладки Ссылки;  создание перекрестных ссылок — команда Перекрестная ссылка из группы Названия вкладки Ссылки;  стилевое форматирование (процесс создания и применения имеющихся стилей к объектам документа) — команды из группы Стили вкладки Главная;  создание оглавления команды из группы Оглавление вкладки Ссылки;  создание предметного указателя команды из группы Предметный указатель вкладки Ссылки.

2.4. Технология обработки графической и звуковой информации

2.41 . Растровая графика. Растровые графические объекты и операции над ними

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

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

Качество изображения на экране монитора зависит от пространственного разрешения и глубины цвета.

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

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

Для графических изображений могут использоваться различные палитры (наборы) цветов. Количество цветов в палитре и количество информации I, необходимое для кодирования цвета каждой точки, связаны соотношением

 = 2 1

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

2 = 2 I 2 1 = 2 1 — 1 = 1 бит.

Информационный объем III требуемой видеопамяти рассчитывается по формуле п = I . x. Y,

глубина цвета в битах на точку,

Х   количество точек изображения по горизонтали, У      количество точек изображения по вертикали.

Цветовые модели

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

Цветовая модель RGB. С экрана монитора человеческий глаз воспринимает цвет как сумму излучения трех базовых цветов: красного (Red), зеленого (Green) и синего (Blue). Эти цвета называются основными. Цвета палитры RGB формируются путем сложения базовых цветов, имеющих различную интенсивность. Цвет Color в палитре можно определить с помощью формулы

Color = R+G+B.

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


все цветовые составляющие, но они одинаковы и нейтрализуют друг друга. Красный цвет получается при максимальной интенсивности красного и минимальной интенсивности зеленого и синего цветов. Аналогично, зеленый и синий цвета получаются при максимальной интенсивности соответствующего базового цвета и минимальной интенсивности остальных цветов. При глубине цвета в 24 бита (трехбайтная кодировка) значение интенсивности каждого базового компонента задается целым десятичным числом от О до 255 или двоичным числом от 00000000

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

Цветовая модель СМУК. Палитра цветов формируется путем наложения базовых цветов: голубого (Суап), пурпурного (Magenta), желтого (Yellow) и черного (Black). Доля каждого базового компонента задается в процентах (целым числом от О до 100). Цвет Color в палитре можно определить с помощью формулы

Color = С + М + У .

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

Данная палитра используется при печати изображений на принтере и основана на восприятии отражаемого света. Изображение на бумаге человек воспринимает в отраженном свете. Если на бумагу краски не нанесены, то падающий белый свет полностью отражается, и мы видим белый лист бумаги (White = (С = О, М = О, У = 0)). Если краски нанесены, то они поглощают определенные цвета. Цвета в палитре формируются путем вычитания из белого цвета определенных цветов. Например, нанесенная на бумагу голубая краска поглощает красный свет и отражает зеленый и синий (Суап = ил — R = (7 + В); желтая краска поглощает синий свет и отражает красный и зеленый (Yellow = — В = G + R).

Цветовая модель HSB. Палитра цветов формируется путем установки значений трех базовых компонентов: оттенка (Ние), насыщенности (Saturation) и яркости (Brightness). Оттенок Н определяет цвет в спектре и задается целым числом от О до 360 (О — красный цвет, 360 — фиолетовый). Насыщенность S характеризует долю белого цвета, добавленного к выбранному оттенку, и задается в процентах от О до 100. При минимальной насыщенности какой-либо оттенок цвета становится серым. Яркость В определяется примесью черного цвета к выбранному оттенку и задается в процентах от О до 100. Любой оттенок при минимальной яркости становится черным. Эту модель используют художники при создании компьютерных изображений, моделируя нужный цвет на «виртуальном мольберте» графического редактора.

Форматы растровых графических файлов

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

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

ВМР (Bit МаР image) — универсальный формат растровых графических файлов. Изображе-

ние в этом формате сохраняется попиксельно, без сжатия. Стандартное расширение имени файла bmp. Этот формат поддерживается многими графическими редакторами и рекомендуется для хранения и обмена данными с другими приложениями.

JPEG (Joint Photographic Expert Group) использует эффективные алгоритмы сжатия данных, которые значительно уменьшают размеры файлов. Но это достигается за счет необратимой потери части данных и ухудшения качества изображения. Стандартные расширения имени файла jpg или jpeg. Данный формат целесообразно использовать для хранения многоцветных изображений с плавными переходами между цветами, где потеря качества малозаметна. Формат поддерживается приложениями для различных операционных систем и часто используется для размещения графических изображений на МТеЬ-страницах в Интернете.

GIF (Graphics Interchange Format) самый «плотный» из графических форматов, не имеющих потери информации. Файлы этого формата имеют расширение gif. В этом формате хранятся и передаются малоцветные (до 256 цветов) изображения, например рисованные иллюстрации. У этого формата есть интересные особенности, позволяющие создавать необычные эффекты: прозрачность фона и анимацию изображения.

TIFF (Tagged Image File Format) — формат, поддерживаемый всеми основными графическими редакторами, включает в себя алгоритм сжатия без потерь информации. Файлы этого формата имеют расширение tif. Они сохраняют изображения с высоким качеством, поэтому широко используются в полиграфии. Формат обеспечивает не очень большую степень сжатия, но дает возможность сохранять в одном файле дополнительную информацию в невидимых вспомогательных слоях — каналах (например, наложение аннотаций и примечаний на рисунок).

PNG (Portable Network Graphic) — формат, аналогичный формату GIF, но позволяет использовать значительно больше цветов в изображении. Стандартное расширение имени файла — png.

Существуют и другие форматы растровых файлов, такие как РСХ, IFF, LBM, IMG, МАС, MSP, PGL.

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

Графические редакторы

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

С помощью растровых графических редакторов можно обрабатывать цифровые фотографии и отсканированные изображения, повышая при этом их качество путем изменения яркости, контРаСтнОсти, цветовой палитры, а также удаления дефектов изобёажения. Кроме того, растровые графические редакторы позволяют создавать новые изображения и применять к ним различные эффекты преобразования. Необходимо помнить, что после окончания рисования нарисованный объект перестает существовать как самостоятельный элемент и становится лишь группой пикселей на рисунке.

Существуют простые растровые графические редакторы, например Paint стандартное приложение операционной системы Windows, и мощные графические системы, например Adobe Photoshop. Основные возможности растровых графических реДакторов:

        создание изображения:

 определение области рисования (размер, полб, ориентация холста);  рисование стандартных графических примитивов (линии, прямоугольники, многоугольники, овалы);  рисование традиционными методами с помощью инструментов рисования, таких как карандаш, кисть, распылитель, заливка, ластик;  добавление текста и его форматирование;  управление цветом: выбор цвета из стандартной и расширенной палитры, копирование цвета, определение цвета пикселя;


        редактирование изображения:

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

Примеры решения задач

Пример 1. В процессе преобразования растрового графического изображения количество ЦВетов уменьшилось с 65536 до 16. Как уменьшился его информационный объем?

Решение.

2 /1 = 65536; - 2 16 п = 16 .

2 12 = 16; 2 I2   4 п 16 12 4

Ответ: информационный объем уменьшился в 4 раза.

Пример 2. Черно-белое растровое графическое изображение имеет размер 10 х 10 точек. Какой информационный объем имеет изображение?

Решение. В палитре 2 цвета, следовательно, глубина цвета I = 1 бит (2 = 2 1 ; 2 1 = 2 I I = 1).

Информационный объем In найдем по формуле:

п = 1 . Х. У = 1 - 10 - 10 = 100 битов.

Ответ: 100 битов.

Пример З. Растровое графическое изображение с палитрой из 256 цветов имеет размер 10 х 10 точек. Какой информационный объем имеет изображение?

Решение. Найдем глубину цвета: 256 = 2 1 ; 2 8 = 2 1 гэ I = 8 . Информационный объем III найдем по формуле: Iп Х У = 8 10 10 = 800 битов = 800 : 8 = 100 байтов. Ответ: 100 байт.

Пример 4. Для хранения растрового изображения размером 64 х 64 пикселя отвели 1,5 килобайта памяти. Каково максимально возможное число цветов в палитре изображения? Решение. По условию I17 =1,5 Кбайт или 1,5 • 210 байт = 1,5 • 2 10 • 8 бит.

Х. У = 64-64 = 2 6 • 26 = 212 . Из формулы          = I • Х • У найдем глубину цвета 1:

1

Из формулы N = 2/ найдем число цветов N: N = 2 3 — 8 цветов.

         Ответ: максимально возможное количество цветов в палитре         8.

Пример 5. Каков минимальный объем памяти, достаточный для хранения любого растрового изображения размером 256 х 256 пикселей, если в изображении используется палитра из 2 16 цветов? (Саму палитру хранить не нужно).

Решение. Из формулы лт = 2 I найдем глубину цвета 1: 2 16 — 2 1 ; I = 16 . Тогда объем памяти

1 . Х. У = 16- 256 -256 = 2 4 .28 • 28 = 2 20 бита = 220 : 8 = 2 17 байта = 27 Кбайт . Ответ: 2 7 Кбайт = 128 Кбайт.

Пример 6. Для кодирования цвета фона страницы Интернет используется атрибут bgcolor =

”# ХХХХХХ “ , где в кавычках задаются шестнадцатеричные значения интенсивности цветовых компонент в 24-битной Ж}В-модели. Какой цвет будет у страницы, заданной командой языка < body bgcolor = FFFFFF”

Решение. В 24-битной Ж}В-модели каждая цветовая составляющая (красная, зеленая, синяя) может принимать значение от О до 255 и кодируется одним байтом (двумя шестнадцатеричными цифрами). FF = 25510 . Т. е. FF FF FF = 255 255 255 . Это означает, что все цветовые составляющие имеют максимальную интенсивность. В ЖАВ-модели это соответствует белому цвету. Ответ: белый цвет.

2.42. Векторная графика. Векторные графические объекты и операции над ними

В векторной графике основным элементом изображения является линия. В растровой графике тоже существует линия, но там она рассматривается как комбинация точек. Для каждой точки отводится одна или несколько ячеек памяти. Следовательно, чем длиннее растровая линия, тем больше памяти она занимает. В векторной графике объем памяти, занимаемый линией, не зависит от размеров линии, поскольку линия представляется в виде нескольких параметров. Что бы мы ни делали с этой линией, меняются только ее параметры, хранящиеся в ячейках памяти. Количество же ячеек остается неизменным для любой линии.

Линия это элементарный объект векторной графики. Простейшие объекты объединяются в более сложные. Например, объект четырехугольник можно рассматривать как четыре связанные линии, а объект куб — либо как 12 связанных линий, либо как 6 связанных четырехугольников. Из-за такого подхода векторную графику часто называют объектно-ориентированной графикой.

Как и все объекты, линии имеют свойства: форма линии, ее толщина, цвет, характер линии (сплошная, пунктирная и т. п.). Замкнутые линии имеют свойство заполнения. Внутренняя область замкнутого контура может быть заполнена цветом, текстурой, картой. Незамкнутая линия имеет вершины, которые называются узлами. Узлы тоже имеют свойства, от которых зависит, как выглядит вершина линии и как две линии сопрягаются между собой.

Хотя объекты векторной графики хранятся в памяти в виде набора параметров, на экран все изображения все равно выводятся в виде точек. Перед выводом на экран каждого объекта программа производит вычисления координат экранных точек в изображении объекта. Аналогичн,ые вычисления производятся и при выводе объектов на принтер.

Достоинства векторной графики:

*         Небольшой информационный объем файлов. Достаточно сложные композиции, насчитывающие тысячи объектов, расходуют лишь десятки и сотни килобайтов.

*         Легко решаются вопросы масштабирования. Если линии задана толщина, равная 0,15 мм, то, сколько бы мы ни увеличивали или ни уменьшали рисунок, эта линия все равно будет иметь только такую толщину, поскольку это одно из свойств объекта, жестко за ним закрепленное. Распечатав чертеж на большом или на малом листе бумаги, мы всегда получим линии одной и той же толщины. Это свойство векторной графики широко используется в картографии, в конструкторских системах автоматизированного проектирования (САПР) и в автоматизированных системах архитектурного проектирования. При увеличении рисунка можно более подробно рассмотреть сложный объект.

Программы, предназначенные для работы с векторными изображениями, называют векторными графическими редакторами. Их применяют в тех- случаях, когда основным требованием к изображению является высокая точность формы. Такая задача возникает при разработке логотипов компаний, при художественном оформлении текста (например, журнальных заголовков или рекламных объявлений), а также во всех случаях, когда иллюстрация является чертежом, схемой или диаграммой, а не рисунком. Векторная графика также лежит в основе  Примеры редакторов: Adobe Illustrator, Macromedia Freehand, CorelDraw.

Основные возможности векторных графических редакторов:

1) создание изображения:

' определение области рисования (размер, полб, ориентация холста);  рисование стандартных графических примитивов (линий, прямоугольников, многоугольников, овалов);  добавление текстовых областей и выносок;

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

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

Форматы векторных графических файлов

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

WMF (Windows MetaFile) — универсальный формат векторных графических файлов для приложений Windows. Используется для хранения коллекции графических изображений Microsoft сир Gallery. Возможные расширения Файлов WMF, EMF, wnaz, EMZ:

CGM (Computer Graphic Metafile) — широко используется как стандартный формат векторных графических данных в сети Интернет.

EPS (Encapsulated PostScript) — формат, поддерживаемый программами для различных опера- ционных систем. Рекомендуется для создания иллюстраций в настольных издательских системах.

CDR (CorelDRaw files) оригинальный формат файлов векторного графического редактора Core1Draw. Изображение в файле может состоять из нескольких страниц. Формат позволяет сохранять не только векторную графику, но и текст и растровые изображения. Максимальный размер рисунка 45 х 45 м. Возможные расширения файлов CDR или CDT.

AI (Adobe Illustrator files) оригинальный формат файлов векторного графического редактора Adobe Illustrator. Сохраняет в файле только одну страницу, максимальный размер рисунка

SVG (Scalable Vector Graphics) универсальный формат двумерной графики. Позволяет сохранять в файле текст, графические изображения и анимацию. Файлы могут дополнительно сжиматься программами-архиваторами. Формат обрабатывается практически всеми векторными графическими редакторами. Широкое применение получил в инженерной графике и при разработке №7еЬ-сайтов.

2.43. Компьютерное черчение

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

Примером системы автоматизированного проектирования является система КОМПАС-ЗТ В центре рабочего окна расположена система координат, от начала которой отсчитывается положение курсора. Создание и редактирование чертежа реализуется с помощью инструментальной панели, содержащей пять функциональных групп инструментов:

1)     геометрические построения для рисования объектов (точка, отрезок, окружность, прямоугольник и др.);

2)     выДеленше для подготовки объекта к выполнению операций; можно выделить ОТДе.ЛЬный объект или группу объектов;

З) реДактирование для выполнения над выделенными объектами операций копирования, перемещения, масштабирования и т. д.;

4)     измерения — для измерения расстояний, углов, периметров и площадей фигур;

5)     размеры и технологические обозначения — для правильного обозначения размеров деталей, оформления надписей и т. д.

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

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

2.44. Создание и редактирование ЦИФРОВЫХ звукозаписей

Звук это продольная волна сжатия / расширения, распространяющаяся в воздушной, водной или другой среде (механические колебания). Звук характеризуется интенсивностью, которую человек воспринимает как громкость, и частотой, воспринимаемой как тон. Чем больше интенсивность, тем громче звук; чем выше тон, тем выше частота.

Диапазон частот звука, воспринимаемых человеком, очень велик (от 20 Гц до 20000 Гц). Для измерения интенсивности (мощности) звука используются относительные логарифмические единицы — децибелы. Изменение мощности звука в 10 раз соответствует изменению на 10 децибел. Разность между максимальной и минимальной интенсивностью звука называется динамическим диапазоном, и для человеческого уха она составляет огромную величину 140 децибел.

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

Звуковая волна по своей природе непрерывна. Для ее обработки в компьютере производится Дискретизация по времени и по уровню. В результате этого процесса непрерывная волна заменяется совокупностью цифровых отсчетов громкости сигнала в дискретные равноотстоящие моменты времени. Эту задачу выполняет АЦП (аналогово-цифровой преобразователь) звуковой карты. Чем больше разрядность АЦП, тем точнее передается форма звуковой волны, тем меньше искажения и тем больше динамический диапазон.

От быстродействия АЦП зависит максимальная частота записываемого звука. Минимальное значение частоты дискретизации по теореме Котельникова должно вдвое превышать максимально возможную частоту записываемого сигнала. Например, цифровой компакт-диск имеет два канала записи с частотой дискретизации 44100 Гц и 16-битное кодирование. При этом гарантируется частотный диапазон записи до 20000 Гц; динамический диапазон теоретически может достигать 90 децибел. Одна секунда записи компакт-диска займет 2 • 2 • 44100 = 176400 байтов. Одна минута — 10,1 Мбайт.

Для современных звуковых карт частота дискретизации может быть от 6 до 192 кГц, кодирование 8, 16 или 32 бита.

Прямая запись звуковой волны приводит к большим объемам файлов. Поэтому для аудиофайлов было изобретено множество форматов. Они делятся на форматы без потери качества (lossless) и с потерей качества (lossy).

К  относятся WAV, АРЕ, FLAC. В них сжатие или не применяется совсем, или применяется обратимое (архивация).

В  (МРЗ, 0GG, WMA и т. д.) кроме архивации применяется психоакустическое кодирование, использующее физиологические свойства человеческого слуха, такие как маскировка более слабого сигнала более сильным и т. п. При этом ради достижения большего сжатия из сигнала выбрасывается часть информации и его полное восстановление становится невозможным.

Для создания и редактирования цифровых звукозаписей применяются специальные программы звуковые редакторы, например Adobe Audition, Sound Forge. Они позволяют не только записывать, воспроизводить и синтезировать звук, но и проводить его сложную обработку. Нелинейный монтаж, реставрация, акустические эффекты, а также музыкальные преобразования (изменение тональности и темпа) выполняются наглядно и просто несколькими щелчками мыши. Эта видимая простота и наглядность в своей основе имеют очень сложные математические алгоритмы спектрального анализа, в частности быстрое преобразование Фурье, статистической обработки сигналов и т. д.

Запись звука

Современные звуковые редакторы позволяют записывать аудиофайлы в различных форматах в зависимости от того, как они далее будут использованы (на чем будут воспроизведены). Чтобы звук попал в компьютер, необходимо подключить источник сигнала к звуковой карте. Например, микрофон — к микрофонному входу, или другой источник к линейному входу звуковой карты. Далее необходимо настроить звуковую карту, т. е. выбрать источник и уровень сигнала. Для этого используется стандартная программа Регулятор громкости, входящая в состав операционной системы Windows. При выборе команды Параметры/Свойства откроется окно Свойство, в котором нужно включить переключатель Запись, указать нужный вход (Microphone или Line-in) и установить необходимый уровень записи. Далее можно использовать любой звуковой редактор. При использовании звуковых редакторов новый файл создается традиционной командой Fjle/New. При этом потребуется установить частоту дискретизации и глубину кодирования звукового сигнала, а также режим записи (стерео или моно). Для музыкального сигнала лучше использовать параметры компакт-диска (44100 Гц, 16 битов, два канала); если требования к качеству звука выше, можно поднять частоту дискретизации до 48000 Гц. Речь с микрофона в нестудийных условиях с приемлемым качеством можно писать и с частотой дискретизации 8000 Гц, 8 битов, 1 канал. Дальнейшие действия выполняются в соответствии с инструкцией к конкретному редактору.

Воспроизведение звука

Для того чтобы прослушать звуковой файл, нужно к линейному выходу звуковой карты подключить колонки или наушники. Сравнительно недавно появились компьютерные колонки со встроенным ЦАП (цифро-аналоговым преобразователем), питание и сигнал в которые подается через шину USB. В этом случае можно воспроизводить аудиофайлы на компьютере без звуковой карты. Компьютерный звук воспроизводится специальной программой-плеером, которая управляет ЦАП звуковой карты. В состав операционной системы Windows входит стандартный проигрыватель Windows Media Player; из аналогичных продуктов других фирм очень популярна программа WinAmp. Эти программы позволяют воспроизводить аудиофайлы практически любого формата.

2.45. Компьютерные презентации: типы слайдов, мультимедиа эффекты, организация переходов между слайдами

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


Графическая программа PowerPoint нашла широкое применение как средство создания презентаций. Она предоставляет возможность пользователю самостоятельно создавать слайды, вносить изменения, дополнять текстовые и графические элементы, а также редактировать всю презентацик) в целом. Данная программа позволяет наглядно представить сообщение несколькими способами: показом слайдов на экране, на бумажной распечатке или пленке для - проектора (35 мм), размещением в Интернете на одной или нескольких страницах или демонстрацией с компакт-диска. PowerPoint может задействовать элементы, полученные из множества источников. Создавая слайды, можно не только использовать встроенные в программу инструменты, но и импортировать элементы из других программ.

Порядок создания презентации в программе PowerPoint из пакета Microsott ()ffice 2007

1.     Выбрать тему слайда на вкладке Дизайн. От выбранной темы зависит вид презентации: цветовая схема слайда, его формат, графические элементы. Щелчком правой кнопки на выбранном образце надо вызвать контекстное меню и выбрать, к каким слайдам его применить.

2.     Определить нужные элементы и разместить их на слайде. Для этого можно воспользоваться предлагаемыми программой макетами, например маркированным списком, диаграммой или таблицей. Чтобы выбрать макет слайда, надо выбрать команду Макет из группы Слайды вкладки Главная, а затем щелкнуть по нужному макету, чтобы применить его к текущему слайду. Выбранный макет надо заполнить содержимым.

З. Окончательно оформить слайд. Для добавления анимации на слайд нужно выбрать желаемый стандартный эффект из списка Анимация или выполнить команду Настройка анимации и задать дополнительные параметры. Для изменения цветовой схемы слайда нужно повторно выбрать образец темы на вкладке Дизайн.

4.      Аналогично создать остальные слайды командой Создать слайД из группы Слайды вкладки Главная и оформить их.

5.      Проверить порядок слайдов. Общую картину презентации отображает режим Сортировщик слайдов. В этом режиме можно изменять порядок слайдов перетаскиванием мыши, удалять их или копировать, а также переопределять размер слайдов в раскрывающемся меню Масштаб. Переход в данный режим осуществляет команда Сортировщик слайдов из группы Режимы просмотра презентации вкладки Вид. В этом режиме можно добавить переходы между слайдами и анимацию.

6.      Задать переходы между слайдами. Простые переходы между слайдами помогают при смене кадров удерживать внимание аудитории. Несложная анимация, например постепенное затухание звука или изображения, может ненавязчиво, не бросаясь в глаза, представлять элементы слайда по мере обращения к ним. Чтобы добавить переход, нужно выбрать желаемый эффект (жалюзи, наплыв, прорезание и т. д.) в группе Переход к этому слайду вкладки Анимация, установить скорость перехода, добавить звук.

7.      Сохранить презентацию командой Сохранить или Сохранить как. Для открытия и закрытия презентации служат соответственно команды Открыть и Закрыть. Распечатать презентацию можно с помощью команды Печать. Все эти команды находятся в окне, открывающемся щелчком на кнопке 0fce.

8.      Просмотреть созданную презентацию. Для просмотра презентации с первого слайда надо выполнить команду Сначала из группы Начать показ слайдов вкладки Показ слайдов или нажать клавишу [F5]. Чтобы увидеть следующий слайд, надо нажать клавишу пробела, клавишу [PgDn], [Enter] или просто щелкнуть мышью. Чтобы просмотреть слайд-шоу начиная с текущего слайда, надо выбрать команду С текущего слайда из той же группы. Отменить показ слайдов можно клавишей [Esc]. Режим показа презентации и режим редактирования существуют независимо друг от друга. Во время демонстрации слайдов все меню редактирования недоступны и на экране не отображаются.

Основные типы слайдов

Текстовые слайды. К ним относятся заголовки, маркированные списки и текст в две колонки. В слайдах других видов текст комбинируется с такими элементами, как картинки, диаграммы или видеоклипы. На ленте появляется дополнительная панель Средства рисования с вкладкой Формат, команды которой позволяют отформатировать текст: задать стиль, цвет контура и заливки, добавить эффекты (тень, отражение, рельеф и др.), выровнять или развернуть текст, изменить его размер и переместить на задний или передний план.

Слайды с диаграммами. В PowerPoint можно создавать разнообразные двумерные и трехмерные диаграммы. Диаграммы, имеющие оси, создаются для того, чтобы продемонстрировать относительные величины и взаимосвязи между несколькими классами (например, нужно сравнить продажи текущего и прошлого года или выяснить, скорость какого процессора выше, и т. д.). Круговые диаграммы позволяют определить долю составляющего от целого. При добавлении на слайд диаграммы на ленте появляется дополнительная панель Работа с Диаграммами, содержащая вкладки Конструктор, Макет и Формат.

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

Слайды с рисунками. На слайд можно поместить предлагаемые программой образцы изображений или рисунок из любого файла пользователя, причем изображение можно как внедрить в документ, так и связать с файлом. На ленте появляется дополнительная панель Работа с рисунками, содержащая вкладку Формат.

Чтобы начать показ слайдов, надо нажать клавишу [F5]. Слайд появится в полноэкранном режиме. Для перехода к следующему слайду надо нажать клавишу [Enter] или левую кнопку мыши. Нажатие [Esc] отменяет показ слайдов. Во время показа презентации можно перейти к любому слайду. Для этого надо щелкнуть в любом месте слайда правой кнопкой мыши и в появившемся контекстном меню выбрать команду Перейти к слайду.

Во время показа слайдов может возникнуть необходимость сделать пометки на слайде, чтобы подчеркнуть какую-либо мысль. Для этого во время показа надо вызвать контекстное меню и выбрать в нем команду Указатель. В появившемся окне можно выбрать вид указателя (стрелка, ручка, фломастер, выделение), и при движении мыши на слайде будет создаваться рисунок.

PowerPoint позволяет задать автоматический показ слайдов (без щелчков мышью для перехода к следующему слайду). Можно предварительно отрепетировать показ презентации. По команде Настройка времени из группы Настройка вкладки Показ слайдов на экране появится первый слайд и откроется панель инструментов Репетиция. Теперь нужно отрепетировать свою речь при отображении каждого слайда. Когда вы будете готовы перейти к следующему слайду, надо нажать любую из клавиш, выполняющих эту функцию, или щелкнуть на кнопке Далее панели инструментов Репетиция. Те же действия надо выполнять на протяжении всего показа слайдов. После окончания программа отобразит общее время показа и задаст вопрос, сохранить ли время смены для каждого слайда и использовать ли его при показе презентации. Щелчок на кнопке Да запишет время и создаст автоматический показ слайдов.

Примеры заданий ЕГЭ к разделу 2.4

«Технология обработки графической и звуковой информации»

часть 1

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

                                                                                                              3) 1024                     4) 512

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

                                            1) 256                                                       3) 1024                     4 ) 64

Цвет пикселя монитора определяется тремя составляющими: красной, зеленой и синей. Под красную составляющую одного пикселя отвели 5 битов, под зеленую — 6 битов. Сколько бит отвели под синюю составляющую одного пикселя, если растровое изображение размером 16 х 16 пикселей занимает

512 байтов памяти?

                                             1) 4 битов                 2) 5 битов                 З) 6 битов                 4) 8 битов

В процессе преобразования растрового графического изображения количество цветов уменьшилось с 65536 до 256. Как изменился его информационный объем?

1)  увеличился в 2 раза      2) уменьшился в 2 раза

                                            З) увеличился в 16 раз                           4) уменьшился в 256 раз

В процессе преобразования растрового графического изображения количество цветов уменьшилось до 8, а его информационный объем уменьшился в 2 раза. Какое количество цветов было до преобразования изображения?

2)  32 3) 64    4) 256

В палитре растрового графического изображения 8 цветов, его размер 16 х 16 пикселей. Какой информационный объем имеет изображение?

                                             1) 96 байтов              2) 256 байтов            З) 0,5 Кбайт              4) 768 байтов

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

                                             1) 256 байтов            2) 256 Кбайт            З) 512 байтов            4) 64 Кбайт

Монитор позволяет получать на экране 2 24 цветов. Какой объем памяти в байтах занимает 1 пиксель?

Примеры заданий ЕГЭ

А9. Разрешение экрана монитора 1280 х 1024 точек, глубина цвета — 32 бита.

Каков необходимый объем видеопамяти для данного графического режима?

         1) 1,5 Мбайт             2) 5 Мбайт                З) 5 Кбайт                4) 7 Мбайт

А 10. Для кодирования цвета фона страницы Интернет используется атрибут bgcolor = ” # ХХХХХХ “ , где в кавычках задаются шестнадцатеричные значения интенсивности цветовых компонент в 24-битной Ж}В-модели. Какой цвет будет у страницы, заданной командой языка HTML < body bgcolor

         1) белый                   2) черный                З) серый                   4) синий

А 11. Цвет пикселя монитора определяется тремя составляющими: красной, зеленой и синей. Под красную составляющую одного пикселя отвели 6 битов, под зеленую и синюю — по равному количеству битов. По сколько битов отвели под синюю и зеленую составляющую одного пикселя, если растровое изображение размером 32 х 64 пикселей занимает 4 Кбайт памяти?

         1) 4 бита                   2) 5 битов                 З) З бита                   4) 16 битов

А 12. Каков минимальный объем памяти, достаточный для хранения любого растрового изображения размером 128 х 128 пикселей, если в изображении используется палитра из 65536 цветов? (Саму палитру хранить не нужно.) 1) 32 Кбайт 2) 2 Кбайт З) 128 Кбайт 4) 1 Мбайт


2.5. Технология обработки информации в электронных таблицах

2.5.1. ввод и редактирование данных в электронных таблицах, операции над данными

Программа Excel одно из самых популярных средств управления электронными таблицами. Каждый документ представляет собой набор таблиц рабочую книгу, которая состоит из одного или многих рабочих листов. Каждый рабочий лист имеет название это как бы отдельная электронная таблица. По умолчанию первый документ называется Книга 1. При сохранении в файле документа это имя можно изменить.

Таблица состоит из столбцов и строк. Столбцы обозначаются латинскими буквами А, В, С, D и т. д. Если букв алфавита не хватает — используют двухбуквенные обозначения АА, АВ, АС, ... , IV. Максимальное число столбцов 256. Строки нумеруются целыми числами. Максимальное число строк — 65535.

Ячейки располагаются на пересечении столбцов и строк. Номер (адрес) ячейки формируется из номера столбца и номера строки без пробела между ними. Например, А 1, D24, М 355. Одна из ячеек на рабочем листе всегда является текущей (активной). Она обведена широкой рамкой; в поле имени выводится ее номер, а в строке формул — ее содержимое. Именно с этой ячейкой производится работа считывание или запись.

Заполнение таблиц данными

Ячейка может содержать три виДа Данных:

1.                       Текстовые данные      строка текста произвольной длины.

2.                       Числовые данные отдельное число (в допустимом формате). Как числа рассматриваются данные, определяющие даты или денежные суммы.

З. Формулы содержимое ячейки рассматривается как формула, если оно начинается со знака равенства «=» . Ячейка, содержащая формулу, является вычисляемой, т. е. значение ее может зависеть от значений других ячеек таблицы. Формулы в ячейках не отображаются. Вместо формулы воспроизводится результат, полученный при ее вычислении. Чтобы увидеть формулу, хранящуюся в вычисляемой ячейке, нужно выделить эту ячейку (сделать текущей) и посмотреть в строку формул.

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

т. е. вертикальная полоса; 2:6 диапазон строк со 2 по 6 включительно, т. е. горизонтальная полоса; B2:G12 — диапазон ячеек, левый верхний угол которого ячейка В2, нижний правый угол ячейка (712.

Данные вводятся в текущую ячейку и одновременно отображаются в строке формул. Вводимый текст автоматически выравнивается по левому краю, а числа — по правому. Необходимые данные можно вставить в электронную таблицу из других приложений с помощью команд группы Получить внешние Данные вкладки Данные или обычным копированием с использованием буфера обмена Windows (здесь и далее приводятся команды для программы Excel из пакета MS 0ffice 2007).

Редактирование введенных данных осуществляется следующим образом. Если в заполненную ячейку нужно ввести новые данные, то необходимо сделать ее текущей и начать вводить новые значения. Старое содержимое ячейки при этом утрачивается. Если же надо только откорректировать некоторые данные, то нужно, активизировав ячейку, нажать клавишу [F2] или выполнить двойной щелчок левой клавишей мыши по ячейке. При этом в ячейке появится текстовый курсор, и содержимое можно исправить. Также исправления можно ввести в строку формул активной ячейки.

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

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

Чтобы размножить данные на несколько ячеек, нужно сделать активной первую ячейку диапазона и заполнить ее. Затем установить указатель мыши на маркер заполнения (правый нижний угол рамки текущей ячейки). Перетаскиванием маркера заполнения можно размножить содержимое текущей ячейки на несколько ячеек в столбце или строке. Если в первой ячейке были введены день недели или дата, то при перетаскивании вправо или вниз их значения будут увеличиваться на 1, а при перетаскивании влево или вверх уменьшаться на 1. Если в ячейку было введено число или текст, то при перетаскивании маркера оно скопируется в другие ячейки. Для создания числового ряда при перетаскивании маркера заполнения следует удерживать нажатой клавишу [Ctrll. По ходу перетаскивания содержимое последней ячейки отображается в небольшом всплывающем окне. Если для перетаскивания маркера использовать правую кнопку мыши, то при ее отпускании появится контекстное меню, позволяющее изменить способ заполнения диапазона.

Если требуется более сложный закон изменения последовательности значений, то после выбора первой ячейки и ввода в нее нужного значения надо выполнить команду Заполнить/Прогрессия из группы Редактирование вкладки Главная.

Автозаполнение ячеек данными можно также осуществить следующим образом. В первую ячейку надо ввести начальное значение ряда данных, а во вторую — следующее значение. Затем выделить эти две ячейки и перетащить маркер заполнения до конца нужного диапазона. Excel проанализирует „данные двух исходных ячеек, определит, насколько отличаются их значения, и создаст такой же ряд. Если в исходную ячейку было введено смешанное значение, например текст и число, то автозаполнение копирует текстовую часть (если только это не месяц или день) и наращивает числовую часть, если число находится в начале или в конце значения (но не в середине).

Операции над данными

о

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

Удаление. При нажатии клавиши [Del] произойдет очистка содержимого ячейки. Реальное удаление ячейки сопровождается изменением структуры таблицы. По команде УДалить ячейки из группы Ячейки вкладки Главная откроется диалоговое окно Удаление ячеек, в котором нужно выбрать направление смещения ячеек, занимающих освобождающееся место. Аналогичное окно открывается и при выборе команды УДалить из контекстного меню ячейки. Для удаления строки (столбца) надо выделить какую-либо ячейку в удаляемой строке (столбце) и выполнить команду Удалить строки с листа (Удалить столбцы с листа) из группы Ячейки вкладки Главная. Удалить строку или столбец целиком можно также выделив строку или столбец щелчком мыши по маркеру строки или столбца и выбрав команду Удалить из контекстного меню.

Копирование или перемещение. Эти операции можно осуществить разными способами:

1.     Навести указатель мыши на границу текущей ячейки (диапазона) и перетащить при нажатой левой кнопке мыши на новое место. В результате произойдет перемещение ячейки (диапазона). Если при перетаскивании удерживать нажатой клавишу [Ctrl], то произойдет копирование ячейки. При перетаскивании появляется серая рамка, которая помогает правильно разместить блок на новом месте.

2.     Выделить ячейку (диапазон), перейти на вкладку Главная и выполнить команду Копировать [ф] или Вырезать из группы Буфер обмена, а затем щелкнуть в нужном месте и выполнить ко-

манду Вставить       

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

Вставка. Для вставки в таблицу столбца щелкнуть на заголовке столбца, перед которым будет вставлен новый столбец, чтобы выделить его. Затем выполнить команду Вставить из контекстного меню выделенного столбца. Аналогично можно вставить строку, ячейку или блок ячеек.

Если нужно скопировать только часть информации, можно воспользоваться специальной вставкой. Команда Вставить/Специальная вставка из группы Буфер обмена откроет диалоговое окно, в котором можно указать, какую часть информации следует вставить из Буфера обмена (например, только значения без формул, по которым они получены; только форматы или только примечания).

Для вставки в таблицу рисунков или видеоклипов следует выбрать соответствующие параметры из группы Иллюстрации вкладки Вставка. Простой рисунок можно сделать и самому, воспользовавшись параметрами Фигуры и SmartArt из группы Иллюстрации. При добавлении фигуры на лист, открывается дополнительная вкладка Средства рисования, параметры которой позволяют изменить размеры и стиль фигуры, задать дополнительные эффекты, упорядочить, сгруппировать несколько фигур, добавить надписи и т. д.

Отформатировать ячейку (выделенный диапазон ячеек) и ее содержимое можно с помощью параметров групп Шрифт, Выравнивание, Число и Стили вкладки Главная. Щелчок мышью на кнопке с изображением стрелки рядом с названием группы открывает диалоговое окно Формат ячеек. На вкладке Число этого окна можно выбрать формат представления чисел и задать различные параметры, зависящие от выбранного формата; на вкладке Выравнивание установить способ вертикального и горизонтального выравнивания данных в ячейке, задать перенос по словам, объединение ячеек, автоподбор их ширины и т. д.; с помощью команд вкладки Шрифт задать гарнитуру шрифта и его параметров; на вкладках Граница и Вид задать способ обрамления ячейки, выбрать цвет фона и узор заполнения; с помощью команд вкладки Защита защитить ячейку паролем.

2.52. типы и формат ЕННЫХ. Работа с формулами.

Абсолютная и относительная ссылки. Использование функций

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

Числа в Excel отображаются в таких категориях форматов, как Числовой, Экспоненциальный, Финансовый, Денежный, Процентный и Дробный. Если необходимо ввести числа без привязки к каким-либо форматам, можно использовать формат Общий. При использовании числового формата можно задавать количество десятичных знаков с помощью кнопок Формат с разделителями 000 ,

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

Формат Дата и время позволяет хранить значения временнАх данных в удобном и привычном виде, например: 16.4; 16 апр; 16 Апрель 2009; апрель 2009; 16.04.09 1:30 РМ; 16.04.09 13:30 и т. д.

Текстом в Excel считается любая последовательность, состоящая из цифр, пробелов и нецифровых символов.

Формула должна начинаться со знака равенства и может включать в себя числа, имена ячеек, функции и знаки математических операций ( «+» — сложение; «—» вычитание; « умножение; «/» деление, « д » возведение в степень).

Чтобы в формуле сделать ссылку на ячейку, нужно указать ее имя вручную или просто щелкнуть по ней мышью. При этом ячейка обводится цветной рамкой. Если содержимое ячейки, участвующей в формуле, изменится, то и значение формулы изменится.

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

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

находится в столбце А строки 2». Смешанная ссылка содержит относительную и абсолютную ссылки, например: «ячейка находится в столбце А и выше на две строки». Относительная ссылка на ячейку А1 записывается так:

Абсолютная ссылка на ячейку А 1 имеет следующий вид:

$А$1.

Комбинируя абсолютные и относительные ссылки на ячейку „41, можно создать следующие смешанные ссылки:

- $А1

Если символ «$» стоит перед буквой, то координата столбца абсолютная, а строкй — относительная. Если же символ «$» стоит перед числом, то координата столбца относительная, а СТРОки — абсолютная. С помощью клавиши [F41 можно быстро изменить тип ссылки по схеме: А 1

При перемещении или копировании формулы из активной ячейки относительные ссылки автоматически настраиваются, а абсолютные сохраняются. Например, если в ячейку ввести формулу = „42 * В2 + $А$1 , а затем перетащить маркер заполнения до ячейки Сб, то в ячейках СЗ—С6 относительные ссылки А 1 и В1 будут заменяться на АЗ, Вез, „44, В4 и т. д., а ссылка $А$1 не изменится.

Формулы с текстовыми значениями

В большинстве случаев работа с текстовыми значениями происходит так же, как с числами. Например, если ячейка А 1 содержит текст АВС1)Е и в ячейку А10 введена формула = А 1, то в ячейке А 10 также будет выведено ABCDE.

Для объединения текстовых значений используется текстовый оператор &. Например, если ячейка А 1 содержит текст ABCDE, а ячейка „42 текст WQRT, и в ячейку АЗ введена формула А 1 & „42, то в ячейке АЗ будет выведено ABCDEWQRT. Чтобы вставить пробел между двумя строками, нужно изменить формулу на следующую: = А 1&“ Эта формула использует два текстовых оператора и текстовую константу — в данном случае пробел, заключенный в двойные кавычки.

С помощью оператора & можно объединять и числовые значения. Например, если ячейка А 1 содержит числовое значение 123 и в ячейке А2 записано число 456, значением формулы = А 1 &А2 будет строка символов 123456. Эта строка выравнивается по левому краю, т. к. она является текстовым значением.

Кроме того, можно использовать оператор & для объединения текстовых и числовых значений. Например, если ячейка А 1 содержит текст ABCDE, а ячейка „42 содержит числовое значение 123, то значением формулы = А 1 будет строка ABCDE123.

Если Excel не может вычислить результат формулы, то в ячейку выводится ошибочное значение, например: #Дел/0!, #имж, #ЗНАЧ! и др.

Примеры решения задач

Пример 1. В ячейке С 1 записана формула = З * $В1. Формулу скопировали в ячейку Е2. Какой вид приобретет формула в ячейке Е2?

Решение. В формуле используется смешанная ссылка на ячейку $В1: ссылка на столбец абсолютная,• т. е. при копировании столбец не изменится; ссылка на строку относительная, т. е. при копировании номер строки настроится. В исходной формуле в качестве второго сомножителя выступают данные ячейки из той же строки, в которой находится и формула (из 1-й). Значит, и в скопированной формуле данные будут браться из той же строки (2-й). Ответ: в ячейке Е2 будет записана формула = З * $В2.

Пример 2. Дан фрагмент электронной таблицы (рис. 2.2):

В ячейку D2 введена формула  + $С$1. Какое значение появится в ячейке D2 после вычисления формулы?

Решение. Значение ячейки „42  З. Подставим значения в формулу:

Ответ: 18.

Использование функций

Функция — это заранее определенная формула, которая оперирует с одним или несколькими значениями и возвращает одно или несколько значений.

Одно из самых распространенных действий вычисление суммы значений в столбцах или строках. Excel предлагает функцию = СУММ (Диапазон). Например, для суммирования значений в ячейках А1:АIО в ячейку А 11 нужно ввести функцию = СУММ (А1:АIО). Для облегчения доступа к этой функции в группе РеДактирование вкладки Главная есть кнопка Сумма Е . Чтобы просуммировать значения в столбце (строке) надо выделить ячейку ниже суммируемых чисел (справа) и нажать кнопку Сумма.

Функция состоит из двух частей:

1) имя (СУММ, AVERAGE и др.) описывает операцию, которую выполняет функция; 2) аргументы      задают значения или ячейки, используемые функцией.

Например, СУММ (А 1 :А6 ). Здесь СУММ — имя, а диапазон А 1 :А6 — ее единственный аргумент.

Между именем функции и ее аргументами не должно быть пробелов. Некоторые функции не имеют аргументов, но круглые скобки все равно нужно ставить. Например: = А 1 * ПИ ( ).

При использовании в функции нескольких аргументов нужно отделять их друг от друга « Например: функция = ПРОИЗВ(С1 ;С2;С5) перемножает числа в ячейках С 1 , С2 и С5.

В функции можно использовать до 30 аргументов, если при этом общая длина формулы не превосходит 1024 символа. Однако любой аргумент может быть диапазоном, содержащим произвольное число ячеек листа. Например, функция = СУММ (А 1 :А5; С2:СIО; D3:D17) содержит всего три аргумента, но суммирует 29 ячеек. Указанные в ссылке ячейки в свою очередь могут содержать формулы, которые ссылаются на другие ячейки и диапазоны. Используя аргументы, можно легко создавать длинные цепочки формул для выполнения сложных операций.

Аргументы функций могут представлять собой выражения из комбинаций функций. Например: = СУММ (SIN (А1*ПИ ( ) 2 * COS (А2*ПИ ( ) ) Здесь Функции SIN, COS и ПИ сначала вычисляются, а затем используются в качестве аргументов функции СУММ.

Функцию можно вводить на рабочий лист прямо с клавиатуры. Но удобнее воспользоваться командой Вставить функцию из группы Библиотека функций вкладки Формулы. Excel выведет окно диалога Мастер функций шаг 1 из 2. В этом окне сначала надо выбрать категорию в одноименном списке, а затем в алфавитном списке Выберите функцию указать нужную функцию и нажать кнопку ОК. Excel выведет в ячейке и в строке формул знак равенства, имя функции и пару круглых скобок, а затем откроет второе окно диалога мастера функций. В нем содержатся поля для ввода аргументов выбранной функции. Если функция имеет переменное число аргументов, то это окно диалога увеличивается при вводе дополнительных аргументов. Справа от каждого поля аргумента отображается его текущее значение. После ввода всех аргументов надо нажать кнопку ОК — и созданная функция появится в строке формул.

Также окно мастера функций можно вызвать щелчком на кнопке Вставить функцию в (УГРОке формул. Кроме того, если ввести знак равенства в ячейку, то поле Имя в строке формул заменится раскрывающимся списком, в котором перечислены 10 функций, использовавшихся последними, и пункт Другие функции, щелчок на котором откроет окно мастера функций. Еще один способ вызова мастера функций — в группе Редактирование вкладки Главная раскрыть список опций параметра Сумма и выбрать пункт Другие функции.

Всего в Excel более ЗОО встроенных функций. Вот некоторые из них. Математические функции:

СУММ (числа) — функция суммирует множество чисел.

ABS (число)       возвращает абсолютное значение числа или формулы.

ОКРУГЛ (число; количество_цифр) — округляет число, задаваемое ее аргументом, до укаЗаННОГО количества десятичных разрядов.

КОРЕНЬ (число) возвращает положительный квадратный корень из числа. Аргумент должен быть положительным числом.

ПРОИЗВЕД (число1; ЧИСЛО2;...) — перемножает все числа, задаваемые ее аргументами.

= LOG (число; основание) — возвращает логарифм положительного числа по заданному основанию. Если аргумент основание не задан, то Excel примет его равным 10.

СТЕПЕНЬ (число; степень) возводит число в заданную степень. Эта функция является эквивалентом оператора А . Например, формулы =СТЕПЕНЬ(З;2) и =З А 2 равносильны.

= SIN (число), = COS (число), = TAN (число) — возвращают синус, косинус, тангенс угла. Число  это угол в радианах.

Текстовые функции:

ЗНАЧЕН (текст) — преобразование текста в число. Текст это числа или даты, введенные в текстовом формате, т. е. заключенные в кавычки.

= ДЛСТР (текст)         возвращает количество символов в текстовой строке.

символ (число)   возвращает символ, который соответствует заданному числовому коду ASCII.

кодсимв (текст)               возвращает код ASCII для первого символа аргумента.

Логические функции:

ЕСЛИ (логическое выражение; значение если истина; значение если ложь). В качестве аргументов этой функции можно использовать другие функции.

— И (логическое значение1; логическое_значение2; ...; логическое_значениеЗО). Принимает значение ИСТИНА тогда и только тогда, когда. все аргументы имеют значение ИСТИНА.

ИЛИ(логическое значение 1; логическое значение2; логическое_значениеЗ0). Принимает значение ИСТИНА, если хотя бы один аргумент имеет значение ИСТИНА.

НЕ (логическое значение). Принимает значение ИСТИНА, если аргумент имеет значение

ЛОЖЬ, и наоборот.

Функции даты и времени:

= ДАТА (год; месяц; день) возвращает десятичное значение даты, которое представляет собой количество дней между базовой и заданной датой.

-  СЕГОДНЯ         — возвращает десятичное значение текущей даты.

— ВРЕМЯ (часы; минуты; секунДы)      возвращает десятичное значение, которое представляет собой долю суток между полуночью и заданным временем. Аргумент секунДы является необязательным: его можно опустить, но точку с запятой после аргумента минуты все равно надо поставить.

Статистические функции:

-  СРЗНАЧ ; числе...) вычисляет среднее арифметическое значение. Функция игнорирует пустые, логические и текстовые ячейки.

— МАКС (число1; ЧИСЛО2;...), = МИН (число1; число2;...) возвращают наибольшее и наименьшее значения из набора данных.

СУММЕСЛИ (Диапазон; критерий; Диапазон суммирования) каждая ячейка Диапазона проверяется на соответствие критерию, прежде чем прибавляется к итогу.

= СЧЕТЕСЛИ (Диапазон; критерий) вычисляется количество ячеек, которые удовлетворяют заданному критерию.

253. Визуализация данных с ПОМОЩЬЮ диаграмм и графиков.

Построение графиков элементарных функций

Электронные таблицы позволяют визуализировать данные, размещенные на рабочем листе, в виде диаграммы или графика. Диаграммы облегчают восприятие и помогают при анализе и сравнении данных.

Для создания диаграмм и графиков удобно использовать электронные таблицы, оформленные в виде базы данных.

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

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

При создании диаграммы открывается доступ к инструментам для работы с диаграммой: ОТОбражается меню Работа с Диаграммами, содержащее вкладки Конструктор, Макет и Формат. Команды этих вкладок можно использовать для изменения представления данных на диаграммах. Вкладка Конструктор используется для отображения рядов данных по строкам или столбцам, внесения изменений в исходные данные, изменения размещения диаграммы, изменения ее типа, сохранения диаграммы в качестве шаблона или выбора предварительно определенных параметров макета и форматирования. Вкладка Макет используется для изменения отдельных элементов диаграммы (заголовков, подписей данных и др.), использования инструментов рисования, а также добавления к диаграмме текстовых полей и рисунков. Вкладка Формат позволяет добавлять заливку цветом, изменять тип линий или использовать специальные эффекты.

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

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

Пример 1. Дан фрагмент электронной таблицы (рис. 2.3):

После выполнения вычислений была построена диаграмма по значениям диапазона ячеек В1: Ш. Какая из диаграмм является верной (рис. 2.4)?

 

2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1)


Решение. Сначала нужно вычислить значения в ячейках В1 :В4 по указанным формулам:

                                                                                   т = М                 = 4 - 3 = 12;

В2=В1 + 5 = 12 + 5 = 17;

ВЗ - В1 = 17 - 12 = 5; ва = ВЗ + 2 *А1  13.

Итак, значения ячеек диапазона В1:В4 равны 12; 17; 5; 13. Такому набору значений СООТВетСТвует диаграмма под номером 1. Ответ: 1.

Пример 2. В цехе трудятся рабочие трех специальностей: токари (Т), слесари (С) и фрезеровщики (Ф). Каждый рабочий имеет разряд — второй, третий, четвертый или пятый, и только одну специальность. На диаграмме 1 (рис. 2.5) отражено количество рабочих с различными разрядами, а на диаграмме 2 (рис. 2.5) — распределение рабочих по специальностям.

                                                2                   з                   4                  5

Имеются четыре утверждения:

А) Все рабочие третьего разряда могут быть фрезеровщиками.

Б) Все слесари могут быть пятого разряда. В) Все токари могут быть четвертого разряда.

        Г) Все рабочие третьего разряда могут быть токарями.

Какое из этих утверждений следует из анализа обеих диаграмм?

Решение. По диаграмме 1 найдем общее количество рабочих: 25 + 40 + 20 + 15 = 100 (человек). Из диаграммы 2 следует, что токари составляют половину всех рабочих, т. е. 50 человек, а слесари и фрезеровщики по 25 человек.

Проверим утверждение А. Рабочих третьего разряда 40 человек, а фрезеровщиков всего 25. Следовательно, все рабочие третьего разряда не могут быть фрезеровщиками. Утверждение ложно.

Проверим утверждение Б. Рабочих пятого разряда всего 15 человек, а слесарей — 25. Поэтому все слесари не могут иметь пятый разряд. Утверждение ложно.

Проверим утверждение В. Рабочих четвертого разряда всего 20 человек, а токарей 50. поэтому все токари не могут иметь четвертый разряд. Утверждение ложно.

Проверим утверждение Г. Токарей всего 50 человек, а рабочих третьего разряда — 40. Значит, все они могут быть токарями. Утверждение истинно. Ответ: 4.

Примеры заданий ЕГЭ к разделу 2.5

«Технология обработки информации в электронных таблицах»

часть 1

Примечание. Знак «$» используется для обозначения абсолютной адресации. В ячейке•В1 записана формула = 2 * $141 + „4$ 1 . Какой вид приобретет формула после того, как ячейку В1 скопируют в ячейку D2?

3) = 2 * $141 + D$2

4)

В ячейке А1 записана формула = $D$8 + В2. С помощью маркера заполнения формулу размножили на ячейкиА2 : А 1 О . Какая формула будет записана в ячей-

2) = $D$8+B8

Дан фрагмент электронной таблицы:

В ячейку D 1 введена формула = „42 + В$З * $С$З. Затем эта формула скопирована в ячейку D2. Какое значение в результате появится в ячейке D2?

2)   36

3)   105

4)   47

В электронной таблице значение формулы = СУММ(А2:А4) равно 12, а значение формулы = СРЗНАЧ(А1 :А4) равно 5. Чему равно значение в ячейке А1?

Дан фрагмент электронной таблицы:

Какое числовое значение появится в ячейке D1 после вычисления формулы?

2) 36

Аб. Дан фрагмент электронной таблицы:

 

 

 

 

 

15

28

 

13

5

29

=

19

18

- MAkC(A1 •.C4) - миназ5)

 

20

 

12

 

6

 

З

 

 

 

Какое числовое значение появится в ячейке Сб после вычисления формулы?

                                          2) 87                                                        4 ) 45

5

З

9

Формулу в ячейке С 1 скопировали в ячейки С2:С4. Какое числовое значение появится в ячейке С5 после вычисления формулы?

А8. Дан фрагмент электронной таблицы:

 

7

-  $А$1 + 10

-  B1 - 5

 

 

 

 

 

После выполнения вычислений была построена диаграмма по значениям диапазона ячеек В1:В4. Укажите получившуюся диаграмму.

          1)                                                              3)

2)

                                                                                                                                                                                                                                                                        Примеры заданий ЕГЭ               139


А9. На складе компьютерной фирмы имеются жесткие диски трех производителей: Samsung (S), Western Digital (W) и Maxtor (М). Емкость дисков составляет 120 Гбайт, 250 Гбайт, 320 Гбайт и 400 Гбайт. На диаграмме 1 отражено распределение дисков по производителям, а на диаграмме 2 — распределение дисков по емкости.

                                                                                                   120 Гб     250 Гб      320 Гб     400 Гб

Имеются четыре утверждения:

А) Все диски фирмы Maxtor имеют емкость 250 Гбайт.

Б) Все диски емкостью 320 Гбайт могут быть произведены фирмой Western Digital.

В) Все диски фирмы Samsung имеют емкость 120 Гбайт.

Г) Все диски емкостью 320 Гбайт и 400 Гбайт произведены фирмой Western Digital.

Какое утверждение следует из анализа обеих диаграмм?

А 10. Компьютерная фирма имеет филиалы в трех городах России: в Красноярске, Владивостоке и Хабаровске. На диаграмме показано количество проданных в предыдущем месяце принтеров (П), сканеров (С) и многофункциональных устройств (М) каждым филиалом.

Красноярск Владивосток Хабаровск

Какая из диаграмм правильно отражает соотношение проданных устройств по фирме в целом?

Примеры заданий ЕГЭ

А 11. Дан фрагмент электронной таблицы «Динамика роста числа пользователей мобильной связи» :

По данным

1)

1

Укажите, какие в таблице.

2.6. Технология хранения, поиска и сортировки информации в базах ДаННЫХ

2.6.1. Структура базы ДаННЫХ (записи и поля)

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

База данных (БД) — это информационная модель, позволяющая в упорядоченном виде хранить данные о группе объектов, обладающих одинаковым набором свойств.

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

Иерархическая БД. Элементы в записи упорядочены. Один элемент считается главным, остальные подчиненными. Примером такой структуры может быть дерево каталогов на диске или генеалогическое дерево. Служба имен доменов в Интернет (DNS) также является собранием иерархических баз данных для перевода имен доменов Интернет из символов в числовые адреса протокола передачи данных IP. Поиск какого-либо элемента данных в такой системе может оказаться довольно трудоемким из-за необходимости последовательно проходить несколько иерархических уровней.

Сетевая БД. Это более гибкая структура, т. к. в ней дополнительно к вертикальным связям устанавливаются горизонтальные связи. Процесс поиска данных в такой базе легче, чем в иерархической. Сетевой базой данных фактически является служба WWW сети Интернет.

Табличная БД. Это наиболее распространенная структура. Информация организована в виде таблиц. Каждая строка таблицы содержит информацию об одном отдельном объекте описываемой в БД предметной области, а каждый столбец — определенные характеристики (свойства, атрибуты) этих объектов. В БД столбцы называются полями, а строки — записями. Поля образуют структуру БД, а записи составляют информацию, которая в ней содержится.

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

Основными свойствами любого поля являются следующие:

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

Имя. Имена полей должны быть уникальными, иначе компьютер запутается в их содержимом. ПоДпись. Это та информация, которая отображается в заголовке столбца. Если подпись не задана, то в заголовке отображается имя поля. Разным полям можно задать одинаковые подписи.

Формат. Устанавливает формат данных.

Тип поля определяется типом данных, которые оно содержит. Основные типы полей:

      Текстовое поле        для ввода текста. Максимальный размер        255 символов.

Числовое поле — для ввода числовых данных.

Дата/время — для ввода даты и времени в определенном формате.

Логическое поле для ввода логических данных, имеющих только два значения (ДА 1, НЕТ — О). Его длина всегда равна 1 байту.

      Денежное поле       числа в денежном формате.

Поле объекта 0LE — в этом поле можно хранить картинки, музыкальные клипы, видеозаписи. Счетчик это числовое поле, имеющее свойство автоматического наращивания. При вводе новой записи в это поле автоматически вводится число, на единицу большее, чем значение того же поля в предыдущей записи. Эти числа не могут быть изменены пользователем. Обычно применяется для нумерации записей.

Поле МЕМО — используется, если нужно вставить длинный текст. В него можно поместить до 65535 символов (64 Кбайт). Особенность поля в том, что сами данные хранятся не в нем, а в другом месте, в поле хранится только указатель на то, где они расположены.

Гиперссылка       ссылки на информационный ресурс в Интернете.

Запись БД — это строка таблицы, содержащая набор значений свойств, размещенный в полях

базы данных.

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

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

Связи межДу таблицами могут быть одного из трех типов:

*         «один-к-одному» связанные таблицы имеют одинаковое количество записей и между этими записями установлено взаимнооднозначное соответствие;

*         « один-ко-многим» каждой записи в одной (главной) таблице могут соответствовать несколько записей в другой (подчиненной) таблице, а запись в подчиненной таблице не может иметь более одной соответствующей ей записи в главной таблице;

*         « многие-ко-многим» одной записи в первой таблице могут соответствовать несколько записей во второй таблице и наоборот. Две таблицы, находящиеся в отношении «многиеко-многим», могут быть связаны только с помощью третьей (связующей) таблицы.

Для создания, наполнения и обработки баз данных разработаны специальные программные средства системы управления базами данных (СУБД).

Примеры решения задач

Пример 1. В таблице представлен фрагмент базы данных о клиентах некоторой фирмы.

Код.Клиента

Фамилия

Адрес

Телефон

E-mail

К1216Р

Карпов

ул. Кирова, 25

2892316

kDA@mail.ru

М1347П

Маслов

ул. Королева, 12

7937847

MaslovN63@rambler.ru

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

Решение. Поля это столбцы базы данных, а записи это строки. Следовательно, в данной базе 5 полей. (Код Клиента, Фамилия, Адрес, Телефон, E-mail) и 2 записи (о клиентах Карпове и Маслове).

2.62. Табличное и картотечное представление баз данных

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

Обычная форма представления записей базы данных табличная. Эта форма особенно удобна при работе с БД в целом, групповых операциях над записями, генерации отчетов (выборок из БД) или поиском записей. Конкретные столбцы в отчете и их порядок может задавать пользователь.

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

                                                                                                                                                            2.6. Технология хранения, ПОИСКа и сортировки информации в базах данных            143

При этом каждая запись выводится в виде определенной экранной формы. Структура формы одинакова для всех записей. Названия полей соответствуют названиям столбцов табличной формы представления базы данных, а их расположение задается разработчиком БД. Как правило, внешний вид этих форм соответствует первичным бумажным документам, таким как карточка складского учета, банковское платежное поручение и т. д.

26.3. Сортировка и отбор записей

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

Сортировка это упорядочивание данных по некоторому признаку. Различают сортировку по возрастанию и по убыванию. Для числовых значений сортировка означает ранжирование по значению, а для текстовых — упорядочивание по алфавиту.

В СУБД Access сортировка осуществляется только по одному полю. Каждая новая сортировка отменяет результаты предыдущей. Вложенные сортировки выполняются с помощью запросов.

СУБД Access позволяет производить поиск записей, в которых значения определенного поля полностью или частично совпадают с заданной величиной. В СУБД Access 2007 поиск информации в таблице осуществляется следующим образом. Установить курсор в поле, в котором будет выполняться поиск, открыть на ленте вкладку Главная и в группе Найти выбрать команду Найти . Откроется окно Поиск и замена. В поле Образец надо ввести значение, которое следует найти.

Для этого можно использовать подстановочные знаки (маску):

— любой символ в начале или в конце;

« 9.»— любой символ в любом месте; любой символ из заключенных в скобки (например, маска b[ae]ll найдет ball, bell, но не bill);

— любой символ, кроме заключенных в скобки (например,   найдет bill, bull, но не баи, bell);

— любой символ из диапазона (например, b[a-c]d найдет bad, bbd, bcd); любая цифра.

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

Вкладка Замена этого окна позволяет не только найти какую-либо информацию, но и заменить ее на другую.

Выбор из базы тех записей, которые удовлетворяют требованиям пользователя, также осуществляется с помощью фильтров. Для задания фильтра нужно открыть на ленте вкладку Главная и в группе Сортировка и фильтр выбрать команду Фильтр. Команды этой группы Выделение и Дополнительно предлагают несколько дополнительных видов фильтров. Например, фильтр «по выделенному» позволяет отобрать записи, содержащие выделенный фрагмент; фильтр «исключить выделенное» скрывает записи, содержащие выделенный фрагмент; расширенный фильтр позволяет задать более сложные условия отбора записей, а также сортировку по нескольким параметрам.

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

26.4. Использование различных способов формирования запросов к базам данных

Запрос это мощное средство обработки данных, соединяющее в себе возможности, предоставляемые сортировкой и фильтрацией. С помощью запросов можно отбирать данные из нескольких таблиц сразу, создавать новые вычисляемые поля, в которых данные преобразуются при помощи формул, назначать сортировку и условие отбора для каждого поля. Запросы являются самостоятельными объектами БД, т. е. сохраняются с некоторым именем и могут использоваться в дальнейшем.

Для создания запросов к БД существует специальный язык запросов SQL (Structured Query Language) структурированный язык запросов. Вместо нећо в СУБД Access есть простое средство, которое называется бланком запроса. С его помощью можно сформировать запрос простыми приемами, перетаскивая элементы запроса между окнами.

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

Последовательность создания простого запроса на выборку в СУБД Access 2007 следующая. На ленте нужно открыть вкладку Создание и в группе Другие выбрать команду Конструктор запросов. При этом на ленте появится вспомогательная вкладка Работа с запросами/Конструктор. Также программа выведет бланк запроса и окно Добавление таблицы. Сначала надо задать таблицы или запросы, на которых будет основываться новый запрос. Это выполняется указанием имени таблицы (запроса) и щелчком на кнопке Добавить в окне Добавление таблицы.

Далее нужно заполнить строки нижней панели бланка, которые определяют структуру запроса, т. е. результирующей таблицы.

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

Флажок Вывод на экран указывает, надо ли выводить поле на экран.

В строке Условие отбора записывают тот критерий, по которому выбирают записи для включения в результирующую таблицу. По каждому полю можно создать свое условие отбора. Для формирования условий можно использовать логические операции (И, ИЛИ и др.)

Запуск запроса осуществляется выбором команды Выполнить из группы Результаты на вкладке Работа с запросами/Конструктор. При запуске образуется результирующая таблица, содержащая отобранную информацию.

Пользователь, не имевший отношения к созданию базы, не может изменить параметры, по которым делается запрос на выборку. Но часто пользователю надо предоставить возможность выбора того, что он хочет найти в таблицах БД. Для этого существует специальный запрос запрос с параметром. В строке Условие отбора бланка запроса в нужном поле надо ввести команду ИКЕ [ ] языка SQL

После запуска запроса на экран выведется окно, содержащее текст. В этом окне пользователю предлагается ввести параметр. По щелчку на кнопке ОК появится результирующая таблица.

Например, имеется БД, содержащая сведения о футболистах разных клубов: Фамилия, Имя, Дата Рождения, Рост, Вес, Клуб, Специализация. Требуется выбрать только спортсменов, принадлежащих одному конкретному клубу. А к какому именно клубу — должен выбирать пользователь. При формировании запроса с помощью бланка в строке Условие отбора поля Клуб нужно записать команду ИКЕ [ВвеДите название клуба]. Тогда при запуске запроса на экран будет выведено окно с текстом ВвеДите название клуба, полем для ввода и кнопкой ОК. Пользователь должен ввести название клуба, например Спартак, и щелкнуть на кнопке ОК. После этого появится результирующая таблица, содержащая записи о спортсменах клуба Спартак.

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

Для создания запроса, производящего вычисления, служит тот же самый бланк запроса. РазНИЦа в том, что в одном из столбцов записывают формулу. В нее входят заключенные в квадрат2.6. Технология хранения, поиска и сортировки информации в базах данных 145

ные скобки названия полей, участвующих в расчете, а также знаки математических операций. Если формула большая; то с помощью клавиш [Shift]+[F2] можно открыть вспомогательное окно Область ввода. В него можно ввести сколь угодно длинную формулу, а затем щелчком на кнойке ОК перенести ее в бланк запроса по образцу.

Например, имеется БД по итогам командных соревнований. Базовая таблица содержит сведения о проведенных играх команд, количестве побед, поражений, ничьих, о том, сколько забито и пропущено голов. В запросе надо отобразить результативность каждой команды. Для этого надо создать вычисляемое поле. Его название не должно совпадать ни с одним полем таблицы и Отделяться от формулы двоеточием. В бланке запроса в строке Поле в свободном столбце нужно ввести формулу:

Результативность : „[Забито] / [Игры]

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

Примеры решения задач

Пример 1. К нескольким файлам применялись различные архиваторы и в таблицу записывались исходный размер файлов и размер архивов. Ниже приведен фрагмент этой таблицы:

Имя файла

Размер

 

RAR

ARJ

Text1 .doc

285

114

106

112

Ref.doc

843

42

 

41

Требуется отобрать файлы, исходный размер которых был больше 2 Мбайт и при использовании WinRAR уменьшился более чем в 4 раза. Какое условие нужно использовать для формирования запроса?

1)     (Размер > 2000) И (Pa3Mep/RAR > 4)

2)     (Размер > 2048) И (RAR < 256)

3)     (Размер > 2048) ИЛИ (Pa3Mep/RAR > 4)

4)     (Размер > 2048) И (Pa3Mep/RAR > 4)

Решение. Исходя из условия задачи, в условии запроса должна использоваться логическая операция «И» (логическое умножение), поэтому вариант З) не подходит. Кроме того, надо учесть, что 1 Мбайт = 1024 байта. Запрос с условием 1) может отобрать записи о файлах с исходным размером менее 2 Мбайт, следовательно, также не подходит. Правильный вариант 4). Ответ: 4).

Пример 2. В таблице представлен фрагмент базы данных, содержащей информацию о странах, их площади (поле Площадь), численности населения (поле Население), расположении в части света (поле ЧС):

 

Страна

Столица

Площадь

Население

ЧС

1

Бельгия

Брюссель

30,5

10289

Европа

2

Коста-Рика

Сан-Хосе

51,1

3896

Северная Америка

З

Израиль

Тель-Авив

20,8

6116

Азия

4

Дания

Копенгаген

43,1

5 з 84

Европа

Какое условие нужно использовать для формирования запроса, отбирающего все европейские страны площадью менее 30 тыс. кв. км с численностью населения более 10 тыс. человек?

1)     (Площадь 30) И (Население > 10000)

2)     (ЧС = Европа) И (Площадь < 30) ИЛИ (Население > 10000)

3)     (Площадь < 30) И (Население > 10000) ИЛИ (ЧС = Европа)

4)     (ЧС = Европа) И (Площадь 30) И (Население > 10000)

Решение. Исходя из условия задачи, в условии запроса должна использоваться логическая операция «И» (логическое умножение), поэтому варианты 2) и З) не подходят. Условие 1) также неверно, т. к. в нем не задано расположение страны (Европа), т. е. по такому запросу будут ОТОбраны страны, расположенные в Африке, Азии и т. д. Правильный вариант 4). Ответ: 4).


Примеры заданий ЕГЭ к разделу 2.6

«Технология хранения, поиска и сортировки информации в базах данных»

часть 1

В таблице представлен фрагмент базы данных о победителях районных предметных олимпиад:

Сколько полей в данной базе?

А2. В таблице представлен фрагмент базы данных туристического агентства:

Сколько записей в данном фрагменте?

                                                                            2) 20                                                         4) 16

АЗ. В таблице представлен фрагмент базы данных о метеонаблюдениях в течение первой декады октября:

Сколько записей в данном фрагменте удовлетворяют условию:

(Количество_осацков > 1 ИЛИ Давление < 748) И Температура < 15?

Примеры заданий ЕГЭ

Рейтинг

Имя, фамилия

Страна

Очки

1

Роджер Федерер

Швейцария

7 290

2

Рафаэль Надаль

Испания

4 875

з

Энди Роддик

США

2 980

4

Николай Давыденко

Россия

2 825

5

Фернандо Гонсалес

Чили

2 755

6

Томми Робредо

Испания

2 645

7

Новак Джокович

Сербия

2 540

9

Джеймс Блейк

США

2 150

10

Энди Мюррей

Великобритания

2 125

23

Дмитрий Турсунов

Россия

1 120

26

Марат Сафин

Россия

1 035

63

Игорь Королев

Россия

587

73

Теймураз Габашвили

Россия

540

92

Игорь Куницын

Россия

469

А4. В таблице представлен фрагмент базы данных о международном рейтинге

[ПЕРДР спортсменов-теннисистов:

Данную таблицу отсортировали по полю Страна (по возрастанию), а затем по полю Очки (по убыванию). В какой по счету строке будет находиться пос- ле сортировок запись о спортсмене Марате Сафине?

                              2) в 8-й                     3) в 11-й                   4) в 6-й

А5. В таблице представлен фрагмент базы данных о физическом развитии учеников 10 класса:

 

Фамилия

пол

Рост

Вес

1

Белкина

 

166

72

2

Блинов

м

171

70

з

Волков

м

169

60

4

Грачева

 

168

55

5

Ильина

 

158

62

6

Кулешов

м

165

65

7

Леонова

 

170

62

8

Леонтьев

м

170

66

9

Михайлов

м

161

69

10

Никольская

 

157

60

11

Петрова

 

156

52

12

Романова

 

158

54

Сколько записей в данном фрагменте удовлетворяют условию:

          пол -           И (Рост < 170 ИЛИ вес > 68)?

                                                                                                                                                                                                                                                                       Примеры заданий ЕГЭ               149

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

Андреева

101

 

 

 

 

 

Александров

 

 

 

 

 

 

Бородин

102

 

 

 

 

 

Белова

101

 

 

 

 

 

Васильев

101

 

 

 

 

 

Игнатенко

101

 

 

 

 

 

Комарова

102

 

 

 

 

 

Кузнецов

102

 

 

 

 

 

Лимаренко

101

 

 

 

 

 

Михайлов

102

 

 

 

 

 

Мухина

102

 

 

 

 

 

Петровский

101

 

 

 

 

 

Сколько записей в данном фрагменте удовлетворяют условию:

Группа = ” 101 “ И Форма обучения = “ К“ И Физика Программирование?

В таблице представлен фрагмент базы данных о физическом развитии учеников 10 класса:

 

Фамилия

пол

Рост

 

 

Белкина

 

 

 

 

Блинов

 

 

 

 

Волков

 

169

 

 

Грачева

 

 

 

Как следует записать условие отбора, которое позволит сформировать список мальчиков, чей рост выше 170 см и вес не менее 65 кг?

1)     (Рост > 170) И (Вес           65)

2)     (Рост         170) И (Вес > 65) И (Пол -

3)     (Рост > 170) ИЛИ (Вес 65) ИЛИ (Пол 4) (Рост > 170) И (Вес 65) И (Пол

На олимпиаде по физике предлагались задания трех типов: А, В и С. Итоги олимпиады оформлены в таблицу, в которой отражено, сколько заданий каждого типа выполнил тот или иной участник. Ниже приведен фрагмент табЛИЦЫ:

Примеры заданий ЕГЭ

Фамилия, имя

 

в

с

Андреев Игорь

з

1

1

Белов Сергей

2

2

 

За правильное выполнение задания типа А участнику начислялся 1 балл, за выполнение задания типа В — З балла, и за выполнение задания типа С — 5 баллов. Победитель определялся по сумме набранных баллов. Для оп- ределения победителя олимпиады достаточно выполнить следующий запрос:

1)     Отсортировать таблицу по убыванию значения столбца С и взять первую строку.

2)     Создать вычисляемое поле с формулой А + В + С; отсортировать таблицу по убыванию значений выражения А + В + С и взять первую строку.

З) Создать вычисляемое поле с формулой А + З • В + 5 • С; отсортировать таб- лицу по убыванию значений выражения А + З • В + 5 • С и взять первую строку.

4) Создать вычисляемое поле с формулой А + З • В + 5 • С; отсортировать таблицу по возрастанию значений выражения А + З • В + 5 • С и взять первую строку.

А9. В таблице представлен фрагмент базы данных склада-магазина:

 

Наименование товара

Цена, руб.

Количество, шт.

Стоимость, руб.

1

Монитор

1200

20

24000

2

Клавиатура

120

27

3240

з

Мышь

85

 

2890

4

Колонки акустические

320

9

2880

5

Принтер

750

зо

22500

6

Сканер планшетный

зоо

10

3000

На какой позиции окажется товар «Клавиатура», если произвести сортировку данной таблицы по убыванию столбца «Количество»?

А 10. В таблице представлен фрагмент базы данных о метеонаблюдениях:

Число

Количество_осадков, мм

Температура, ос

Давление, ММ РТ. СТ.

1

1,5

17

741

2

2

13

738

З

 

10

740

4

 

12

745

Как следует записать условие отбора, которое позволит вывести дни, когда температура была выше 1 З ОС и наблюдались осадки? 1) (Количество осадков > О) И (Температура > 13)

2) (Количество осадков >= О) ИЛИ (Температура > 13) З) (Количество осадков > О) ИЛИ (Температура > 13)

4) (Количество осадков > О) И (Температура >=13)


2.7. Телекоммуникационные технологии

2.7.1. Базовые ПРИНЦИПЫ организации и функционирования компьютерных сетей. Локальные и глобальные сети. Адресация в сети

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

Коммуникационное, или сетевое, оборудование — это периферийные устройства, которые осуЩеСТВЛЯЮТ преобразование сигналов, используемых в компьютере, в сигналы, передаваемые по линиям связи, и наоборот. При использовании телефонных линий связи применяют модемы, подключаемые к компьютеру через стандартный последовательный порт. Одна из важнейших ха- • рактеристик модема — это скорость передачи данных, измеряемая в битах за секунду (бод). Современные модемы имеют скорость передачи данных 1200—52000 бод и более. При использовании других линий связи применяют сетевые адаптеры.

Линия связи — это оборудование, с помощью которого осуществляется соединение компьютеров в сеть.

Линии связи бывают:

• провоДные для передачи сигналов используются кабели (например, телефонная линия);  беспроводные все остальные линии связи: спутниковая связь, каналы цифровой связи (КЦС). Пропускная способность КЦС — до сотен млн Кбод.

Объединенные в сеть компьютеры всегда работают под управлением специальных программ управления сетью.

Коммуникационное, или сетевое, программное обеспечение это набор программ, обеспечивающий работу сетевого оборудования и обмен информацией между компьютерами в сети.

Сетевое программное обеспечение делится на две группы:

1)     «низкого» уровня — управляет сетевым оборудованием с целью преобразования сигналов из одного вида в другой. Эти программы ничего «не знают» о структуре передаваемой информации;

2)     «высокого» уровня — распознает и обрабатывает информацию в зависимости от ее характера и способа организации. Компьютерные сети делятся на две группы локальные и глобальные.

Локальные вычислительные сети

Локальная вычислительная сеть (ЛВС) — объединяет компьютеры, расположенные на небольшом расстоянии друг от друга, и представляет собой замкнутую систему. Небольшие расстояния между компьютерами позволяют использовать в локальных сетях в качестве линий связи простейшие проводные линии (кабели различных типов: коаксиальный, витая пара, оптоволоконный). Кабели подсоединяются к компьютеру через специальное устройство, называемое сетевой картой или сетевым адаптером. Это устройство вставляется в слот расширения на материнской плате компьютера. Имеются материнские платы со встроенным сетевым адаптером. Сетевые адаптеры (ArcNet, Ethernet, TokenRing) различаются производительностью (скоростью передачи данных) и соответственно стоимостью.

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

ПРОЦШЫ

Топология ЛВС — это способ объединения компьютеров в сеть между собой. Основные топологии ЛВС:

Гирлянда

     Кольцо      

      Звезда       

ЛВС создается для совместного использования и обмена информацией между компьютерами, а также для совместного использования ресурсов сети.

Ресурс сети это устройство, входящее в аппаратную часть какого-либо компьютера сети, доступное и используемое любым пользователем сети. Это могут быть принтеры, сканеры, дисковые накопители большой емкости, устройства резервного копирования информации, станки с ЧПУ и т. д., а также диски, программы и данные.

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

Одноранговая сеть — сеть равноправных компьютеров — рабочих станций, каждый из которых имеет имя и пароль для входа в компьютер в момент загрузки операционной системы. Имя и пароль назначаются владельцем компьютера средствами операционной системы и BIOS. В такой сети могут быть организованы «подсети» так называемые группы, каждая из которых имеет имя, например «Бухгалтерия». Принадлежность к какой-либо группе может быть задана или изменена пользователем. Владельцу каждого компьютера в сети предоставлена программная возможность самому преобразовывать свой локальный ресурс (диски, папки, принтер) в разделяемый (сетевой), а также устанавливать права и пароль доступа к нему. Он же отвечает за сохранность или работоспособность этого ресурса. Сети этого вида часто организуются в небольших офисах (10—15 компьютеров); они не требуют системного администратора.

Иерархические сети — это сети, в которых имеется мощный компьютер — выделенный сервер, ресурсы которого предоставляются другим соединенным с ним компьютерам — рабочим станциям. Сервер (хост) — компьютер, предоставляющий свои ресурсы для совместного использования. Рабочая станция (клиент) — компьютер, пользующийся ресурсами сети. Ресурсы рабочих станций серверу, как правило, не доступны. По сравнению с одноранговыми сетями обеспечивают более высокое быстродействие и надежность работы сети, повышают конфиденциальность и надежность хранения информации и др. Работу всей сети организует системный администратор.

Возможна организация сетей и более сложных видов:

        сочетание оДноранговой ш иерархической сети — рабочие станции могут быть как подключены к выделенному серверу по принципу иерархической сети, так и объединены между собой в одноранговую сеть;

        иерархическая сеть с несколькими выделенными серверами;

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

Взаимодействие серверов и рабочих станций обеспечивается сетевым программным обеспечением каждого компьютера сети. На сервере устанавливается сетевая операционная система, управляющая его работой и работой всей сети. На компьютере-клиенте располагается клиентская часть программного обеспечения, которая взаимодействует с сервером. В зависимости от вида сети программы на сервере и компьютере-клиенте могут быть как одинаковыми, так и различными. Сейчас наиболее распространены сетевые программы фирм Novell (программы Novell Netware) и Microsoft (Windows ЛТТ-сервер, сети Microsoft).

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

ЛВС используются в системах управления базами данных для быстрого доступа нескольких компьютеров к одной базе данных (например, при продаже авто-, авиа-, железнодорожных билетов), а также в производстве — для управления производственным процессом, выходного контроля качества, учета готовой продукции и расхода материалов.

Локальные сети обычно объединяют компьютеры, размещенные в одном здании, и не позволяют обеспечить совместный доступ к информации пользователям, находящимся, например, в разных частях города. Для решения этой проблемы создаются региональные сети, объединяющие компьютеры в пределах одного региона (города, страны, континента).

Многие организации, заинтересованные в защите информации от несанкционированного доступа, создают собственные, так называемые корпоративные сети. Такие сети могут объединять десятки тысяч компьютеров, размещенных в различных городах и странах.

Глобальные сети

Потребность в формировании единого мирового информационного пространства привела к созданию глобальных компьютерных сетей.

Глобальная сеть — соединения локальных, региональных и корпоративных сетей и отдельных компьютеров, находящихся на больших расстояниях друг от друга. Большие расстояния требуют наличия дополнительного устройства для обработки больших объемов информации и пересылки ее на большие расстояния. Это — серверы глобальной сети, представляющие собой очень мощные компьютеры.

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

Для пользования глобальной сетью компьютер должен иметь модем и специальное программное обеспечение.

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

Самая большая глобальная сеть Internet (Интернет). Она охватывает все континенты Земли. Интернет всемирная КС, объединяющая в единое целое десятки тысяч разнородных локальных и глобальных сетей. Эта сеть содержит огромный объем информации по любой тематике, доступной на коммерческой основе всем желающим. Помимо получения чисто информационных услуг, через Интернет можно совершать покупки и коммерческие сделки, оплачивать счета, заказывать билеты на различные виды транспорта, бронировать места в гостиницах и др.

Интернет представляет собой объединение нескольких десятков тысяч различных локальных сетей (Сеть сетей). Каждая ЛВС называется узлом, или сайтом, а юридическое лицо, обеспечивающее работу сайта, провайдером. Сайт состоит из нескольких компьютеров серверов, каждый из которых предназначен для хранения информации определенного типа и в определенном формате. Каждый сайт и сервер на сайте имеют уникальные имена, посредством которых они идентифицируются в Интернете.

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

        по коммутируемому телефонному каналу с помощью модема;

        с помощью постоянно действующего выделенного канала (просто вызовом соответствующей программы для работы в Интернете).

После соединения с провайдером пользователь получает доступ ко всем сайтам и компьютерам в Интернете. Открывающиеся при этом перед пользователем возможности зависят от условий контракта с провайдером.

Основная задача Интернета обеспечить пользователя необходимой информацией и услугами. Для этого используется технология клиент/сервер.

Клиент (потребитель) программа, принимающая информацию и услуги, предоставляемые другими компьютерами серверами (поставщиками). Компьютеры, на которых запускают программы-серверы, должны обладать достаточно мощными ресурсами, т. к. им приходится «пропускать через себя» огромные объемы информации. Любой компьютер может выступить в роли клиента, как только на нем будет запущена какая-либо программа-клиент.

В компьютерных сетях используются различные марки компьютеров, типы модемов, линии связи, операционные системы и другие программы. Для того чтобы все сети «понимали» друг друга, они должны использовать единый набор правил, определяющий способ обмена информацией. Такой набор правил называется протоколом.

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

Все компьютеры, подключенные к Internet, должны использовать один и тот же протокол. С 1983 года это протокол TCP/IP (Transmission Control Protocol/Internet Protocol). Фактически это два протокола.

IP (протокол межсетевого взаимодействия) более ранний вариант, разработанный для пересылки данных, организованных в пакеты. В пакет входит сообщение и информация о маршруте, т. е. адреса компьютера-отправителя и компьютера-получателя (аналогично пересылке письма в конверте по почте). Специальные компьютеры-маршрџтизаторы (router) определяют путь, по которому должны следовать пакеты от компьютера к компьютеру, пользуясь таблицами и алгоритмами маршрутизации (т. к. прямой связи между любыми двумя компьютерами нет). Большие сообщения делятся на несколько пакетов с номерами. По этим номерам компьютерполучатель должен полностью восстановить исходное сообщение после получения всех пакетов. Недостатком протокола IP является его неспособность справиться с ошибками при передаче информации. Каждый пакет содержит контрольные суммы, которые вычисляются определенным образом по исходной информации. Компьютер-получатель выполняет те же вычисления и находит контрольные суммы по полученной информации. Если они не совпадают с исходными, значит, в процессе передачи произошла ошибка и данные исказились. При искажении данных, нарушении последовательности доставки пакетов или прерывании процесса передачи компьютер-получатель полностью отбрасывает пакет.

ТСР (протокол управления передачей) устраняет этот недостаток. В случае возникновения какой-либо ошибки принимающий компьютер запрашивает повторную передачу.

Таким образом, ТСР следит за целостностью данных, разбивает большие сообщения на последовательности более мелких, организует их нумерацию и последующее восстановление в единое сообщение; IP контролирует перемещение пакетов по Интернету, выбирая маршрут пересылки данных от одного компьютера к другому, а также определяет формат адреса компьютера.

Все современные операционные системы имеют встроенную поддержку основных протоколов для работы с Интернетом.

Каждый компьютер, подключенный к Интернету, должен иметь свой уникальный адрес во избежание путаницы при пересылке информации.

В Интернете применяются два типа адресов.

1Р-адрес по смыслу аналогичен почтовому индексу. 1Р-адрес это последовательность из четырех чисел, разделенных точками. Каждое из чисел занимает 1 байт, т. е. может принимать значения О.. 255. Так как 1 байт = 8 бит, эти числа часто называют октетами. Используется три класса Р-адресов: А, В и С. Класс 1Р-адреса определяет, сколько октетов отводится под адрес сети и сколько под адрес компьютера.

Класс А используется для работы с небольшим количеством сетей (до 126), содержащих большое число компьютеров (46,8 млн) (рис. 2.6).

1   2          з          4 сетевой идентификатор компьютера идентификатор

Класс В — для работы со средним количеством сетей (до 16384), содержащих среднее число компьютеров (до 65534) (рис. 2.7).

                                            сетевой идентификатор       идентификатор компьютера


Класс С — для работы с большим количеством сетей (до компьютеров (до 254) (рис. 2.8).

сетевой идентификатор

Класс определяют по значению первого октета:

 если в первом октете число от 1 до 126 — класс А;  если в первом октете число от 128 до 191 — класс В;  если в первом октете число от 192 до 223 — класс С. 2 млн), содержащих малое число

идентификатор компьютера


Для передачи сообщений на конкретные компьютеры в Internet протокол TCP/IP и программыклиенты используют 1Р-адреса. Но они неудобны для восприятия пользователем. Человеку привычнее работать с именами.

Все пространство адресов Интернета разбито на области — домены. Внутри доменов возможно разделение по определенным признакам.

Доменный адрес — уникальное символьное имя компьютера в сети. Оно состоит из частей, разделенных точками. Место назначения уточняется справа налево: сначала указывается имя компьютера, затем — имя в сети, в которой он находится.

Доменный адрес компьютера включает в себя как минимум два уровня доменов. Домен пербого уровня определяет страну или тип организации, которой принадлежит компьютер. Существуют установленные двухбуквенные сокращения для доменов стран. Например, Россия ru, США — из, Франция fr и т. д. Домены типов организаций обычно имеют трехбуквенные сокращения. Например, учебные заведения — edu, правительственные учреждения — gov, коммерческие организации сот, провайдеры услуг Интернет net и т. д. Домен второго уровня определяет организацию, которая владеет или управляет сетью, содержащей данный компьютер. Обычно имя этого домена совпадает с названием соответствующей фирмы или ее торговой маркой. Имя компьютера указывает конкретный компьютер в сети, определенной доменами первого и второго (а возможно, и следующих) уровней. Оно регистрируется только в этой сети, и только эта сеть «ответственна» за передачу информации конкретному компьютеру-адресату. Примеры доменных имен:

win.smtp.dol.ru www.google.com.ua

Домены могут сочетать региональные и организационные уровни, например: edu.ru образовательные организации в России.

Доменные адреса должны быть преобразованы в 1Р-адреса. «Обычный» компьютер не может и не должен знать все 1Р-адреса Интернета. На DNS-cepepax (Domain Name System) хранятся таблицы соответствия доменных и 1Р-адресов. ТО-серверы распределены по всей сети Internet. Каждый из них хранит информацию о большом числе компьютеров и способен мгновенно преобразовать доменное имя в Р-адрес. Если 1Р-адрес запрошенного компьютера не известен данному DNS-cepBepy, он обратится к ближайшему DNS-cepepy и т. д. по цепочке, пока требуемый адрес не будет найден. Это займет несколько секунд. Адрес одного из Г)ћБ-серверов пользователь должен указать при настройке компьютера для работы в Интернете. Его можно получить у администратора локальной сети или провайдера.

В Интернете для поиска МТеЬ-документов используется система адресации URL (Uniform Resource Locator — унифицированный указатель ресурсов). Она применяется для указания способа организации информации на конкретном хосте и идентификации размещенного на нем информационного ресурса. URL включает в себя протокол доступа к документу, доменное имя или 1Р-адрес сервера, на котором находится документ, а также путь к файлу и собственно имя файла.

Протокол доступа к документу определяет способ передачи информации. Для доступа к МТеЬ-страНИЦаМ используется протокол передачи гипертекста НТТР. При записи протокола после его имени следует двоеточие и две косые черты: http://.

Например, URL имеет вид

http://home.microsoft.com/_intl/ru/www tour.html

Элементы этого адреса обозначают:

*        http:// префикс, указывающий тип протокола. В данном случае означает, что адрес относится к хосту, который является WWW-cepepoM. В качестве префикса (протокола) могут быть также указаны: ftp://, file://, news://;

*        home.microsoft.com — доменное имя хоста. После него может следовать число, обозначающее порт, через который будет производиться подключение к хосту;  /intl/ru/ — папка ш корневого каталога intl хоста;

*        www_tour.html — имя файла.

Т.ЈТ„-адрес не должен содержать пробелов. Он состоит из латинских букв и некоторых символов ( , —). Прописные и строчные буквы различаются. Путь к папке и название файла могут отсутствовать, а в конце могут указываться некоторые параметры. Например:

http:[_[yandex.ru:8081/ya detail.html#P7 http://www.surplusauction.сот/auction.sa?SI=Ge09 http: [_[www.stars.ru/cgi-bin/decads.pl?search=% С 1 % F3 % ЕАО/о E8&section=iserv

2.72. Услуги компьютерных сетей: World Wide Web, электронная почта, файловые архивы, поисковые системы, чат и пр.

Для различных видов работы в Интернете существуют свои службы (сервисы).

Наиболее популярны следующие службы:

*        электронная почта;  группы новостей UseNet (телеконференции);

*        всемирная информационная служба Web;

                     • служба обмена файлами РТР;

*        службы, обеспечивающие «живое» общение, аудио- и видеовещание в Интернете.

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

Electronic mail (E-mail) — электронная почта. Это одна из первых служб, а также из числа наиболее популярных. Ее достоинства — дешевизна, оперативность, доступность.

Почтовый адрес в Интернете состоит из двух частей, разделенных символом @:

имя пользователя (@ имя сервера

Первая часть почтового адреса (имя пользователя) имеет произвольный характер и задается самим пользователем при регистрации почтового ящика. Вторая часть (имя сервера) является доменным именем почтового сервера, на котором пользователь зарегистрировал свой почтовый ящик. Почтовый адрес записывается только латинскими буквами и не должен содержать пробелов. Например, имена почтовых ящиков пользователей, зарегистрированных на бесплатном почтовом сервере mail.ru будут иметь вид: user_name@mail.ru.

Работа E-mail основана на специальных протоколах, а также на взаимодействии двух программ — почтового сервера и почтового клиента.

Существует две группы протоколов, по которым работает электронная почта:

Протоколы SMTP и РОР (или РОРЗ). Протокол SMTP (Simple Mail Transport Protocol) поддерживает передачу сообщений между адресатами Интернета. Он позволяет группировать сообщения в адрес одного получателя, размножать копии Е-тап-сообщений для передачи на разные адреса. Протокол РОР (Post 0ffice Protocol З) обеспечивает конечному пользователю доступ к поступившим на его адрес электронным сообщениям. РОР-клиенты запрашивают пароль, что повышает конфиденциальность переписки.

Протокол IMAP. Этот протокол получает все большее распространение. Он дает возможность пользователю работать с письмами непосредственно на сервере провайдера и экономить время работы в Интернете.

Для работы с электронной почтой создано много программ. В операционной системе Windows есть встроенная программа Internet Май. Также используются программы MS Exchange, Eudora, 0utlook Express, Netcape Messenger и др.

Основные функции почтовых программ:

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

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

Общение участников Usenet организовано с помощью серверов новостей или, как их назыВаог, NNTP-cepBepoB (Network News Transfer Protocol — протокол передачи сетевых новостей). Серверы разбросаны по всему миру. При подключении к Internet провайдеры обеспечивают и доступ к серверу новостей. Программа-клиент Usenet передает сообщение на сервер новостей, тот на связанные с ним серверы новостей, каждый из них — на следующую группу связанных серверов и т. д.

Каждая конференция представляет собой совокупность текстовых сообщений статей подписчиков; помещение статьи в конференцию называется публикацией.

Существует несколько тысяч групп новостей, поэтому они организованы в иерархическую структуру категорий и подкатегорий. Имена групп новостей строятся слева направо от 60лее общего к более конкретному. Категории и подкатегории отделяются точками. Например: comp.os.ms-windows можно получить информацию об операционной системе Windows. Здесь сотр — категория верхнего уровня, включающая все темы, связанные с компьютерами; os подкатегория, предназначенная для обсуждения операционных систем; ms-windows подкатегория следующего уровня, предназначенная для обсуждения конкретных операционных систем серии Windows фирмы Microsoft.

Существует много программ для работы с Usenet. Можно пользоваться программами 0utlook Express или Netscape Collabra. В настоящее время 0utlook Express и Netscape Messenger две самые популярные программы, поддерживающие работу одновременно с почтой и новостями. Программы работы с конференциями обеспечивают:

 указание множества конференций, в работе которых намерен участвовать пользователь. Эта операция называется поДпшской, а множество конференций, на которые осуществлена подписка, — списком поДпискш (он может быть в любой момент изменен);  просмотр фамилий авторов и заголовков (тем) статей в любой конкретной конференции из списка подписки;  просмотр содержимого статей и при необходимости сохранение их в файле в заданном каталоге компьютера пользователя;  публикацию своей собственной статьи;  персональный ответ автору какой-либо статьи на его Е-таП-адрес;  публичный ответ автору конкретной статьи, который будет фигурировать как статья конФеренции.

World Wide Web, или просто Web, — всемирная паутина (сеть). Она представляет собой огромный набор взаимосвязанных друг с другом документов, хранящихся на разных компьютерах.

Документы называются МТеЬ-страницами, компьютеры — МТеЬ-серверами (МТеЬ-узлами, Webсайтами).

Среда WWW не имеет централизованной структуры и может рассматриваться как информационное пространство, которое заполняется теми, кто желает разместить свои документы в Интернете.

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

Из чисто информационной WWW все больше становится посреднической системой, обеспечивающей заключение контрактов, покупку товаров и расчеты по ним, бронирование билетов на транспорт, выбор и заказ экскурсионных маршрутов и тысячи других услуг. С помощью WWW проводится опрос общественного мнения, ведутся интерактивные диспуты с ведущими политиками, коммерсантами, деятелями культуры.

Особенности WWW, обеспечившие ее высокую популярность:

 гипертекстовая организациз информационных элементов страниц WWW. Это означает, что страница WWW может содержать гипертекстовые ссылки, оформленные в виде рисунка или выделенного текста;  возможность включения в страницы WWW современных мультимедийных средств (графики, звука, анимации), а также средств по художественному оформлению страниц (макетированию);  возможность передачи на сайт владельца МТ  различной информации;  наличие бесплатного, хорошего и достаточно простого программного обеспечения, позволяющего непрофессиональному пользователю не только просматривать, но и самому создавать МТУММТ -страницы;  наличие хороших поисковых систем и удобных средств запоминания адресов размещения необходимой информации;  возможность быстрого перемещения вперед/назад по уже просмотренным страницам, отсутствие необходимости знать 1Р-адреса хостов, на которых размещена необходимая информация;  наличие средств обеспечения надежности и конфиденциальности информационного обмена.

Для доступа к УУеЬ-страницам используется протокол передачи гипертекста НТТР. При записи протокола после его имени следует двоеточие и две косые черты: http://.

Служба WWW использует систему адресации URL (Uniform Resource Locator — универсальный URL-a;wec достаточно сложно, поэтому во всех программных средствах работы в Интернете имеется инструмент Избранное, с помощью которого любому URL можно дать содержательное имя (в том числе на русском языке), называемое ссылкой.

Работа с ресурсами WWW обеспечивается специальными программами — браузерами. В настоящее время наиболее распространенными браузерами являются Internet Explorer и Netscape Communication. Браузер может работать в сети или автономно (для просмотра  ранее запомненных на компьютере).

Файловые архивы это серверы Интернета, на которых хранятся миллионы файлов различных типов (программы, драйверы устройств, графические и звуковые файлы и т. д.). Файловые серверы поддерживают многие компании разработчики программного обеспечения и производители аппаратных компонентов компьютера и периферийных устройств. Размещаемое на таких серверах программное обеспечение является свободно распространяемым или условно бесплатным.

File Transfer Protocol — протокол для передачи файлов между компьютерами. При указании URL-agxpeca файла этот протокол записывается так: ftp://. Файлы, предназначенные для открыто-

го доступа, содержатся на множестве РГР-серверов. Программа РТР-клиент позволяет установить связь с одним из таких серверов и затем просматривать каталоги, осуществлять поиск файлов, управлять их перемещением. FTP может использоваться как для получения файлов с удаленных серверов, так и для отправки своих файлов на сервер, чтобы другие пользователи могли ими воспользоваться. Возможна пересылка как текстовых, так и двоичных файлов. Доступ к файлам на РГР-серверах возможен и по протоколу НТТР.

Обмен файлами производится с помощью специализированных программ — РТР-клиентов (AceFTP, CuteFTP). мнеЬ-браузеры Internet Explorer и Netscape Navigator также имеют средства для работы с РТР-серверами.

Для установления соединения при помощи РТР в окне программы нужно указать имя удаленного компьютера, ввести имя пользователя и пароль.

Эффективная работа с Интернетом невозможна без мощных систем поиска необходимой информации. По способу организации поиска и предоставляемым возможностям все средства поиска условно можно разбить на следующие группы:

        каталоги и специализированные базы данных;

        поисковые и метапоисковые системы.

Популярные русскоязычные каталоги и поисковые системы: Rambler, Япк1ех, Google, Апорт, Mail.ru.

Современные поисковые системы часто являются информационными порталами, которые предоставляют пользователям не только возможности поиска документов в Интернете, но и доступ к другим информационным ресурсам: новостям, информации о погоде, валютном курсе и т. д.

ТС-серверы (Internet Relay Chat) серверы, на которых реализуется интерактивное общение в форме обмена текстовыми сообщениями, аудио- или видеоконференций. Для организации интерактивного общения необходимо специальное программное обеспечение (например, программа NetMeeting, входящая в состав Internet Explorer).

Интерактивное общение можно также организовать с помощью ICQ-cepBepoB. Для того чтобы стать абонентом системы ICQ, достаточно скачать программу 1Сфклиент с файлового сервера и в процессе ее установки на компьютер зарегистрироваться (получить уникальный идентификационный номер). После подключения к Интернету пользователь может начинать общение с любым зарегистрированным в системе ICQ и подключенным в данный момент к Интернету пользователем.

2.73. Поиск информации в Интернете

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

1)     поисковые системы общего назначения;

2)     специализированные поисковые системы.

Поисковые системы общего назначения являются базами данных, содержащими тематически сгруппированную информацию об информационных ресурсах Всемирной паутины. Заполнение баз данных осуществляется с помощью специальных программ-роботов, которые периодически «обходят» МТеЬ-серверы Интернета, читают встречающиеся документы, выделяют в них ключевые слова и заносят в базу, содержащую URL-a;weca документов.

Способы организации поиска:

1.      Поиск по каталогам. Каталоги в WWW аналогичны систематизированным библиотечным каталогам. Поиск по каталогам состоит в последовательном движении по иерархическому списку ссылок, называемых рубриками, или категориями. Двигаясь вниз по детализирующим категориям, можно найти страницы с нужной информацией. На каждой странице, открываемой при движении по каталогу, указывается последовательность просмотренных рубрик, например: Деловой мир: Финансы: Аналитика и т. д.

2.      Поиск по ключевым словам. Поисковая система дает возможность пользователю по определенным правилам сформулировать требования к необходимой ему информации создать запрос. Простой запрос содержит одно или несколько ключевых слов, которые, по мнению пользователя, являются главными для искомого документа. Можно также создать сложный запрос, используя логические операции, шаблоны и т. д. В домашней странице поисковых машин всегда имеется информация о языке запросов. После отправки запроса поисковая машина автоматически просматривает документы на контролируемых (индексируемых) ею сайтах и отбирает те из них, которые соответствуют запросу (релевантны запросу). В результате поиска создается одна или несколько страниц, содержащих ссылки на релевантные запросу документы. Для каждой такой ссылки обычно указываются также дата создания страницы, объем, степень релевантности запросу, фрагменты текста, характеризующие содержание страницы. Щелчок на такой ссылке загружает нужную страницу. В случае очень большого количества найденных документов можно уточнить запрос и в соответствии с ним повторить поиск, но только среди уже отобранных страниц (поиск в найденном). В ряде поисковых систем можно отметить ссылку на страницу, содержание которой наиболее удовлетворяет потребностям пользователя, и повторить поиск, потребовав Искать похожие. При использовании различных поисковых машин следует иметь в виду, что они принципиально отличаются количеством и составом просматриваемых сайтов, языком запросов, алгоритмами определения степени соответствия документа запросу. Поэтому количество и состав МТ  отобранных для одного и того же запроса различными машинами поиска, может значительно различаться.

Специализированные поисковые системы позволяют искать информацию в других информационных слоях Интернета серверах файловых архивов, почтовых серверах и др.

Для поиска файла достаточно ввести его имя и поисковая система (например, filesearch.ru) выдаст URL-agxpeca мест его хранения. Если имя файла неизвестно, но зато известно его назначение (например, драйвер), то можно воспользоваться тематическим каталогом Драйверов.

Специализированные поисковые системы позволяют также найти адрес электронной почты по имени человека или наоборот (например, система WhoWhere?).

Примеры решения задач

Пример 1. В таблице приведены запросы к поисковому серверу. Расположите обозначения запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу.

Примечание. Для обозначения логической операции «ИЛИ» используется символ «1», а для операции «И» символ «&».

А

законы & физика

Б

законы (физика & биология)

В

законы & физика & биология & химия

 

законы физика биология

Решение.

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

Сравним запросы А и Б. По запросу А будут найдены страницы, содержащие одновременно слова «законы» и «физика». По запросу Б будет найдено больше страниц, чем по запросу А, т. к. кроме страниц, содержащих слово «законы» (например, юридические), будут найдены также страницы, содержащие одновременно слова «физика» и «биология» (но, возможно, не содержащие слова «законы»).

В результате логических рассуждений получаем цепочку: ВАБГ.

2       способ (графический). Рассмотрим множество страниц, содержащих каждое из искомых слов. Запросу Х & У будет соответствовать пересечение множеств Х и У, а запросу Х У — их объединение. Воспользуемся графическим представлением действий над множествами. Множество страниц, содержащих некоторое слово, будем обозначать эллипсом. Множество, получившееся в результате запроса, будем закрашивать серым цветом. Диаграмма для запроса А изображена на рис. 2.6:

Диаграмма для запроса Б (рис. 2.7):

Диаграмма для запроса В (рис. 2.8):

Диаграмма для запроса Г (рис. 2.9):

химия

фйвйка

Упорядочив построенные диаграммы по степени закрашенности, получим ответ: ВАБГ. ответ: ВАБГ.

27.4. Методы и средства создания и сопровождения сайта (основы HTML)

В настоящее время наличие собственной МТМТМТ-страницы на сервере стало непременным атрибутом престижа фирмы. Сложные по художественному оформлению многостраничные WWWдокументы и базы данных разрабатывают профессиональные МТеЬ-дизайнеры. Простые WWWстраницы может создать и непрофессионал.

МТ создаются на специальном языке (в формате) HTML — HyperText Markup Language. Для создания МТМТМТ -документов в этом формате до недавнего времени использовались редакторы, встроенные непосредственно в современные браузеры. Наряду с этим существуют редакторы с расширенными возможностями подготовки МТМ7МТ-документов, такие как FrontPage Express, FrontPage, HomeSite, Macromedia Dreemweaver и др. Начиная с MS 0ffice 97, редактор Word может создавать и сохранять документы в этом формате. Инструменты создания WWW-cTpaниц непрерывно совершенствуются и включают такие средства, как ActiveX (расширение HTML), VRML — язык моделирования и включения в ХМХММТ -страницы трехмерных анимационных изображений и Java язык программирования, не зависящий от используемой компьютерной платформы (РС, Macintosh и др.).

Обычный текст представляется как одна длинная строка символов, которая читается в одном направлении. Гипертекстовая технология заключается в том, что текст представляется как многомерный с иерархической структурой. Одно из основных применений гипертекстовых технологий — разработка МТеЬ-документов для публикации в компьютерных сетях, в первую очередь в Интернете.

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

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

Управляющие конструкции языка HTML называются тэгами (дескрипторами) и вставляются непосредственно в текст документа. Все тэги заключаются в угловые скобки <...>. Сразу после открывающей скобки помещается ключевое слово, определяющее тэг, например <DIV>.

Тэги НТ МГ, бывают парными и непарными. Непарные тэги оказывают воздействие на весь документ или определяют разовый эффект в том месте, где они вставлены. При использовании парных тэгов в документ добавляются открывающий и закрывающий тэги, которые воздействуют на часть документа, заключенную между ними. Закрывающий тэг отличается от открывающего наличием символа «/» перед ключевым словом (</DIV>). Закрытие парных тэгов выполняется так, чтобы соблюдались правила вложения:

текст

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

ALIGN =

При отображении документа HTML сами тэги не отображаются, но влияют на способ отображения документа HTML.

Структура документа HTML

Простейший правильный документ НТМИ содержащий все тэги, определяющие структуру, выглядит следующим образом:

Заголовок документа

Текст документа

Здесь использованы ключевые слова:

HTML — начало и конец документа HTML;

НЕМ) — начало и конец раздела заголовка;

TITLE — начало и конец общего заголовка документа; BODY — начало и конец тела документа.

Основными функциональными элементами документа HTML являются заголовки и абзацы. Язык HTML поддерживает шесть уровней заголовков, которые задаются при помощи тэгов от <Н1> до <Н6>. В МТ еЬ-документе они отображаются шрифтом разного размера. С помощью атрибута ALIGN можно задать тип выравнивания заголовка.

Обычные абзацы задаются с помощью парного тэга <Р>. В Н Т МЕ, нет средств для задания абзацного отступа. Абзацы отделяются пустой строкой. Закрывающий тэг </Р> рассматривается как необязательный. Подразумевается, что он стоит перед тэгом, который задает очередной абзац. Если в тексте присутствует символ конца строки, при воспроизведении в браузере он рассматривается как простой пробел. Для перехода на другую строку используется непарный тэг <BR>. В качестве ограничителя абзацев может использоваться горизонтальная линейка, задаваемая тэгом <HR>, например:

ALIGN =  SIZE = “ 10” WIDTH = ” 5070

Этот тэг задает горизонтальную линейку высотой в 10 пикселей, занимающую половину ширины окна и расположенную справа.

С помощью тэга <FONT> и его атрибутов РАСЕ, SIZE и COLOR можно задать гарнитуру, размер и цвет шрифта любого фрагмента текста.

Часто удобно размещать текст на М7еЬ-странице в виде списка. Язык Н ТМ], поддерживает следующие виды списков:

Нумерованный список. Список располагается внутри контейнера <OL> </OL>. Каждый элемент списка определяется тэгом <LI>. Тип нумерации можно задать с помощью атрибута ТУРЕ тэга <OL>: арабские цифры (по умолчанию), «I» — римские цифры, «а» — строчные буквы.

Маркированный список. Список располагается внутри контейнера <UL> </UL>. Каждый элемент списка определяется тэгом <LI>. Вид маркера можно задать с помощью атрибута ТУРЕ тэга «disc» диск, «square» — квадрат, «circle» окружность.

Список определений. Список располагается внутри контейнера <DL> </DL>. Текст оформляется в виде термина, который выделяется непарным тэгом <DT>, и определения, которое следует за тэгом <DD>.

Рисунки являются очень важными элементами оформления М7еЬ-страниц. Привлекательность и информативность сайтов в Интернете во многом определяется использованием графики. Рисунки чаще всего хранятся в файлах формата .jpg или .gif, обычно в отдельной папке (браузеры поддерживают и другие графические форматы). Кроме указанных форматов, допускается использование видеоизображения в формате .avi.

Подключение рисунков выполняется с помощью дескриптора <img>, имеющего следующие основные атрибуты: align — способ выравнивания графики, например: center; border — видимая рамка вокруг графики; dynsrc — исходный URL видео; height высота графики; loop — число повторений видео (если задано infinite, видео будет повторяться непрерывно); src — исходный URL графики; start — условие запуска (например, start = mouseover запускает видео при перемещении указателя мыши по области видео); width — ширина графики. Например: <img src =

Как только в Web-cTpaHEII-kY будет встроена гиперсвязь (гиперссылка), документ можно назвать гипертекстом. Гиперссылка может указывать:

         на позицию в своем документе (внутренние гиперссылки);

         на другой документ на своем сервере;

         на произвольный Объект по любому адресу Интернета.

Гиперссылка состоит из двух частей: указателя ССЫЛКИ и адресной части.

Указатель ссылки — это текст или рисунок на ТТеЬ-странице, щелчок по которому вызывает переход на другую страницу.

Адресная часть гиперссылки   это URL-upec документа, на который устанавливается ссылка. URL-upec может быть абсолютным и относительным.

Абсолютный URL-a;xpec — это полный Internet-agxpec со всей информацией, требуемой клиенту для того, чтобы отыскать сервер и успешно установить с ним связь. Его следует использовать во всех случаях, когда нужна ссылка на документы другого сервера Интернета.

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

Гипертекстовая ссылка задается парным тэгом <А>, который содержит обязательный атрибут HREF. В качестве значения атрибута используется URL-upec документа, на который указывает ссылка. Например:

«А HREF=http://www.site.com/index.htm>.

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

Достоинство внутренней ссылки в том, что она сохраняет свою работоспособность при изменении адреса ик еЬ-узла.

Дескриптор гиперсвязи <А> иногда называется «якорем» (само наименование дескриптора представляет собой аббревиатуру от английского слова anchor — якорь).

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

<А name=“MyLabel”>.


Значение этого атрибута произвольная последовательность латинских букв и цифр, рассматриваемая как имя якоря. Для ссылки на якорь его имя указывается в конце URL-agxpeca после символа «#»:

«А HREF=http://www.site.com/index.htm#MyLabel>.

Текст, располагающийся между дескрипторами <А> и </А>, обычно изображается браузерами в цвете (для этих целей по умолчанию используется голубой цвет), некоторые программы подчеркивают его. Посредством атрибутов в дескрипторе <body> цвет текста гиперсвязи можно изменить.

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

«Телекоммуникационные технологии»

часть 1

Буквами А, Б, В и Г обозначены фрагменты некоторого 1Р-адреса.

Восстановите 1Р-адрес и укажите последовательность букв, соответствующих

ему.

1) БГАВ           2) БАВГ          3) ГАВБ          4) АВГБ Буквами А, Б, В и Г обозначены фрагменты некоторого 1Р-адреса.

Восстановите 1Р-адрес и укажите последовательность букв, соответствующих

ему.

1)  АГБВ 2) ВГАБ 3) ГАВБ 4) ВАГБ В некотором 1Р-адресе утерян фрагмент: 128.5 1.142. Какие из следующих наборов цифр могут являться недостающим фрагментом: А) 2.10; Б) 31.5; В) 3.3;


                                          Д) 9.91;                    Е) 9.21;                   Ж) 215;                    3) 12.6?

В некотором 1Р-адресе утерян фрагмент: 113,174. Какие из следующих наборов цифр могут являться недостающим фрагментом: А) .361.1; Б) 0.40.; В) 3.15; Г) 5.12.9;

                                          Д) 10.57.2;              Е) 8.8.8;                   Ж) .217.;                  3) .12.68.1?

2)  А, В, Е, Ж, З 3) Б, В, ЭК

Идентификатор некоторого ресурса сети Интернет имеет следующий вид:

на протокол, используемый для передачи ресурса: А) www', Б) http; В) html; Г) ftp?

Идентификатор некоторого ресурса сети Интернет имеет следующий вид:

Г) ftp.html?

ного файла.

Примеры заданий ЕГЭ

 

 

в

 

д

 

 

 

 

http

ftp

www

.net

.txt

А8. Доступ к файлу ftp.txt, находящемуся на сервере www.net, осуществляется по протоколу http. В таблице фрагменты адреса файла закодированы буквами от А до Ж. Укажите последовательность этих букв, кодирующую адрес указанного файла.

         1) ГБДЕАВЖ           2) ВБГЖАДЕ           3) ВБДЕАГЖ           4) ВБДАГЖЕ

А9. Каким условием нужно воспользоваться для поиска в сети Интернет информации о продаже и аренде автомобилей марок Хонда или Мазда?

Примечание. Для обозначения логической операции «ИЛИ» используется символ l, а для операции «И» символ &.

А) продажа 8' аренда & (Хонда Мазда)

Б) Хонда & Мазда & продажа аренда

В) продажа & аренда Хонда Мазда

Г) автомобили (Хонда Мазда ) & продажа аренда

А 10. В таблице приведены запросы к поисковому серверу. Расположите обозначения запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу.

Примечание. Для обозначения логической операции «ИЛИ» используется символ а для операции «И» — символ &.

 

коллекция & костюмы & (Карден I Ямамото)

Б

коллекция Карден Ямамото & костюмы

в

коллекция & костюмы & Карден & Ямамото

 

коллекция дизайнер & Карден Ямамото костюмы

         1) АВГБ                   2) АБВГ                   3) ВАБГ                   4) ВБАГ

А 11. В таблице приведены запросы к поисковому серверу. Расположите обозначения запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу.

Примечание. Для обозначения логической операции «ИЛИ» используется символ а для операции «И» символ &.

 

рецепты & салат & рыба

Б

салат рыба рис

в

салат (рыба 8' рис)

 

рецепты & салат & рыба & рис

         1) БВАГ                   2) ГАВБ                   3) ВАГБ                   4) АГВБ

А 12. В таблице приведены запросы к поисковому серверу. Расположите обозначения запросов в порядке убывания количества страниц, которые найдет поисковый сервер по каждому запросу.

 

живопись & импрессионизм

Б

живопись Голландия импрессионизм музей

в

импрессионизм 8! живопись & Голландия

 

музей & живопись импрессионизм

Примечание. Для обозначения логической операции «ИЛИ» используется символ 1, а для операции «И» символ &.

         1) ВАГБ                   2) ГВАБ                   3) АГВБ                   4) БГАВ

Примеры заданий ЕГЭ


2.8. Технология программирования

2.8.1. Чтение короткой (30-50 строк) простой программы на алгоритмическом языке (языке программирования)

Запись алгоритма в словесной форме, в виде блок-схемы или на псевдокоде должна быть точна настолько, чтобы позволить исполнителю правильно выполнить алгоритм, при этом изображение команд произвольное. При решении любой задачи на компьютере предполагается, что некоторая информация подвергается обработке по предварительно составленной инструкции, называемой программой. Язык, на котором записывается алгоритм для исполнения компьютером, называется языком программирования. Языки программирования принадлежат к формальным языкам. При записи алгоритма на языке программирования все правила языка должны строго выполняться. Программа — это алгоритм, записанный на языке программирования.

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

Синтаксис языка программирования — это набор правил, которые определяют способы построения правильных программ из символов алфавита. Зная синтаксис языка, можно построить алгоритм, который определяет, является ли данный текст правильной программой или нет. Этот алфритм позволяет компьютеру проверять синтаксическую правильность вводимых в него программ.

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

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

Для чтения простой программы необходимо выяснить:

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

        каковы ограничения по работе алгоритма.

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

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

Примеры чтения программ на языках Pascal, QBASlC (краткое описание этих языков программирования приведено в приложениях)

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

Пример 1. Дана программа на двух языках программирования. Определить, какую задачу она решает.

Pascal

QBASIC

Program Pr_1;

Var i, N, М, К, NOD: integer•,

Begin

Repeat  натуральное число N — Readln(N);

Write('BBegxwre натуральное число М

Readln(M);

Until (N > 0) and (М > 0);

If N > М then К  М else К = N

NOD 1;

      For i : 

Begin

If (N mod i = О) and (М mod i — О) then

Begin

                       NOD  1;

End;

End;

Writeln('NOD       NOD); End.

REM PR 1

INPUT -

INPUT - М

WHILE (N        0) OR (М       0)

INPUT INPUT

WEND

IF N > М THEN К = М ELSE К = N

NOD = 1

FOR = 2 ТО К

IF (N\I = N/I) AND (M\I = МД) ТНТЧ

NOD =

NEXT

PRINT    N;             М; =        NOD

Решение. Проанализируем тексты программы:

1)     формируется тело программы и описываются переменные;

2)     вводятся натуральные числа М и N, причем проверяется условие корректности ввода: числа должны быть положительные. Если введенные значения не удовлетворяют условию, то ввод повторяют, пока условие не будет выполнено;

З) выбирается наименьшее значение из М и N, результат записывается в К;

4)       NOD присваивается значение 1;

5)       в цикле от двух до К генерируется число 1;

6)       тело цикла в условном операторе проверяется, является ли значение переменной I одновременно делителем М и N. Если условие выполняется, то текущее значение I сохраняется в переменной NOD; если условие не выполняется, NOD не изменит своего значения;

7)       после перебора всех значений I в NOD или запишется наибольший делитель двух чисел М и N, или останется значение 1;

8)       последний оператор программы служит для вывода результата работы программы значения переменной NOD.

Переменные, используемые в программе:

N, М — исследуемые числа;

I — переменная цикла;

NOD — наибольший общий делитель; К — наименьшее из М и N.

Ответ: данная программа позволяет определить для двух чисел М и ЛТ их наибольший общий делитель NOD.

Примечание. Эту же задачу можно решить, используя алгоритм Евклида.

Пример 2. Дана программа на двух языках программирования. Определить, какую задачу она решает.

Pascal

QBASIC

Program Pr_2; Const М = 100;

Var

MAS: array[1..M] of integer; i, Мах, К, N: integer;

Begin

№П4Ц'Введите размер массива N = '); Readln(N);

первый элемент массива

      МАХ                             1;

For :

Begin

элемент массива

            If МАХ  MAS[I] then

Begin

                          МАХ MAS[I]•,               1;

End•,

End;

Writeln('MAX , МАХ, ' номер элемента

End.

REM PR 2 нумерация элементов массива начинается с 1

OPTIN BASE 1

DO

INPUT ” Ведите размер массива N

LOOP UNTIL О

ТМ MAS (N%)

INPUT  - MAS(1)

FOR = 2 ТО

PRINT

INPUT MAS(I)

IF МАХ  MAS(I) THEN

МАХ = MAS(I)

ENDIF

NEXT

PRINT ”МАХ - МАХ;        

Решение. Проанализируем тексты программы:

1)     формируется тело программы, описываются переменные и одномерный массив MAS целого типа (для Pascal целый массив длиной 100);

2)     вводится фактическая длина массива лг с проверкой на положительное значение N;

З) вводится значение первого элемента массива МАХУ,

4)      устанавливается начальное значение МАХ по первому элементу массива;

5)      переменной К присваивается значение 1;

6)      последовательно, в цикле, просматриваются вводимые элементы массива, и если очередной элемент MAS(I) больше или равен МАХ, то переписывается значение MAS(I) в МАХ и в переменной К запоминается 1;

7)      выводятся результаты: МАХ — значение максимального элемента массива и К — номер максимального элемента в исходном массиве (если таких элементов несколько, выведется номер самого правого максимума).

Переменные, используемые в программе:

MAS — массив чисел;

N — размер массива;

I — переменная цикла;

МАХ — значение наибольшего элемента; К — номер наибольшего элемента.

Ответ: программа написана для поиска значения максимального элемента массива и его номера (если таких элементов несколько, то будет найден номер самого правого максимума).

Пример З. Дана программа на двух языках программирования. Определить, какую задачу она решает.

Pascal

QBASIC

Program Pr_3;

Var

S: string;

L, i: integer;

Begin

Writeln('BBupne текст“);

Readln(S)•,

1., Length(S);

Writeln(TIpe06pa30BaHHbIi1 текст“); For :

then S[i] =

Write(S);

Writeln

End.

REM PR З

INPUT ” Введите Текст: S$

 = LEN(S$)

FOR : 1 то Г,

            IF MID$(S$, 1, 1)          ТНТЧ

MID$(S$, 1, 1) - ENDIF

NEXT

PRINT ” Преобразованный текст

Решение. Проанализируем тексты программы:

1)     формируется тело программы и описываются переменные;

2)     вводится строка символов S;

З) определяется длина строки, значение которой заносится в переменную L; 4) в цикле осуществляется замена '! ' на       в исходной строке; 5) выводится преобразованная строка.

Переменные, используемые в программе:

 переменная цикла; L — длина строки;

S — строка текста.

В программе на языке Pascal используется встроенная функция языка:

Length(STR) — она определяет фактическую длину строки STR (длина строки не более 256 символов).

В программе на языке QBASIC используются встроенные функции:

Len(X$) — определяет фактическую длину строки Х $ (длина строки не более 256 символов);

M1D$(X$, N, М) — выделяет М символов, начиная с N-I'0 символа в символьном выражении Х $ (М можно опустить).

Ответ: данная программа позволяет заменить во введенной строке символов все восклицательные знаки на точки.

Пример 4. Дана программа на двух языках программирования. Определить, какую задачу она решает.

 

Pascal

QBASIC

 

Program Pr_4;

Var

S1, Str: string; i : integer;

Begin  текст“);

Readln(Str);

REM PR 4

INPUT ' Введите текст"; S$

М2 = INSTR(M1 + 1, S$,

IF М1       О AND М2       О ТНТЧ

PRINT M1D$(S$, М1 + 1. М2 - М1 - 1)

ELSE PRINT ” В тексте нет двух точек

ENDIF

END

If i <> О then Delete(S1, 1 1) i Pos('.', S1); If i <> О then

Begin

S1  Copy(S1, 1, i 1),

Writeln( 'I-IacTb текста между 1-й и

2-й точкой);

Writeln(S1);

End else

Writeln('B тексте нет двух точек '); End.

 

 

Решение. Проанализируем текст программы на языке Pascal:

1)     формируется тело программы и описываются переменные;

2)     вводится строка STR и дублируется во вспомогательной переменной S1 ;

З) определяется местоположение первой точки в тексте; если точка есть, то из S1 вырезается текст до нее;

4) ищется вторая точка; если она есть, то из S1 вырезается текст после нее; 5) в зависимости от присутствия точек результат выводится на экран.

Используемые переменные:

I — номер позиции, которая соответствует точке; STR — строка текста;  вспомогательная переменная.

В данной программе используются встроенные функции языка Pascal:

Pos(S1, S2) — поиск подстроки S1 в строке S2 •

Delete(S, N, М) — удаление из строки S М символов, начиная с позиции N;

Copy(S, N, М) выделение подстроки из М символов, которые • располагаются в строке S начиная с позиции N.

Проанализируем текст программы на языке QBASIC:

1)       формируется тело программы, и описываются переменные;

2)       вводится строка символов S ;

З) определяется местоположение первой точки в тексте — М1 ;

4) ищется вторая точка в строке (поиск начинается с символа М1 + 1); если в строке есть две точки, то на экран выводится текст, находящийся между двумя точками, если нет — сообщение тексте нет двух точек . Используемые переменные:

S — строка текста;

Ml, М2 — номера позиций двух точек; если точек нет, то значения ЛП и М2 равны нулю.

В данной программе используются встроенные функции языка:

INSTR(N, Х$, У$) поиск подстроки У$ в строке Х$, начиная с ЛТ-го символа (N можно опустить);

MID$(X$, N, М) — выделение М символов, начиная с N-I'0 символа в символьном выражении Х$ (М можно опустить).

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

Пример 5. Проанализировать тексты программы.

Pascal

QBASIC

 

Program Pr_5;

Const Т = 100; S = 100;

REM PR 5

INPUT ” Введите количество строк N

NO//0

Var

ММ: array[1..T, 1..S] of integer;

N, М, ЈМ, i, Ј, MIN: integer•,

Begin

МТбЦ'Введите количество строк N = '); Readln(N);

Write('BBegxwre количество столбцов М='), Readln(M);

Begin

 чисел“);

Read (MAS[i, .Ј]) End•,

Begin

Min MAS[i, М);

For ј М - 1 downto 1 do

If MIN > MAS[i, then

Begin ејм 5; мпч MAS[i,   

End;

Writeln('B строке — 1, 'самый правый

                          MIN       MIN);

Writeln( Столбец End; End.

INPUT ” Введите количество столбцов М МОЛ

нумерация элементов массива начинается с 1

OPTIN ВАМ 1 тм , М ОЛ ) FOR = 1 ТО

FOR = 1 ТО М ОЛ

PRINT

INPUT MAS(I, Ј)

NEXT еЈ

NEXT

PRINT ”Самые правые наименьшие элементы

в строках:

FOR = 1 ТО N O/o MIN = MAS(I, М ОЛ ) ејм = МУо

FOR = М ОЛ -1 ТО 1 STEP -1

IF MIN > MAS(I, еЈ) ТНТ•.Ј

MIN = MAS(I, Ј)

ENDIF

NEXT

               PRINT  - 1, - ЈМ,                     MIN

NEXT

 

Решение.

1)     Формируется тело программы и описываются переменные и двумерный массив MAS;

2)     вводится фактический размер массива MAS и значения его элементов;

З) просматриваются строки массива справа налево, находиться минимальный элемент в СТРОке и запоминаются значения индексов (номер столбца) этого элемента;

4) для каждой строки выводится значение и местоположение самого правого минимального

элемента.

Используемые переменные:

MAS     двумерный массив;

количество строк и столбцов массива;  переменные цикла;

ЈМ  столбец минимального элемента для данной строки; MIN    текущий минимум.

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

2.82. поиск и исправление ОШИ6ОК в НебОЛЬШОМ фрагменте программы (10-20 строк)

Существует три аспекта проверки программы:

1)      на правильность;

2)      на эффективность реализации;

З) на вычислительную сложность.

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

Проверка эффективности реализации направлена на поиск способов «заставить» правильную программу работать быстрее или расходовать меньше памяти. Чтобы улучшить программу, пересматриваются результаты этапа реализации в процессе построения алгоритма.

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

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

Текст программы можно проконтролировать за столом с помощью просмотра, проверки и прокрутки.

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

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

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

Прокрутка — трудоемкий процесс, поэтому ее следует применять только для контроля логически сложных участков программы.

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

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

Тестирование это испытание, проверка правильности работы программы в целом или ее составных частей.

Отладка и тестирование — два разных этапа:

• при отладке происходит локализация и устранение синтаксических ошибок и явных ошибок кодирования;  в процессе тестирования проверяется работоспособность программы, не содержащей явных ошибок. Тестирование устанавливает факт наличия ошибок, а отладка выясняет их причину. Как бы тщательно ни была отлажена программа, решающим этапом, устанавливающим ее пригодность для работы, является контроль программы по результатам ее выполнения на системе тестов. Программу условно можно считать правильной, если ее запуск для выбранной системы тестовых исходных данных во всех случаях Дает правильные результаты.

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

1.     Проверка в НОРЛШЛЬНЫХ условиях. Предполагает тестирование на основе данных, которые характерны для реальных условий функционирования программы.

2.     Проверка в экстремальных условиях. Тестовые данные включают граничные значения области изменения входных переменных, которые должны восприниматься программой как правильные данные. Типичными примерами таких значений являются очень маленькие или очень большие числа и отсутствие данных. Еще один тип экстремальных условий граничные объемы данных. Например, когда массивы состоят из слишком малого или слишком большого количества элементов.

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

Ошибки могут быть допущены на всех этапах решения задачи. Разновидности характерных ошибок:

*         Неправильная постановка заДачи верное решение неверно сформулированной задачи.  Неверный алгоритм — выбор алгоритма, приводящего к неточному, неэффективному решению задачи.

*         Ошибки анализа — неполный учет ситуаций, которые могут возникнуть; логические ошиб-

*         Семантические ошибки — неправильный порядок выполнения операций.

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

*         Ошибки в Данных       неправильное определение возможного диапазона изменения данных.

*         Опечатки — перепутаны близкие по написанию символы, например цифра 1 и буква 1.  Ошибки ввоДа/вывоДа  неверное считывание входных данных, неверное задание форматов, отсутствие некоторых данных.

В качестве примера рассмотрим программу, в которой вычисляется значение функции по приведенным формулам в зависимости от значения параметра К, который является номером режима.

01х 2 + Ах + , если К = 1;

02х 2 + c2 , если К = 2;

Ьзх + сз , если К = З.

Программа имеет вид

Pascal

QBASIC

Program F;

Var

А1, Т, 01, А2, C2, ВЗ, СЗ: real;

К: integer;

Х: real;

Begin

Readln(k, Х);

Case К 0f

1: У Swt(A1 * Sqr(X) + В1 * Х + С»;

2: У Sqrt(A2 * Sqr(X) + 0);

З: У Swt(B3 * Х + СО;

End;

Writeln У End.

REM

INPUT

INPUT

SELECT CASE К ОЛ

CASE 1

У = SQR(A1 * (Х * Х» + В1 * Х + С1) CASE 2

У = SQR(A2 * (Х * Х) + C2)

CASE З

У = SQR(B3 * Х + СЗ)

END SELECT

PRINT

Ошибки, допущенные при написании программы:

1.     Пропущен ввод исходных данных А 1 , Т, С1 , „42, С2, ВЗ, СЗ; пропущено описание переменной У (для языка Pascal).

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

З. Отсутствует анализ ситуации, когда вместо цифр 1, 2, З для переменной К считана другая цифра. В этом случае, можно выдавать, например, сообщение: «Номер режима неверен». Для выдачи такого сообщения в программе в са5•е-операторе после строки с меткой З нужно добавить строку вида else <Печать сообщения> (вариант 1). Можно также организовать ввод параметра К с проверкой введенного значения, и при ошибочном вводе требовать повторения ввода значения для переменной К (вариант 2).

Пример откорректированной программы (вариант 1).

Pascal

QBASIC

Program F_1;

Var

А1, Т, С1, А2, 02, ВЗ, СЗ: real;

К: integer; Х, У: real;

Р: boolean;

Begin

      А 1, В1, 01, А2, 02, вз, сз'); Readln(A1, В1, C1, А2, C2, ВЗ, СТ;

Readln(X);  параметр К ');

Readln(k);

Case К of

2: У (А2 * sqr(X) + C2);

З: У (ВЗ * Х + СЗ)

Begin                                                                                           неверный режим“);

F:= false;

End;

End;

If then

If У   О then Writeln  У else Writeln('IIcu корнем получается отрицательное значение“);

End.

REM F 1

PRINT ”Введите М, В1, 01, А2, 02, ВЗ, C3”

INPUT А1, Т, C1, А2, C2, ВЗ, СЗ

PRINT ”Введите Х“

INPUT  - Х

PRINT ” Введите параметр К“

INPUT  - К

SELECT CXSE К ОЛ

CASE 1

CASE 2

CASE З

У = вз * х + сз

ELSE

PRINT “ Введен неверный режим

END SELECT

IF = 1 THEN

         IF У  О ТНТ•.Ј

            PRINT ; SQR(Y)

ELSE

PRINT ” Под корнем получается отрицательное значение

ENDIF

ENDIF

Пример откорректированной программы (вариант 2).

Pascal

QBASIC

Program F_2;

Var м, В1, C1, м, C2, вз, СЗ: real; К: integer; Х: real;

Р: boolean;

Begin

Writeln( ' Введите А 1 , В1 ,

Readln(A1, В1, 01, М, C2, ВЗ, С»;

Readln(X);

Repeat

Writeln('BBQVITe параметр К ');

Readln(k);

Until (К = 1)or (К = 2)or (К = 3);

Case К 0f

1: У М * sqr(X) + т * Х + C1;

2: У А2 * sqr(X) + C2; з: вз * х + сз;

End;

If У           О then Writeln У     sqrt(Y)) else  корнем получается отрицательное значение“);

End.

REM 2

PRINT ”Введите А1, В1, 01, А2, 02, ВЗ, СЗ” пчрт.тт м, в1, c1, м, c2, вз, сз PRINT ”Введите Х“

INPUT

DO

      INPUT

ШОР UNTIL (КУО = 1) OR (КУО = 2) 0R (КУО 3)

SELECT CASE К ОЛ

CASE 1

CASE 2

CASE З

У = вз * х + сз

END SELECT

IF У       О THEN

      PRINT       =  SQR(Y)

ELSE

PRINT ” Под корнем получается отрицательное значение

ENDIF

28.3. Создание собственной программы (30-50 строк) для решения простых задач

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

При написании программы прежде всего следует четко уяснить задачу, которую должна репиТЬ программа. Затем предварительно разработанный алгоритм решения задачи записывается в виде упорядоченной последовательности команд (инструкций), т. е. составляется программа, ориентированная на определенную среду программирования.

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

Примеры разработки программ

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

Решение. Словесный алгоритм.

Начало алгоритма

1.     Ввести два последовательных члена арифметической прогрессии: А 1 , „42.

2.     Ввести произвольное целое число С.

З. Найти разность (D) арифметической прогрессии.

4.     Найти разность между введенным числом С и членом арифметической прогрессии, например А1 .

5.     Найти остаток от деления нацело найденной разности на D.

6.     Если остаток от деления равен О, то это значит, что число С принадлежит рассматриваемой арифметической прогрессии»; иначе получаем, что число С не принадлежит рассматриваемой арифметической прогрессии.

Конец алгоритма.

Блок-схема алгоритма (рис. 2.10):

Рис. 2.10

Программа:

Pascal

QBASIC

Program Progress;

Var

М, М, С, п, RAZN, 0ST : integer; Begin

Writeln( Введите два последовательных члена арифметической прогрессии ');

Readln(A1, А2);  целое число“);

Readln(C);

RAZN С - А1; OST       RAZH mod 1);

If 0ST = О then    принадлежит прогрессии')

Writeln( 'I-IprcJ10', С, не принадлежит прогрессии“);

End.

REM PROGRESS

PRINT “ Введите два арифметической

INPUT А1, М

PRINT “ Введите число“

INPUT С

RAZN = С - А1

0ST = RAZH МОГ) D

IF (0ST=0) THEN

PRINT ••число  С; грессии

ELSE

PRINT ”число С; прогрессии

ENDIF

END

последовательных члена прогрессии    

принадлежит про-

не принадлежит

Примечание. Mod — операция, результатом которой является остаток от целочисленного деления.

Пример 2. Составить словесный алгоритм, алгоритм в виде блок-схемы и написать программу поиска в строковом массиве, содержащем фамилии 10 учеников, заданной фамилии, обеспечить запоминание ее порядкового номера (массив фамилий может быть неупорядочен). Решение.

Словесный алгоритм

Начало алгоритма

1.     Ввести все десять фамилий (строковый массив из 10 элементов).

2.     Ввести фамилию, которую нужно найти.

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

4. Если фамилия найдена, вывести ее номер в списке (массиве), если нет сообщить о том, что фамилия не найдена.

Конец алгоритма.

Блок-схема алгоритма (рис. 2.11)

Программа:

Pascal

QBASIC

Program MAS;

Var

Fam: array[1..10] of string; i: byte; STR: string•, f: boolean;

Begin массив фамилий“);

For i : 1 to 10 do  фамилию для поиска“);

Readln(STR)•, false;

1;

Repeat

If Fam[il = STR then f е.— true else

Until f or (i > 10);

If :f then                                                     находится на“, i, ' -м месте“) else  не найдена“); End.

REM MAS

нумерация элементов массива начинается с 1

OPTIN BASE 1

ТМ FAM$(10)

PRINT ” Введите массив фамилий

FOR : 1 ТО 10 INPUT FAM$(I)

PRINT “ Введите фамилию для поиска INPUT STR$

1

DO

IF FAM$(I) = STR$ THEN - 1

ELSE NEXT

ENDIF

ШОР UNTIL (Р = 1) OR (1 > 10)

IF = 1 ТНТЧ

PRINT ”Фамилия находится на

месте

ELSE

PRINT ' фамилия не найдена

ENDIF


Примеры заданий ЕГЭ к разделу 2.8

«Технология программирования»

Часть 1

При выполнении заданий этой части нужно поставить знак «х» в клеточку, номер которой соответствует номеру выбранного варианта ответа.

А 1. Требовалось написать программу вычисления суммы отрицательных элементов массива. Нумерация элементов массива начинается с единицы.

Pascal

QBASIC

Program Prg;

Var

А: array[1..8] of integer;

S, К: integer;

Begin

For К := 1 to 8 do

If А[К] < О then S S + А[К]; Writeln(S) End.         

REM PRG

INPUT ” Введите размер матрицы нумерация элементов массива начинается с 1 OPTIN BASE 1 тм             )

FOR К = 1 ТО N O/o

INPUT A(k) NEXT К

FOR К = 1 ТО N O/o

IF А(К) ТНТ.Ј S = S + A(k)

NEXT К

PRINT = S

При наборе программы вместо оператора

Pascal

QBASIC

ошибочно был записан оператор

 

Pascal

QBASIC

Каким оказался ответ после исполнения неверной программы, если в качестве элементов массива А были введены числа —1, З, —2, 4, —5, 6, —7, 0?

А2. Чему будет равно значение переменной Р после исполнения фрагмента программы? Дано: Х = 7; элементами массива А являются числа 1, 2, З, 2, 9, 2, О, 7, 6, 7. Нумерация элементов массива начинается с единицы.

Pascal

QBASIC

While (A[k]    Х) and (К < 10) do Begin

End;

WHILE (A(k)         Х) AND (К < 10)

WEND

                                         2) 196                       3) 20                         4) 198

АЗ. Укажите последовательность команд, в результате выполнения которых будет найдено большее из значений переменных Х и У:

 

Pascal

QBASIC

Read (Х, У);

If Х < У then МАХ У

Writeln(MAX);

INPUT х,У

IF Х < У ТНТЧ МАХ = У

PRINT МАХ

Read (Х, У);

Begin мДх Х; Writeln (МАХ);

End

Begin

МАХ := У; Writeln (МАХ);

End•,

INPUT х, У

IF Х            ТНЕЛ

МАХ = Х

PRINT МАХ

ELSE

МАХ = У

PRINT мдх

ENDIF

Read (Х, У); мдх = abs(X Writeln(MAX) ;

INPUT Х, У

= ABS(X - У)/2 + (Х + У) / 2

PRINT МАХ

Read (Х, У);

МАХ = abs(X - У) / 2 + abs(X + У) / 2

Writeln(MAX)

INPUT Х, У

МАХ ABS(X - У) / 2 + ABS(X + У) / 2

PRINT МАХ

1)

2)

3)

4)

А4. Определите, какие функции выполняют переменные, используемые в заданной программе.

Pascal

 

 

QBASIC

 

Program Sum_1 ; Var

Ы-тм, Т. real•, i: integer;

Begin

While SUM 120 do

Begin

SUM  suwr + z * 1; End;

Writeln('SUM ц, stJM,

End.

= '

1,

REM 1 stJM = 1

WHILE stJM 120

SUM = ,survf + z *

WEND

PRINT ”SUM = sIJM,

а,

1)     SUM — служит для накопления суммы ряда 1 * 2 + 1 * 2 * З + 1 * 2 * З

* 4 -е... ; сумма должна превышать 120;

— счетчик, служит для определения количества суммируемых членов ряда;

Z   — служит для хранения значения текущего члена ряда.

Примеры заданий ЕГЭ

2)     SUM — служит для накопления суммы ряда 1+1*2*2+1*2*2*3*3+1*1*2* ; сумма должна быть равна 120; счетчик, служит для определения количества суммируемых членов ряда;

Z   — значение текущего члена ряда.

З) SUM — служит для накопления суммы ряда 1 + 1 * 2 * 2 + 1 * 2 * З * З  1 * 2 * З * 4 * 4... ; сумма не должна превышать число 120;  счетчик, служит для определения количества слагаемых; Z — вспомогательная переменная.

4) SUM — служит для накопления суммы ряда 1 * 2 * 2 + 1 * 2 * З * З + 1 * 2 * З * 4 * 4... ; сумма должна быть равна 120;  счетчик, служит для определения количества суммируемых членов ряда;

Z — вспомогательная переменная.


А5. Определите, какой алгоритм реализует данная программа.

Pascal

QBASIC

 

Program Prg;

Var i, N, Р, ј: integer;

Begin

Repeat  натуральное число N =

Readln

Until N > О;

Write(N : 6,

— 2 to N div 2 do

Begin

If .ј mod i = О then

Begin

While ј mod i = О do

Begin WriteC*', i); .Ј :

End;

End;

End;+

         If = О then Writeln          N);

End.

REM PRG

INPUT          = N

WHILE (INT(N)          N) OR (N

INPUT        =

WEND

PRINT N; '

FOR

WEND

NEXT

IF = О ТНЕГЧ PRINT         ТЧ

0)

1)     Дано натуральное число N. Разложить его на простые множители.

2)     Дано натуральное число N. Определить произведение цифр числа N.

З) Дано натуральное число N. Определить все простые числа, не превосходящие числ5 N.

4) Дано натуральное число N. Определить, является ли оно простым.

Pascal

QBASIC

Program Prg;

Var

А, В, N: byte;

Begin

For А := 1 to З do

Begin

N 10 * А;

For В    О to 2do Begin

End; End•,

End.

REM PRG

FOR А 1 ТО З

FOR В = О ТО 2

N= N + B

           PRINT N;       

NEXT В

NEXT А

Program Prg_2;

Var

А, В, N•. byte;

Begin

For А 1 to З do

For В О to 2do

Begin

N 10 * А + В;

Write(N : 3); End;

End.

REM PRG 2

FOR А 1 ТО З

FOR В О ТО 2

NEXT В

NEXT А

Аб. Сравните результаты работы двух программ. Выясните, являются ли они одинаковыми.

1)

2)

1)     Программы работают одинаково. Результат — 10, 11, 13, 20, 21, 23, зо 31, 33.

2)     Программы работают по-разному. Результат работы программы Prg 1 10, 11, 12, 20, 21, 22, 30, 31, 32. Результат работы программы Prg 2 10, 11, 13, 20, 21, 23, 30, 31, 33.

З) Программы работают по-разному. Результат работы программы Prg 1 10, 11, 14, 20, 21, 24, 30, 31, 34. Результат работы программы Prg2 10, 11, 13, 20, 21, 23, 30, 31, 33.

4) Программы работают одинаково. Результат — 10, 11, 12, 20, 21, 23, 30, 31, 33.

Приведены фрагменты программ. Укажите номера фрагментов, в которых реализуется алгоритм сортировки массива A(N) по возрастанию.

Pascal

QBASIC

If A[i] > А[ј] then

Begin tmp

End;

FOR = 1 ТО

FOR = 1 + 1 ТО N

IF A(I) > А(Ј) тнтч

ТМР = A(I)

А(Ј) = ТМР

ENDIF

NEXT

NEXT

Примеры заданий ЕГЭ

For :— 1 to N do

— i to N — 1 do

                If .A[il                 + 1] then

Begin tmp := A[i]; A[i] А[Ј+1];

А[ј+1] := tmp;

End;

FOR       1 ТО N

      FOR           ТО N - 1

           IF A(I) >        + 1) THEN

ТМР = A(I)

A(I) = А(Ј+1)

А(Ј+1) = ТМР

ENDIF

NEXT еЈ

NEXT

For i :- 1 t0 N - 1 do

Begin

Min A[i];

For .j := downto i do

If A[i] < Min then

Begin

К Ј; Min А[Ј]•, End;

End;

FOR       1 ТО         - 1

MIN = A(I)

ТО STEP -1

ТНЕГЧ

MIN = А(Ј)

ENDIF NEXT еЈ

A(I) = MIN;

NEXT

For i :— 2 to N do

For ј N downto i do

If А[Ј] <           - 1] then Begin

End;

FOR       1 ТО N

FOR = ТО STEP - 1

IF А(Ј) < - 1) THEN ТМР = А(Ј)

            ENDIF                                   

NEXT еЈ

NEXT

2)

З)

4)

А8. Решением какой задачи будет следующая программа?

Pascal

QBASIC

Program Prg;

Var

К: integer; х,У: string;

Begin  текст');

Readln(X)•,

1., Length(X)•,

For К := 1., downto 1 do

Write(i1);

REM PRG

INPUT Х$

= LEN(X$)

FOR К = ъ ТО 1 STEP -1

PRINT У$•,

NEXT К

Примечание. MID$(X$, К, 1) — функция, которая выделяет в строке Х$ 1 символ, стоящий на К-м месте.

1)  Переписывание в строку У четных символов строки Х.

2)  Обмен местами значений строковых переменных Х и У.

З) Генерирование строки У из строки Х так, что Ј-й символ строки Х Станс)вится i + 1-м символом строки У, а последний первым.

4) Генерирование строки У — это запись строки Х в обратном порядке.

A9. RaKMM õYAe rr peay.nwratr Bb1110JIHeHHfl nporpaMMb1, ecJIH BXOz1HOï1 TeKCT õb1J1 TaKHM: RTYHAU-AA---DFGA?

Pascal

 

QBASIC

Program Prg; Var i: integer;

S, Sl: string;

Begin

Writeln('BBeAHTe c rrporcy

Readin(S)•,

L Length(S);

For i : 1 to L do If stil = 'A' then else Sl Sl + S[i]; Write(Y); End.

Sl + 'AAA'

REM PRG

INPUT ''BBeAHTe TeKCT: L = LEN(S$)

FOR = 1 TO L

K$ = MIDS(S$, 1, 1)

IF K$ = "A" THEN

Sl$ = Sl$ + "AAA"

ELSE Sl$ = Sl$ + K$

ENDIF

NEXT 1

PRINT Sl$

                   MID$(X$, K, 1) —

Kl..1Hfl, KOTOpaS1 BblAeJ1fleT B CTPOKe X$ 1 CHMBOJI, ct1'0fl1.11Hï1 Ha K-M Mec rre.

1) -RTYHAUAAAAAADFGA.

 AAA

3)      RTYHAU-AA---DFGA+AAA.

4)      RTYHAAAU-AAAAAA---DFGAAA

A 10. VKaycurre 11PaBHJ1bHb1ï1 Haõop BXOAHb1X  ,4aHHb1X 111)HBeX1eHHoï1 nporpaMMb1.

Pascal

QBASIC

Program Prg;

Var  integer;

S: string;

Begin

Readln(S);

L := Length(S);

Repeat

If S[i] - then K 1 Kl If S[i]  ')' then K2 :

Until (i > L) or (Kl < K2);

If Kl = K'2 then Writeln('YES') else Writeln('NO') •

End.

REM PRG

INPUT "BBeAHTe ereKCT

L = LEN(S$)

FOR 1 = 1 TO L

IF MID$(S$, 1, 1) = "C' THEN

ENDIF IF MID$(S$, 1, 1) =  THEN

ENDIF

IF Kl < K2 THEN 1 L

NEXT 1

IF Kl = K2 THEN PRINT "YES"

ELSE PRINT "NO"

ENDIF

1)  BX0AHb1e euaHHb1e:AaHHb1e: YES

2)  BXOAHb1e AaHHb1e: 12dfg            BblXOAHb1e ,aaHHb1e: YES

3)  BXOAHb1e tuaHHb1e: ((12()dfg( )23[] )) BblXOAHb1e AaHHb1e: NO

4)  BXOJIHb1e z!aHHb1e.             BblXOAHb1e AaHHb1e: YES

flpvwepbl 3anaHMü Er3


А 11. Какой результат получится после выполнения программы, если в качестве исходного был введен массив А (4, 4):

 

10

23

—4

 

 

2

—3

4

 

 

О

-2

5

7

 

 

1

1

1

1

 

Pascal

QBASIC

Program Prg;

Const п = 100;

Var

А: array[1..n, 1..n] of integer;

S, М, i, ј: integer;

Begin

Write (Введите размер матрицы  матрицу А ');

End.

INPUT “ Количество строк и столбцов“, М % тм м ол )

нумерация элементов массива начинается с 1 OPTIN BASE 1

FOR = 1 ТО М

FOR еЈ = ТО М

           PRINT                        1;

INPUT АО, еЈ)

NEXT еЈ NEXT

 1 то м- 1

FOR

NEXT

NEXT

PRINT ••S = S

           1) зо                         2) 28                                                         4) 18

А 12. Формирование и преобразование массива задается с помощью следующего фрагмента программы:

Pascal

QBASIC

For i to М do

For i:=1 to N div 2 do

For ј:=1 to М do Begin

End;

FOR       1 ТО N

FOR еЈ = 1 ТО М

NEXT еЈ

NEXT

FOR 1 = 1 ТО              2

FOR еЈ = 1 ТО М

NEXT

NEXT

Какой преобразованный массив будет получен, если для переменных N, м ввести следующие значения: =5?

      1)          2)    1 1 1   3)    3 3 3 3 3  4)     1 2 3

          2 2 2 2 2           2 2 2     2 2 2 2 2

             3 3 3 3 3                з1 2 3

                                            4 4 4                                        1 2 3

                                    5 5 5                                 1 2 3


А 13. Какой результат получится после выполнения программы для М =

Pascal

QBASIC

Program Prg;

Const п = 100;

Var

А, В: array[1..n, 1..n] of integer;

К, М, i, ј: integer;

Begin

Write( ' Ведите размер матрицы М =

матрица“);

Begin

then Write(A[i, jl : 4) else Writeln(A[i, ј] : 4)

End;

Writeln('MaTprnxa после преобразования'); For i :

                     — 1 to М do

Begin

B[i, Ј] а[М+1-Ј, M+1-i];

then Write(B[i, ј] : 4) else  .Ј] : 4) End;

End.

REM PRG

INPUT ” Введите размер матрицы

нумерация элементов массива начинается с 1 OPTIN BASE 1 тм муо), , М ОЛ )

PRINT ” Исходная матрица:

FOR = 1 ТО М О

            FOR еЈ = 1 ТО М ОЛ                    

PRINT A(I, Ј),

NEXT

PRINT

NEXT

PRINT “ Матрица после преобразова-

НИЯ:

FOR = 1 ТО М ОЛ

FOR е-Ј = 1 ТО М ОЛ

ВО, е-Ј) -  М ОЛ +1-1)

PRINT ВО, Ј),

NEXT

PRINT

NEXT


1)          1 2 з                           9 6 з              2)           1 2 З                           1 2 З

             7 8 9                           7 4 1                           7 8 9                           7 8 9


3)          1 2 з                           1 6 з             4)           1 4 7                           9 8 7

             7 8 9                           З 6 9                          з 6 9                           з 2 1

Тренировочные тестовые задания к разделу 2

«Информационные и коммуникационные ТиНОЛОГИИ»

часть 1

Перемещаясь из одного каталога в другой, пользователь последовательно посетил каталоги MyRis, Cats, Animals, D:\, Picture, RS. При каждом перемещении пользователь либо спускался в каталог на один уровень ниже, либо поднимался на один уровень выше. Каково полное имя каталога, в котором оказался пользователь? 1) MyRis\Cats\Animals

4) D:\Animals\Cats\MyRis

А2. В некотором каталоге хранился файл Article.doc. После того как в этом каталоге создали подкаталог и переместили в него файл Article.doc, полное имя файла стало C:\My_doc\Print\Geo\Article.doc. Каково было полное имя этого файла до перемещения?

1) C:\My_doc\Article.doc         2) C:\Print\Geo\Article.doc З) C:\My_doc\Print\Article.doc   4) C:\My_doc\Print\Geo

АЗ. Укажите имя файла, которое удовлетворяет маске а??х*.*р.


                                    1) аЬх12.р                2) abrxy.pas             З) abext.cpp              4) ахсЗ1.Ьтр

А4. Размер одного кластера диска 1024 байта. На диск записали файлы размером 3240 байтов и 100 Кбайт. Сколько кластеров займут эти файлы?

                                    1) 100                      2) 104                      3) 512                       4) 1024

А5. Цвет пикселя монитора определяется тремя составляющими: красной, зеле-

2 Кбайт памяти?

1)  4 бита        2) 5 битов       З) 6 битов        4) 8 битов

изображения?

                                                                                                     3) 256                       4) 64

В процессе преобразования растрового графического изображения количест-

за. Какое количество цветов было до преобразования изображения?

2)  32  3) 64    4) 256

                                  А8. Разрешение экрана монитора 768 х 1024 точек, глубина цвета                24 бита.

Каков необходимый объем видеопамяти для данного графического режима?

1)  1,5 Мбайт          2) 18 Мбайт    З) 180 Кбайт   4) 24 Мбайт

2)  = $F$5+C8


1) 105                        2) 35

1)

2)


А 13. Фирма по продаже и обслуживанию оргтехники реализует три вида принтеров (матричные — М, струйные — С, лазерные — Л) в четырех магазинах. На диаграмме показано количество принтеров, проданных в предыдущем квартале каждым магазином.

Какая из диаграмм правильно отражает соотношение проданных принтеров трех видов по фирме в целом?

А 14. В таблице представлен фрагмент базы данных туристического агентства:

Маршрут

Продолжитель- ность, дней

Стоимость,

Дата отъезда

Наличие мест

Ялта

 

2100

15.07

 

Сочи

 

3150

18.07

 

Золотое кольцо

 

4050

27.07

 

Санкт-Петер-

 

5200

 

 

оз. Селигер

 

2850

19.07

 

Карелия

 

4200

 

 

Сколько полей в данной базе?

4) зо

А 15. В таблице представлен фрагмент базы данных о физическом развитии учеников 11 класса:

 

Фамилия

пол

Рост

 

 

Белкина

 

166

 

 

Блинов

 

 

 

 

Волков

 

 

 

 

Грачева

 

168

 

 

Ильина

 

158

 

 

Кулешов

 

165

 

 

Леонова

 

 

 

 

Леонтьев

 

170

 

 

Михайлов

 

 

 

 

Никольская

 

 

 

Сколько записей в данном фрагменте удовлетворяют условию: (Пол - ”ж”) И (Рост > 165 ИЛИ Вес > 60)?

А 16. В таблице представлены результаты тестирования:

Фамилия

Математика

Информатика

Биология

Химия

Андреев

 

 

 

 

Белкин

 

 

 

 

Гринева

 

 

 

 

Еремин

 

 

 

 

Романова

 

 

 

 

Рязанов

 

 

 

 

Сергеева

 

 

 

 

На какой позиции окажется Романова, если произвести сортировку данной таблицы по убыванию столбца «Информатика»?

А 17. В таблице представлен фрагмент базы данных о результатах экзаменационной сессии студентов факультета АСУ (К — контрактная; Б — бюджетная):

Андреева

101

 

 

 

 

 

Александров

101

 

 

 

 

 

Бородин

102

 

 

 

 

 

Белова

101

 

 

 

 

 

Васильев

101

 

 

 

 

 

Как следует записать условие отбора, которое позволит сформировать список студентов-контрактников, получивших «5» по физике или программированию?

1)    (Программирование = 5) ИЛИ (Физика = 5)

2)    (Форма_обучения = К) И ((Физика = 5) ИЛИ (Программирование = 5)) З) (Форма_обучения = К) И (Физика = 5) ИЛИ (Программирование = 5)

             4) (Форма_обучения = К) ИЛИ (Физика = 5) ИЛИ (Программирование = 5)          

А 18. В таблице представлен фрагмент базы данных, содержащей информацию о странах, их площади (поле Площадь), численности населения (поле Население), расположении в части света (поле ЧС):

 

Страна

Столица

Площадь,

тыс. кв. км

Население, чел.

ЧС

1

Бельгия

Брюссель

30,5

10289

Европа

2

Коста-Рика

Сан-Хосе

51,1

3896

Северная Америка

з

Израиль

Тель-Авив

20,8

6116

Азия

4

Дания

Копенгаген

43 1

5384

Европа

Какое условие нужно использовать для формирования запроса, отбирающего все азиатские страны площадью менее 30 тыс. км 2 с численностью населения более 10 тыс. человек?

1)     (Площадь < 30) И (Население > 10000)

2)     (ЧС = Азия) И (Площадь < 30) ИЛИ (Население > 10000)

3)     (Площадь < 30) И (Население > 10000) ИЛИ (ЧС = Азия)

4)     (ЧС = Азия) И (Площадь 30) И (Население > 10000)

часть 2

Ответом к заданиям В1—В1О является набор символов, которые следует записать справа от номера соответствующего задания.

В1. Доступ к файлу net.edu, находящемуся на сервере news.com, осуществляется по протоколу Пр. В таблице фрагменты адреса файла закодированы буквами от А до Ж. Укажите последовательность этих букв, кодирующую адрес указанного файла.

 

 

в

 

д

 

 

news

 

. сот

.edu

 

ftp

net

В2. Доступ к файлу list.html, находящемуся на сервере www.ftp.ru, осуществляется по протоколу http. В таблице фрагменты адреса файла закодированы буквами от А до З. Укажите последовательность этих букв, кодирующую адрес указанного файла.

 

Б

в

 

д

 

 

з

.html

 

 

www.

 

ftp

.ru

http

ВЗ. Буквами А, Б, В и Г обозначены фрагменты некоторого 1Р-адреса.

92.16

.68

8.92

1

 

 

в

 

Восстановите 1Р-адрес и укажите соответствующую ему последовательность букв.

В4. Буквами А, Б, В и Г обозначены фрагменты некоторого 1Р-адреса.

 

135.1

01.2

202

 

 

в

 

Восстановите 1Р-адрес и укажите соответствующую ему последовательность букв.

В5. В таблице приведены запросы к поисковому серверу. Расположите обозначения запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу.

Примечание. Для обозначения логической операции «ИЛИ» используется символ «'», а для операции «И» — символ «&».

 

Австралия & климат & (флора фауна)

Б

Австралия климат флора & фауна

в

Австралия & климат & флора & фауна

 

Австралия флора фауна

Вб. В таблице приведены запросы к поисковому серверу. Расположите обозначения запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу.

Примечание. Для обозначения логической операции «ИЛИ» используется символ «1», а для операции «И» — символ «&».

 

музыка 8' Бетховен & соната

Б

музыка Бетховен соната концерт

в

музыка & (концерт соната) & Бетховен

 

музыка Бетховен соната

В7. Идентификатор некоторого ресурса сети Интернет имеет следующий вид: http://index.net/ftp.html. Какая часть этого идентификатора указывает адрес сервера, на котором находится ресурс?

В8. Идентификатор некоторого ресурса сети Интернет имеет следующий вид: http://www.ftp.ru/org.html. Какая часть этого идентификатора указывает на протокол, используемый для передачи ресурса?

В9. В таблице приведены запросы к поисковому серверу. Расположите обозначения запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу.

Примечание. Для обозначения логической операции «ИЛИ» используется символ «'», а для операции «И» — символ «&».

 

конькобежцы & лыжники & олимпиада

Б

конькобежцы лыжники

в

конькобежцы & лыжники

 

конькобежцы

В1О. В сети Интернет требуется найти информацию об альпинистах, совершивших восхождение на гору Эверест (другое название — Джомолунгма). Сформулируйте запрос к поисковой системе, учитывая, что для обозначения логической операции «ИЛИ» в запросе используется символ «'», а для логической операции «И» символ «&».

195

 

При выполнении заданий С1—С4 необходимо привести полное решение. Ответ должен быть записан четко и разборчиво.

                                                                                                     часть З

Pascal

QBASIC

Program 0rder;

Var V: array[1..100] of string;

Ттр: string ; i, ј, N : integer;

Begin

Readln(N);

      For         to N do

Begin

Write(i, ' -е слово'); Readln(V[i]); End;

      For         to N-1 do

            For            to N do

                  If                 then

Begin

                               V[ i ]; V[ i l:-

End;

Writeln('OTBET')•,

For i:=1 to N do

Write(i, ' -е слово, '

End.

REM ORDER OPTION BASE 1 INPUT N

тМ N ) FOR ТО

PRINT I•, ”-е слово ' : пчртјт v$(I)

NEXT

FOR        ТО N-1

FOR J=I+1 ТО N

           IF  ТНТЧ SWAP

NEXT еЈ

NEXT

PRINT ” ОТВЕТ ”

FOR        ТО

      PRINT       СЛОВО“; : PRINT v$(I)

NEXT

Pascal

QBASIC

Program Prg;

Begin

Readln (х, у, R);

If (х*у>=О) then

If (х * ху * у <= R * R) then

Writeln (' Точка принадлежит области')

Writeln (' Точка не принадлежит области');

End.

REM PRG

INPUT Х, У, R

IF (Х * У        0) THEN

IF (Х * Х + У * У R * R) THEN PRINT ” Точка принадлежит

области“

ELSE

PRINT ” Точка не принадлежит

области“

ENDIF

С1. Определите и опишите, какой алгоритм реализует программа, какую функцик) выполняют переменные в программе. Сформулируйте задачу, которую решает программа.

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


1)  Приведите примеры координат точек (не более четырех точек) для которых программа неверно решает поставленную задачу (при R = 5).

2)  Укажите, как нужно исправить программу, чтобы она полностью СООТВвгСТвовала поставленной задаче.

СЗ. На вход программы подается последовательность символов, среди которых могут быть и цифры. Ввод символов заканчивается точкой. Требуется написать программу, которая составит максимальное число из тех цифр, которые были введены только один раз. Если условие задачи не выполняется, требуется вывести сообщение «Число не найдено» . Например, для входной строки:

233 56SD (Ж 111 790.

Программа должна получить и вывести число 975620. для строки GH 111 790790.

Программа должна вывести сообщение «Число не найдено» .

С4. На вход программы подаются строки, которые содержат сведения о продаже железнодорожных билетов за день. В каждой вводимой строке записана ин- формация о дате дня продажи, количестве проданных билетов и общей сум- ме их стоимости. Формат строки следующий: сначала вводится дата в виде строки из пяти символов вида dd.mm, где dd два символа, которые соот- ветствуют числу месяца, тт — два символа, которые соответствуют номеру месяца; число и номер месяца разделены точкой (например, 1.01); затем вво- дится целое число, значение которого соответствует количеству проданных билетов в этот день, затем — общая сумма стоимости проданных билетов за день. Всего вводится 365 строк, что соответствует продаже билетов за год. Информация вводится без соблюдения хронологического порядка. Требуется написать программу, которая рассчитает и выведет на экран следующую ин- формацию:

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

2) информацию о месяцах, в которые количество проданных билетов превы- сило среднегодовое количество более, чем на 50 0/0 . Для найденных месяцев необходимо также рассчитать, во сколько раз сумма стоимости всех проданных за месяц билетов превысила среднегодовую сумму. Вывод информации должен быть снабжен комментариями.

Приложение 1 . Программирование на языке Pascal

Язык Pascal (Паскаль) был разработан швейцарским профессором Николаусом Виртом в конце 60-х — начале 70-х годов прошлого века и назван в честь выдающегося французского математика и философа Блеза Паскаля. Изначально этот язык создавался для обучения программированию. Однако, благодаря заложенным в нем большим возможностям структурного программирования, он стал широко применяться в различных областях: науке, технике, экономике, при создании информационных систем и т. д. Сегодня язык Pascal — один из необходимых элементов обучения программированию. Существует много версий языка. В настоящее время наиболее популярна версия Turbo Pascal 7.0.

Лексическая структура языка

Текст программы на языке Pascal представляет собой последовательность строк, состоящих из символов, образующих алфавит языка. Строки завершаются специальными управляющими символами, не входящими в алфавит (#10, #13). Максимальная длина строки — 126 символов. Алфавит языка включает:

буквы: латинские буквы от А до Z, причем большие и малые буквы не различаются, если не входят в строковые константы; арабские цифры от О до 9; шестнадцатеричные цифры 0..9 и буквы A..F; специальные символы: + составные символы, образующиеся из комбинаций специальных символов. В тексте программы их нельзя разделять пробелами: <> >= пробел — разделитель в языке.

Из символов алфавита языка строятся базовые элементы программы.

Идентификаторы (имена) служат для обозначения в программе переменных, констант, типов. Имя может состоять из букв, цифр, знаков подчеркивания, но начинаться должно с буквы. Длина его может быть любой, но при трансляции программы воспринимаются только первые 63 символа имени. Имена вводятся в программу посредством описаний.

Зарезервированные слова имеют строго фиксированное написание, их нельзя использовать в качестве имен, вводимых программистом (array, and, begin, end, for, else, mod, nil, implementation, do и т. д.). К зарезервированным словам относятся служебные слова, операторы, имена встроенных функций и директив и т. д.

Знаки операций — формируются из одного или нескольких специальных символов для задания действий по преобразованию данных и вычислению значений. Под знаками операций понимаются как различные арифметические действия ( -е, -, * , / , <>, <=, >=, @), так и арифметические и логические функции (DIV, МОГ), NOT, AND, 0R, ХОТ.

Раздел 1 . Теоретические основы химии

Множество знаков пунктуации складывается из следующих символов: { } или (* * ) — скобки комментария;

[ — выделение индексов массива и элементов массива; о выделение списков параметров, алгебраические скобки;  апостроф;

— отделение переменной или типизированной константы от типа; разделение операторов и объявлений; отделение идентификатора типа от описания типа или типизированной константы от значения; разделение элементов списка; разделение границ диапазона;

 — конец программы, отделение целой части от дробной, разделение полей записи;  знак шестнадцатеричного числа или директивы компилятору; 4$ — признак кода числа.

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

Комментарий любой текст в любом месте программы, заключенный в фигурные скобки { } или в круглые скобки со звездочкой ( * *). Комментарий не изменяет смысл программы и на выполнение не влияет, используется для пояснения текста программы.

Некоторые символы, например &, % , буквы русского алфавита, можно использовать только в символьных строках и комментариях.

Комментарий, в котором вслед за скобкой следует знак « $ » , является директивой компилятору. Директивы компилятору (ключи компиляции) тоже заключаются в фигурные скобки, но являются инструкциями компилятору, предписывающими тот или иной режим обработки программы. Директива компилятору состоит из знака «$» и стоящей за ним буквы, определяющей конкретный режим, а также знаков «+» или «—», которые указывают, включить или выключить данный режим.

Структура программы

Программа на языке Pascal всегда состоит из двух частей:

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

2.     Описание последовательности действий, которые нужно выполнить. Действия представляются операторами языка.

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

Program имя программы; Uses

Список используемых библиотек (модулей);

Label

Список меток;

Const

Определение констант;описание данных

Описание типов;

Var

Описание переменных;

Определение используемых процедур;

Определение используемых функций;


Begin

описание действий

Основной блок программы(обязательная часть)

End


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

Заголовок программы. Заголовок программы необязателен и игнорируется компилятором. Если заголовок присутствует, то он состоит из зарезервированного слова и имени программы.

Например: Program Summa_1;.

Раздел Uses служит для подключения как библиотечных модулей, так и модулей пользователя. Имена модулей последовательно перечисляются в виде списка. Например: Uses Crt, Modu11, Modu12.

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

Раздел описания меток Label содержит список меток, используемых в программе. Обычно в качестве меток используются целые числа и короткие идентификаторы, например: 12, М 12. Сама метка ставится в тексте программы перед оператором и отделяется от него двоеточием.

Раздел объявления констант Const вводится для того, чтобы задать начальные значения переменным или предписать некоторым константам идентификаторы. Например:

Const

А = 12.3;

Str — asd ;

Раздел объявления типов Туре используется тогда, когда пользователь хочет создать свои пользовательские типы. Стандартные типы данных языка не требуют объявления. Например:

YEAR = 2000...2009;

Day = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday);

Раздел объявления переменных Var содержит список переменных с объявлением их типов. Например:

Var а, Ь, с: integer; d, f: real; е: string;

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

Основной блок программы (тело программы) обязателен. Он заключается в операторные скобки Begin End с точкой. Тело программы содержит набор операторов, которые определяют действия программы.

Структура данных

Использование различных типов данных имеет огромное значение при программировании, т. к. определяет способы и алгоритмы обработки этих данных. Pascal является языком с сильной системой типизации. Это означает, что все данные, обрабатываемые программой, должны принадлежать к какому-либо заранее известному типу. Тип переменной задается при ее описании и не может быть изменен; переменная может участвовать только в операциях, допустимых ее типом. С точки зрения внутреннего распределения памяти задание типа переменной однозначно определяет размер памяти, выделяемый под переменную.

Можно выделить следующие группы типов:

*     простые;  структурированные;  процедурные;  указатели;  объекты .

При программировании можно использовать стандартные типы данных, но также есть возможность и для создания и объявления новых типов (пользовательских).

Простые типы

Скалярные типы

Это базовые типы языка. Среди них выделяется четыре группы:

*     целые;

*     вещественные;

*     символьные;

*     логические.

Целые типы

В Pascal имеется пять целых типов, которые отличаются форматами и диапазонами допустимых значений.

Тип переменной

Описание

Объем памяти

Диапазон

Пример

Неотрицательные целые числа

byte

1 байт

о ... 255

16; 124

word

2 байта

о ... 65535

12363

Положительные и отрицательные целые числа

shortint

1 байт

-128 127

25; -99, 111

integer

2 байта

-32768..32767

—66956

longint

4 байта

214748364

Для целочисленных переменных, определены следующие арифметические функции, результат которых тоже целое число:

ABS(N) — абсолютная величина N;

А div В — целая часть от деления А на В;

      А mod В       остаток от деления А на В;

— умножение, вычитание, сложение;

SQR(N) — квадрат числа ЛТ •,

SQRT(N) — корень квадратный из N; ODD(N) проверка N на четность.

При выполнении обычного деления «/» для целых чисел всегда получается вещественный результат (тип REAL). Операции сложения и вычитания могут использоваться как унарные (для одного операнда). При изменении знака числа, например, можно записать:

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

Пример 1.

                 23       5 = 4;

2 div 6 = О;

(—13) div 5 — —3;

(—13) div (—5) = З.

Операция mod дает остаток при делении двух целых чисел.

Пример 2.

23 mod 5 = З;

                          2 mod 6 = 2;    

(—13) mod 5 — (-13) mod (-5) = 2; 8 mod 2 = О.

Операции * , div, mod имеют имеют одинаковый, более высокий ранг, чем операции   и которые имеют одинаковый, но более низкий ранг.

Чаще всего целые числа используются в простых арифметических выражениях и выступают в программах в качестве различных счетчиков и значений индексов.

Вещественные типы

В языке Pascal определено пять стандартных вещественных типов, которые, как и целые типы данных, отличаются форматами и диапазонами допустимых значений.

Описание

Диапазон

Число значащих цифр

Объем памяти, б

real

6 байт

single

7—8

4 байт

double

15—16

8 байт

extended

3.4*10 -4932 .1.1 *10+4932

19—20

8 байт

сотр

19—20

8 байт

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

Наиболее распространенная форма типов вещественных чисел — это тип reaI.

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

ABS(X)

абсолютное значение Х;

ARCTAN(X)

арктангенс Х;

COS(X)

косинус Х;

SIN(X)

синус Х;

LN(X)

натуральный логарифм Х, при этом должно выполняться Х > О;

SQR(X)

квадрат Х;

SQRT(X)

корень квадратный из Х, при этом должно выполняться Х >= О;

ЕХР(Х)

 

FRAC(X)

дробная часть Х;

целая часть Х;

 

значение PI = 3.141592653589793238;

TRUNC(X)

получение целой части вещественного числа Х;

ROUND(X)

округление вещественного числа Х.

Форма представления вещественных чисел может быть в двух форматах:

1)  с плавающей точкой;

2)  с фиксированной точкой.

Точка является в языке разделителем целой и дробной частей.

Формат представления с плавающей точкой — это форма записи числа, которая характеризирует его порядок. Это форма вида е Sign2<N >,

где Sign1 — знак числа;

Sign2 — знак числа степени; цифры целой части числа;

— цифры мантиссы числа; порядок числа (степень десяти); е — знак формы представления. Например:

2.02еЗ.

Формат представления. с фиксированной точкой — это форма записи вида

Sign<N >.

      где Sign      знак числа;

— цифры целой части числа;

— мантисса числа.

Например,

.17,

-0.01,

+324.o.

Логический тип

Значением логического типа boolean является множество из двух упорядоченных элементов FALSE и TRUE. Переменным логического типа могут присваиваться только эти два значения. Об их значениях известно, что

TRUE > FALSE,

SUCC(FALSE) = TRUE,

ORD(FALSE) = О,

ORD(TRUE) = 1,

PRED(TRUE) = FALSE.

На этом множестве определены одна унарная (один аргумент) и три логические бинарные операции (два аргумента):

NOT (отрицание — изменяет значение операнда на противоположное);

AND (конъюнкция — истина только тогда, когда оба операнда истинны); 0R (дизъюнкция — истина только тогда, когда хотя бы один из операндов истинен); XOR (исключение — истина только тогда, когда оба операнда различны).

Работа этих операций для двух переменных представлена в следующих таблицах:

 

 

not а

True

False

False

True

 

 

 

а and Ь

 

а xor Ь

True

True

True

Ттие

False

True

False

False

True

True

False

True

False

True

True

False

False

False

False

False

При записи условий используются следующие отношения между величинами: —

>=, in (принадлежность элемента множеству). Подвыражения, содержащие операции отношения, заключаются в круглые скобки. Операции сравнения дают результат булевского (логического) типа, поэтому его можно присваивать логической переменной. Например:

с :

Такой оператор присваивания называется логическим.

Символьный тип

Значением символьного типа char (1 байт памяти) может быть один из 255 упорядоченных элементов множества всех символов, представленных кодами ЭВМ таблицы ASCII (American Standard Code for Information Interchange американский стандартный код для обмена информацией).

Символы записываются в одинарных кавычках. Например,  ' 1 ', а при выводе символов на экран апострофы не изображаются.

Допускается использование записи символа через его внутренний код, который записывается после символа #. Внутренний код — это порядковый номер символа в таблице кодов. Например:

а ' соответствует записи #97; z ' соответствует записи #90.

Допустима операция сложения (сцепления) символов знак «+» , но типом результата уже не будет тип char, результат будет иметь структурированный тип string. Символы можно сравнивать друг с другом, результат будет иметь логический тип. При сравнении считается, что символы равны, если равны их МСП-коды, и один код больше другого, если его код больше. Таким образом, операций над значениями символьного типа, которые давали бы значение этого же типа, нет. Например:

                                                 'а' > ' А ', так как 97 > 65        = #97, ' А ' = #65).

К символьным значениям можно применять стандартные функции (в скобках указан аргумент функции и через двоеточие тип аргумента):

СНЩх: byte): char — возвращает символ АБСП-кода;

0RD(c: char): byte — возвращает МСП-код символа; PRED(c: char): char выдает предшествующий с символ; SUCC(c: char): char — выдает последующий за с символ.

Не определены значения SUCC(#255) и PRED(#O).

Перечисляемые типы

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

Color = (red, yellow, green, black);

Animals = (cat, dog, horse);

Days = (Monday, Sunday, Tuesday, Friday);

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

Любой перечисляемый тип упорядочен и имеет внутреннюю нумерацию: 1-й элемент имеет МО, 2-й — N21 и т. д. Номер каждого элемента можно получить функцией: 0RD(x): longint.

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

Для переменных этого типа можно использовать функции SUCC(x) и PRED(x). Например: DEC (5) = 4; PRED = Не определены значения SUCC (последний элемент перечисления) и PRED (1-й элемент перечисления).

Ограниченный тип (диапазон)

Содержит значения только из ограниченного поддиапазона некоторого базового типа (любой целочисленный тип, тип char, и любой из введенных программистом перечисляемых типов). Для задания этого типа надо указать границы, сначала меньшую, потом большую, между ними разделитель 2 точки:

Digits

Symbols = 'b' . . 'm'.

Ограниченный тип наследует все свойства (допустимые операции) базового типа.

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

Структурированные ТИПЫ

В языке используются следующие структурированные типы:  массив;  строки;  запись;  множество;  файл.

Массив

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

Тип массива определяется конструкцией:

Array [тип индексов] of тип компонент;

       Тип компонент        любой тип, кроме файлов и объектов.

Тип индексов любой порядковый тип, кроме longint. Можно использовать ограниченные типы (диапазон) и перечисляемые. Например:

Туре

— array [1..100] of real;

                         М2 array         ..'z'] of char;

МЗ — array [-10..10,1..4] of longint;

М4 array [byte] of integer;

Var

А2, АЗ, М: М2;

Можно объявлять массивы непосредственно в разделе переменных:

Var

А: array [О.. 12] of byte;

В: array ['k'. . 'o'] of real;

Доступ к элементу массива осуществляется по его индексу (порядковому номеру): А1[5], А 1[12], В['т']. Доступ к i-MY элементу: A[i].

В Pascal разрешено объявлять массивы масивов: Например:

Matrix = array [1..10] of array[1..31 of real;

Это фактически двумерный массив (матрица 10х3), для которого обычно используют такое объявление:

Matrix = array [1..10,1..3] of real;

Количество измерений массива формально не ограничено, но суммарный размер всех компонент массива не должен превышать 64 К. Каждое измерение совершенно не зависит от остальных, и можно объявлять массивы с разными индексами:

М = array [—10..0, 'а'..'с', booleanl of byte;

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

Var

А: array [1..2, 1..2] of byte; з;

Begin

                               А [2,2]      4;

End, то в памяти последовательно, друг за другом, будут расположены байты со значениями 1, З, 2, 4.

В правильно составленной программе индекс массива не должен выходить за пределы, определенные типом-диапазоном. Например, если объявлен массив

Var А: array [1..12] of byte;

то можно использовать АР], А[1О], АД 2], но нельзя „4[0], 413], А[ЗЗ] и т. д. Pascal может контролировать использование индексов в программе на этапе компиляции и на этапе счета программы.

Turbo Pascal имеет специальный режим компиляции, задаваемый ключом $R.

$R+ — включена проверка на вхождение значения индекса в объявленный диапазон. Если нарушение — возникает ошибка 201 (Range check Error). При включенной директиве увеличивается размер ехе-файла, уменьшается скорость выполнения, но надежность программы возрастает.

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

Обычно программу отлаживают в режиме $R+, а эксплуатируют в режиме $R—.

В Pascal можно одним оператором присваивания передать все элементы одного массива другому массиву того же типа. Все остальные действия выполняются только над элементами массива. Тип элемента массива определяет множество возможных операций над элементами массива.

Строки

Особым типом одномерных массивов являются строки.

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

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

Line = string[80];

Var

MyLine: Line;

Здесь переменная MyLine в качестве своего значения может иметь любую последовательность символов (каждый из которых имеет тип char) произвольной длины, но в пределах от О до 80. Можно объявлять строки сразу в разделе переменных:

Var

Str: string;

                        Str1: string[10];

Максимально возможная длина строки — 255 символов. Указание максимальной длины может опускаться в объявлениях.

Таким образом, важнейшее отличие строк от обычных символьных массивов заключается в том, что строки могут Динамически изменять свою Длину. Память под переменные строкового типа отводится по максимуму, а используется лишь часть этой памяти, реально занятая символами строки в данный момент. Более точно: для строковой переменной длины N символов отводится лт + 1 байтов памяти, из которых N байтов предназначены для хранения собственно символов строки, а 1 байт — для значения длины этой строки.

Каждая строка всегда «знает», сколько символов в ней содержится в данный момент. Символ S[O] содержит код, равный числу символов в строке S, т. е. длина строки S всегда равна 0rd (S[O]). Это обстоятельство используется для определения текущей длины строки.

Запись

Запись — структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов.

Описание записи начинается идентификатором Record, а заканчивается End. Между ними список компонентов, называемых полями, с указанием идентификаторов полей и типа каждого поля:

Туре имя rmna=Record имя поля 1: тип поля 1; имя поля 2: тип поля 2;

имя поля N: тип поля N End•,

Пример 1.

1) Запись, содержащая информацию об имени, домашних и рабочих телефонах некоторых лиц:

PhoneRec = Record

Name: string [30];

WorkPhone1, WorkPhone2;

HomePhone1, HomePhone2: string [10]; End;

2) Запись, содержащая сведения о книге:

ВооК = Record

Title: string[80];

Autor: string[201;

Year: integer;

                               End;

Тип поля может быть любым, в том числе и записью.

Пример 2.

FullName=Record

Surname: string;

Name: string[201;

End;

ВооК = Record

Tittle: string;

Autor: FullName;

Year: integer;

End;

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

Пример З.

ВооК = Record

Title: string[801;

Autor: string[20];

Year: integer;

End;

Var

RV: PhoneRec•,

Тогда обращения к полям могут иметь такой вид:

RV.Name

RV.WorkPhone

RV.HomePhone1

Переменные и константы

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

Например:

Var

А: integer; {стандартный тип} S: char; {стандартный тип} Flag: boolean; {стандартный тип}

Sinus: real; {стандартный тип}

Index: 0..5; {тип диапазон}

Semafor: (red, green); «перечисление}

Х, у, z: real; {несколько переменных одного типа можно объединять}

Константы — это объекты, которые при выполнении программы не меняют своего значения. Описание начинается со служебного слова const, за которым следует список идентификаторов констант и их значений через знак равенства «=» . Например:

Const

Min = 10;

Мах = 1000;

Center = (max-min) div 2; {Turbo Pascal — можно использовать арифметические константные выражения}

Message = 'Out of memory';

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

Типизированные константы занимают промежуточное положение между переменными и константами. Они описываются в разделе описаний констант вместе с обычными константами. Как и обычные константы, типизированные константы при описании получают значение, но анало- гично переменным они имеют тип, который задается при их описании, по ходу выполнения программы и могут получать НОВЬје значения. Например:

Const

Diapazon : О... 100 = 1;

Title : string = 'Name';

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

Const

Min: integer = О;

Мах: integer = 99;

Var

М: array[min. .max] of byte;

некорректно, т. к. типизированная константа фактически является переменной с заданным

начальным значением.

Примечание. Описываются константы только по одной величине. Описание списком, т. е.

такое описание, когда одно значение задается сразу нескольким величинам, записанным через запятую, запрещено.

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

Например:

Mas = array [1...5]of real;

Const

М: таз = (2.8, 3.2, 4.5, -3.4, -0.9);

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

Mas2 = array [1..2, 1..2]of real;

Const

М: mas2 = ((2.8, 3.2), (4.5, -3.4));

Процедуры ввода/вьвода

Ввод и вывод данных осуществляются через файл.

ввод: Read С, М, Х2, . , хп) или Readln(f, Х1, Х2, . , хп).

                         вывод: Write(f, М, Х2, .        хп) или WriteIn(f, Х1, Х2, . , хп).

Если f отсутствует, то считается, что ввод осуществляется при помощи стандартного логического файла Input (ввод с клавиатуры), а вывод с логическим файлом 0utput (вывод на экран дисплея).

1) Ввод данных. Используются стандартные процедуры:

Read(F, Х) или Read(F, Х1, Х2, .

                        Readln(F, Х) или Readln(F, Х1, Х2, .       хп).

Аргументы этих процедур — список переменных, значения которых будут считаны (введены). Тип переменных при вводе из текстового файла (в том числе и с клавиатуры) может быть только скалярным или string. Сложные структурированные типы могут быть введены только по элементам. Переменные логического типа не вводятся с помощью Read и Readln. Например:

Var i: word;  L: longint;

R: real; S: string; dim: array [О.. 99] of byte; Rec: Record

Х, У: real;

СН: char

End;

Begin

Read а, 1);

Readln (Ь, R, S);

Read (Rec.X, Rec.Y, Rec.CH);

For i О to 99 do

Readln(dim[i]); End.

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

Правило 1. Если тип величины real, integer, то считывается одно число, знак пробела воспринимается как разделитель.

Это правило позволяет для переменных, если они типа real или integer, вводить значения в двух вариантах: или через пробел (при завершении набора значений нажимается клавиша <ENTER>), или просто через клавишу <ENTER>. Возможен также комбинированный вариант из этих двух.

Правило 2. Если тип величины char считывается один символ, знак пробела читается как символ. Поэтому при вводе символьных величин пробел как разделитель не используется,

т. е. символьные величины набираются последовательно, без пробела, с последующим нажатием <ENTER>. Можно также все значения набирать через <ENTER>.

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

readln; read(c, cz);

Исходя из рассмотренных правил рекомендуется переменные разных типов вводить по группам, не смешивая типы.

Примечание. Тип boolean вводить через процедуру ввода запрещено. Для этого рекомендуется использовать типизированную константу.

2) Вывод данных. Используются процедуры:

Write(f, Х) или Write(f, Х1, Х2, .

                   Writeln(f, Х) или Writeln(f, Х 1, Х 2, .      хп).

Значения Х 1, Х2,..., Х п могут быть только скалярного типа и производных от них типов. Массивы выводятся только поэлементно, записи выводятся перечислением полей записи.

Процедура Write выводит данные в текущую строку и не закрывает ее, т. е. следующие данные запишутся в эту же строку. Процедура Writeln выводит строку данных и закрывает ее; это автоматически открывает следующую строку, а на экране возвращает курсор в крайнюю левую позицию и опускает его на строку вниз.

Оператор Writeln или Writeln(f) создаст пустую строку, содержащую один только признак конца строки.

Если не указано количество позиций под величину, которая выводится, вывод выполняется в стандартной форме. За стандартную форму принимается: real — форма с плавающей точкой; integer, char, boolean простая форма отображения величины на количество позиций, которые занимает сама величина.

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

Вывод, когда указывают количество позиций для выводимой величины, называется форматным. Форматом вывоДа Данных можно управлять:

*         для строчных, символьных, целых значений формат задается одним числом через которое показывает, сколько позиций отводится под значение (ширина поля). Если выводимое значение короче, при выводе добавляются пробелы. Если длиннее — то в случае целых чисел спецификация игнорируется и ошибка не возникает, а в случае строк строка усекается до нужного формата;

*         логические значения выводятся как строковые константы и могут быть помещены в заданном поле;

*         для вещественных значений: для обычной формы — через двоеточие указывается общий размер поля под значение и через двоеточие число знаков после запятой (точность); для экспоненциальной формы надо задавать одно значение через двоеточие общий размер поля.

При выводе в качестве элемента списка можно использовать строковые константы, которые будут пояснять выводимую информацию. Следует помнить, что строковые константы заключаются в кавычки. Например, возможен такой оператор вывода:

Write('Makcmua.JIbHoe значение=', А: 5);.

Операторы языка

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

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

1.     Простые операторы    не содержат в себе никаких других операторов.

2.     Структурные (блочные) операторы — в их состав могут входить другие операторы (а те, в свою очередь, тоже могут быть структурными; глубина вложенности не ограничивается).

Простые операторы

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

FLAG false; сн т; SUM := х + у;

                           R (х + z) / (2               10) - 0.5.

Оператор безусловного перехода. Любой оператор в программе можно пометить меткой. Все используемые в программе метки должны быть описаны в разделе Lable в виде списка меток:

Lable <имя метки_1>, <имя метки 2>,...<имя метки N>;

Синтаксис оператора безусловного перехода:

Goto <имя метки>;

Оператор применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а какой-либо другой отмеченный меткой оператор. Для того чтобы оператор мог отметить меткой необходимо перед оператором поставить метку и двоеточие. Например:

Var

Label М1;

Goto М 1;

М1: sum Х + У;

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

Оператор обращения к процедуре. Для обращения к процедуре необходимо указать ее имя и, если требуется, список фактических параметров. Например:

ТАВ_ПЧ (N, М);

Структурированные операторы

Это конструкции (блоки), построенные по строго определенным правилам. К структурированным операторам относятся:

*         составной оператор, который заключается между Begin ... End;  условный оператор If ... then и If ... then ... else;

*         оператор выбора Case ... of;  оператор цикла For ... do;

*         оператор цикла While ... do;

*         оператор цикла Repeat ... until;

• оператор над записями With.

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

                     1) Begin                                            2) Begin

                              Write(B);                                         

                                 End•,                                                                  End;

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

Условный оператор — используют для выбора к исполнению одного из двух возможных операторов в зависимости от некоторого условия. Предлагается использовать две формы записи условного оператора:

1)  If f then Оператор 1>; краткая форма.

2)  If f then Оператор 1> else <оператор 2>; — полная форма записи.

Ключевые слова if, then, else означают соответственно «если», «то», «иначе». Здесь под оператором в общем случае понимается составной оператор, который представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки begin и end.

Условие f — это выражение булевского типа. Оно может быть простым или сложным. Сложные условия образуются с помощью логических операций and, or, not. При записи условий могут быть использованы все допустимые в Паскале операции отношения.

В первом случае, при истинности логического условия f, выполняется оператор 1. Альтернативная конструкция отсутствует и заменена точкой с запятой, т. е., если условие ложно, ничего не будет выполнено. Во втором случае, при истинности логического условия f, также выполняется оператор 1, а в противном случае оператор 2.

Например, необходимо из двух чисел определить большее:

If Х > У then МАХ Х else МАХ У;

Допускается вложенность условных операторов. Один оператор if может входить в состав другого оператора if (вложенность операторов):

If «(условие-1> then

If <условие-2> then оператор-1> else <оператор-2>;

При вложенности операторов каждое else присоединяется к тому then, которое непосредственно ему предшествует. Перед else точка с запятой не ставится.

Например, требуется определить максимальное число из трех чисел:

If А > В then

If А > С then МАХ А else МАХ С

If В > С then МАХ В else МАХ С

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

Case <выражение-селектор> of

<набор значений 1> : оператор 1>;

«(набор значений 2> : оператор 2>;

<набор значений N> : «(оператор N> else <оператор> end;

Перед else точку с запятой не ставят.

Вторая (короткая) форма отличается от первой отсутствием строки else <оператор>.

Оператор case работает следующим образом. Сначала вычисляется значение выражения-селектора, затем выполняется тот оператор, константа из набора значений которого в списке равна этому вычисленному значению селектора. Если ни одна из констант ни одного из списков не равна текущему значению селектора, то выполняется оператор, стоящий за словом else. Если слово else отсутствует, то управление передается оператору, находящемуся за словом end. Наборы констант не должны пересекаться.

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

Writeln('Y/y — продолжение работы');

Writeln('N/n — выход из программы“);

Readln(selector);

Case selector of

Work; {продолжение работы} Exit {выход из программы} end; {case}

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

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


For <параметр to <S2> do <оператор>

For <параметр downto <S2> do «(оператор>

S1, S2 — выражения, определяющие начальное и конечное значения параметра цикла. В первом формате начальное значение параметра цикла должно быть не меньше конечного, иначе цикл не будет выполняться. Во втором формате начальное значение должно быть не больше конечно-

го.

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

На использование управляющей переменной (параметра цикла) налагаются следующие огра-

ничения:

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

2.     Управляющая переменная должна иметь дискретный тип.

З. Начальные и конечные значения диапазона должны иметь тип, совместимый с типом уп- равляющей переменной.

4.      Шаг цикла For всегда постоянный и равен «интервалу» между двумя ближайшими значениями типа параметра цикла (т. е. если тип параметра — byte, то шаг будет равен 1).

5.      В теле цикла запрещается явное изменение значения управляющей переменной.

6.      После завершения оператора значение управляющей переменной становится неопределенным.

Допускается вложенность операторов цикла. Например:          

For :— 1 to 10 do

После слова do может стоять только один оператор. Если же логика программы требует выполнения последовательности действий, нужно использовать составной оператор Begin... End. Чтобы прервать выполнение досрочно, необходимо увеличить i до конечного значения (i := S2) или использовать процедуру Break, которая досрочно прерывает выполнение цикла. Выход из цикла можно организовать и с помощью оператора безусловного перехода Goto.

Оператор цикла While ...do. Это оператор цикла с предусловием, формат записи оператора следующий:

While <условие> do <оператор>;

После слова do может стоять только один оператор. Если же требуется выполнить несколько операторов, нужно использовать составной оператор Begin...End. Перед каждым очередным выполнением оператора — тела цикла производится проверка значения булевского выражения — условия, которое служит критерием повторения. Условие должно состоять из корректных выражений и значений, определенных еще до первого выполнения цикла. Если это выражение имеет значение True тело цикла выполняется. Затем снова вычисляется значение условия. Если результат False происходит выход из цикла и переход к первому после While оператору. Если условие с самого начала было ложно, то цикл не выполнится ни разу.

Чтобы цикл мог завершиться, в теле цикла должен быть оператор, в КОТОРОМ изменяются параметры условия цикла, в противном случае цикл будет бесконечным. Например:

5;

While А > О do х х +

Для выхода из бесконечного цикла нужно использовать или процедуру прерывания выполнения Break, или оператор безусловного перехода.

Пример использования цикла While:

Write('BBegxpne положительное N'); readln(N);

While N < О do Begin

Readln(N);

End;

Это простой пример корректного ввода данных. Теперь пользователь не получит результат, пока не введет положительное число. Однако в примере пришлось написать один и тот же фрагмент ввода числа дважды: перед циклом и в теле цикла. Поэтому здесь лучше воспользоваться другим оператором цикла, а именно оператором цикла с постусловием.

Оператор цикла Repeat ... until. Это оператор цикла с постусловием. Формат записи оператора цикла:

Repeat

<оператор>; тело цикла

<оператор>

Until <условие>

Этот оператор аналогичен предыдущему. Отличие заключается в том, что условие окончания цикла проверяется после выполнения очередной итерации (таким образом гарантируется хотя бы однократное выполнение цикла). Кроме того, критерием окончания цикла является равенство выражения, описывающего условие, константе True. Если условное выражение имеет значение False, то цикл выполняется. Здесь тело цикла также должно влиять на значение условия, иначе цикл будет выполняться бесконечно.

Предыдущий пример с использованием цикла Repeat будет выглядеть так:

Repeat

ИТхЈЦ'Введите положительное

Readln(N);

Until

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

МЛО1<переменная типа запись> (10 <оператор>

Внутри оператора (он может быть составным) обращение к полям записи производится уже без указания идентификатора самой переменной. Например:

PhoneRec = Record

Name: string[30];

WorkPhone1, WorkPhone2,

HomePhone1, HomePhone2: string [10]

End;

Var

RV•. PhoneRec;

Begin

With RV do

Begin

Name := ' Петров А. Н. ';

WorkPhone1 : '34-84-06';

HomePhone1 : '34-65-89'•, End;

Операции и процедуры работы со строками

Сравнение строк

Над значениями строковых типов определены операции сравнения с обычным смыслом: >, <, <>, При этом действуют следующие правила:

Сравнение происходит посимвольно слева направо. Ббльшим считается тот символ, у которого больше код в таблице ASCII. Как только в одной из строк обнаруживается символ больший, чем соответствующий символ другой, то та строка, в которой находится этот символ, считается большей.

Строки считаются равными, если у них одинаковая длина и соответствующие символы совпадают.

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

Следовательно, верны соотношения:

                     '          

                  ' abcd     ' Abcd

'abc'='abc';

'abcd '>'abc'; .

•abc '>'abc'; {первая строка заканчивается пробелом}

' с Ъ 'bbbbbbbbbb' ;

' aBcd'<'ab';

Конкатенация (слияние строк)

Функция Concat (S1, S2,..., Sn) объединяет несколько строк в одну и, если надо, обрезает слишком длинный результат до 255. Тип параметров и результата строковый. Например:

Var S1, S2, S3: string;

Begin

•основы••,

S2 ' ИНФОРМАТИКИ“;

Writeln(S3); будет напечатано ОСНОВЫ ИНФОРМАТИКИ} End.

Вместо этой функции можно использовать запись S1 + S2. Например:

Str1 'computer';

Str2 : Str1 + ' program';

Эта операция имеет более высокий приоритет, чем операции сравнения.

Выделение подстроки

Функция Copy(S, i, count) выделяет подстроку из строки S длиной count, начиная с символа под номером i. Запись Сору (str, 4, З) означает: в строке str, начиная с позиции 4, выбрать З литеры.

Наример:

Str1 : computer' ;

Str2 Copy(Str1, 4, З) + Copy('term', 1, З), Writeln(Str2);

Str2 будет содержать 'putter'.

Удаление подстроки

Процедура Delete (var S, i, count) удаляет из строки S, начиная с символа с номером i подстроку длиной count символов. Например:

Str1 : computer' ;

Delete (Str1, 4, З); {из Str1 начиная с позиции 4 удалить З литеры}

Теперь Str1 будет содержать 'comer• .

Если параметр count окажется больше реального числа символов до конца строки, то будет удален лишь максимально возможный в данной ситуации фрагмент. Если параметр i будет больше текущей длины строки, ни одной литеры не удалится.

Вставка строки

Процедура Insert (s1, var s, i) предназначена для вставки в строку S, начиная с символа с номером i, подстроки S1. Например:

Str1 : comer ;

Insert('plain', Str1, 4);

Теперь в Str1 содержится 'complainer'.

поиск в строке

Функция Pos (Substr, S) производит поиск в строке S подстроки Substr. Результатом функции является номер позиции подстроки в исходной строке. Если подстрока не найдена, то функция вернет значение О. Если искомая подстрока содержится в исходной строке неоднократно, то функция вернет позицию первого вхождения подстроки. Например:

Str1 : вечер ;

Str2 : 'computer' ;

Р 1 :— Pos('e', Str);

Pos(Str1, Str2);

РЗ :— Pos('ut•, Str2);

                Переменная Р 1 получит значение 2 (по 1-й букве «е»). Р2 получит значение О, РЗ          5.

Определение длины строки

Функция Length(S) возвращает целое значение, равное текущей длине строки S. Например:

Length('a Ы) — з,

Length('ab') = 2

Преобразование строк

Процедура Str(X, var S) преобразует выражение Х целого или вещественного типа (возможно, заданное с форматом вывода) в строку S. Например:

                  Str(-456, S);               S примет значение '—456'

                  Str(23.341, S);             S примет значение ' 2.3341000000Е+О1

Str(23.341:7:2, S); S примет значение '23.34' (перед числом 2 пробела)

Процедура Val (S, var Х, var code) преобразует строку S, представляющую собой число, в число х целого или вещественного типа. Если преобразование прошло успешно, то параметр code вернет значение О. Если нет он станет равным номеру позиции в строке S, в которой возникла ошибка. Например:

Val Х, code); Х будет равен -45, а code О; Val ('2Зх', Х, code); Х будет равен О, а code з.

В заключение следует рассмотреть пример работы со строками.

Пример. Найти в строке слово 'Peter' и заменить его на слово 'Ivan'. Ниже приведен фрагмент программы:

Var

Str: string[100];

Р: integer;

                 Begin        

Р := Pos ('Peter', str);

While Р > О do {если такая подстрока есть) Begin

Delete (Str, Р, 5); Insert ('Ivan', Str, Р);

Р := pos ('Peter', Str);

End;

       Процедуры и функции       

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

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

Любая подпрограмма должна быть описана до того, как она будет вызвана в программе или в другой подпрограмме. В языке Pascal подпрограмма является частью основной программы, ее описание располагается в описательной части программы, т. е. перед первым Begin программы.

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

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

Подпрограмма процедура начинается с заголовка, который является обязательным. Он состоит из зарезервированного слова Procedure, за которым следует идентификатор имени процедуры, а далее в круглых скобках список формальных параметров. Список параметров не является обязательным, поэтому указан в квадратных скобках.

Procedure <имя процедуры> [(список формальных параметров)];

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

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

1)     параметры-значения (эти параметры в основной программе подпрограммой не изменяются);

2)     параметры-переменные (эти параметры подпрограмма может изменить в основной программе);

З) параметры-константы (используются только в версии 7.0);

4) параметры-процеДуры и параметры-функции.

Параметры-значения передаются основной программой в подпрограмму через стек в виде их копий, и, следовательно, собственный параметр программы подпрограммой измениться не может. Параметр-значение указывается в заголовке подпрограммы своим именем и — через двоеточие типом. Тип параметра-значения может быть любым, за исключением файлового. Если параметров-значений одного типа несколько, их можно объединить в одну группу, перечислив их имена через запятую, а затем уже указать общий тип. Тип параметра-значения может быть любым за исключением файлового. Отдельные группы параметров отделяются друг от друга точкой с запятой.

При передаче параметров-переменных в подпрограмму фактически передаются их адреса в порядке, объявленном в заголовке подпрограммы. Это означает, что подпрограмма имеет доступ к этим параметрам и может их изменять. Параметр-переменная указывается в заголовке подпрограммы аналогично параметру-значению, но только перед именем параметра записывается зарезервированное слово var. Действие слова var распространяется до ближайшей точки с запятой.

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

Описание функции отличается от описания процедуры. Поскольку функция предназначена для вычисления какого-либо значения, необходимо указать ее тип:

Function <имя_функции> (<список формальных параметров>): тип;

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

Пример использования подпрограмм

Рассмотрим программу вычисления длин сторон треугольника по известным координатам вершин треугольника.

Program Prim; {вычисления длин сторон треугольника} Var

Х 1, У 1, Х 2, У 2, ХЗ, УЗ: геа1; {координаты вершин треугольника}

D1, D2, D3: геа1; {длины сторон треугольника}


— Bblt1HCJ1eHue paccT0flHHfl  'roqrcaMH — Function Distance(A1, Bl, A2, B2: real): real;

Begin

Distance sqrt(sqr(A1 - A2) + sqr(B1 - B2);

End;

==== BBOX1 KOOPAHHarr BeP11.1HH TpeY1'0J1bHMKa =====}

Procedure Init;

Begin

Writeln ('Enter triangle apexes coordinates');

Write ('Coordinates X 1, Yl

Readin (Xl, Yl);

Write('Coordinates X2, Y2

Readin (X2, Y2);

Write('Coordinates X3, Y3 t );

Readin (X3, Y3);

End;

CTOPOH Tpeyr0J1bHHKa =

Procedure Solution;

Begin

DI Distance(X1, Yl, X2, Y2); D'2 Distance(X2, Y2, X3, Y3);

DB Distance(X1, ¥1, X3, Y3);

End;

— BblBOZ1 AaHHb1X — Procedure Browse;

Begin

Writeln ('Length_l

Writeln ('Length_ 2 — Writeln ('Length_3 — , D3 .

End;

OCHOBHaa nporpaMMa

BEGIN

Init;

Solution; Browse; END.

Приложение 2. Программирование на языке QBASlC

 Basic (Beginners All-purpose Symbolic Instruction Code многоцелевой язык символических инструкций для начинающих) представляет собой простой язык программирования, разработанный в 1964 году для использования новичками в программировании. Он создавался как простейший язык для непосредственного общения человека с вычислительной машиной. По этой причине первоначально работа велась в интерактивном режиме с использованием интерпретаторов. В настоящее время существует множество версий этого языка: GW-Basic, MSX-Basic (ранние версии), Quick Basic (QBASIC), Тимо Basic, Visual Basic последние обладают высокими сервисными возможностями для составления и отладки программ.

Лексическая структура языка

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

*        буквы: латинские прописные и строчные буквы, причем большие и малые буквы не разли-

чаются, если не входят в строковые константы;  арабские цифры от О до 9;

*        специальные символы;  составные символы, образующиеся из комбинаций специальных символов; в тексте программы их нельзя разделять пробелами;  пробел — разделитель в языке.

Из букв, цифр и знаков - подчеркивания строятся идентификаторы. Написание прописных и строчных букв в идентификаторах не различаются. Длина идентификатора может быть любой, но существенны только первые 63 символа. Начинаться идентификатор должен всегда с буквы и может содержать знаки подчеркивания и цифры в любом другом месте.

В понятие специальных символов входят знаки операций, знаки пунктуации, зарезервирован-

ные слова.

Под знаками операций понимаются как различные арифметические действия ( + ,

<, >, <=, >=), так и арифметические и логические функции( MOD, INT, NOT, AND, 0R и т. д.) Множество знаков пунктуации складывается из следующих символов:  выделение комментария; о— выделение индексов массива, алгебраические скобки;  апостроф;

— разделение списка ввода[вывода операторов PRINT, INPUT; знак присваивания; разделение элементов списка;

— отделение нескольких операторов друг от друга в одной строке; отделение целой части от дробной;  признак целого числа;

— признак целого длинного числа; признак дробного числа; признак дробного числа двойной точности;  — признак символьной строки;

9 — приглашение оператора PRINT.

К зарезервированным словам относятся операторы, имена логических и арифметических функций.

Структура программы

На языке программирования QBASIC программы не имеют заголовка. Текст программы может начинаться непосредственно с какого-либо оператора. Но чаще в первые строки программы выносят название программы или ее назначение. В начале таких строк ставится служебное слово REM (от англ. remark — примечание, пояснение). Строки, начинающиеся со слова REM, не исполняются. Например, программа может начинаться так:

REM Вычисление периметра прямоугольника

Не исполняется также строка, которая начинается с апострофа, например:

' Нахождение наименьшего слагаемого.

Строки программы на QBASIC, начинающиеся со слова НЕМ или с апострофа, это комментарии. Транслятор, встречая строку комментария, проигнорирует все, что набрано в этой строке, и продолжит выполнение программы со следующей строки.

Программы на QBASIC состоят из строк операторов ввода и вывода, операторов ветвления, циклов и др. Иногда строки программы нумеруют числами так, чтобы исполнение программы осуществлялось в порядке возрастания номеров. Шаг нумерации выбирают кратным, например, 5, 10, 100. Это позволяет легко вставлять новые строки в программу, не нарушая общей нумерации. Номера строк могут использоваться как метки в случаях, когда необходимо нарушить построчную последовательность выполнения команд и организовать переход к оператору определенной строки.

Текст программы может заканчиваться служебным словом END или строкой N ЕМ), где лт номер строки (метка).

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

Структура данных

Данные в QBASIC бывают следующих типов:

 целые;  вещественные;  логические;  символьные;  массивы;  файлы.

Во многих языках программирования все используемые переменные должны быть обязательно объявлены. Этой процедурой системе программирования сообщается имя и тип переменной. В языке QBASIC не требуется предварительного описания простых переменных, хотя, делая это явно, можно избежать многих проблем. Существует возможность объявлять переменные посредством суффиксов символу, который приписан в конце имени переменной.

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

DIM Имя_переменной AS Типданных

целые типы

В QBASIC введено два стандартных целых типа, которые отличаются форматами и диапазонами допустимых значений.

Тип

Значение

 

Формат

INTEGER

-32768...32767

Знаковый

 

LONGINT

-2147483648...2147483647

Знаковый

 

           Например, N O/o = 5,      = 1000000.

Для работы с целыми типами данных используются следующие арифметические функции, результат которых тоже целое число:

ABS(N)

Абсолютная величина N

 

Целая часть от деления

А МОГ) В

Остаток от деления

 

Сложение

 

Умножение

 

Вычитание

 

Возведение в степень

FIX(X)

Получение целой части вещественного числа Х

CINT(X)

Округление до целого вещественного числа Х

CLNG(X)

Округление до длинного целого вещественного числа Х

INT(X)

Получение наибольшего целого числа, которое меньше или равно Х

Вещественные типы

В QBASIC, так же как и для целого типа, определено два стандартных вещественных типа, которые отличаются форматами и диапазонами допустимых значений:

Тип

Значение

 

Число цифр

32

 

DOUBLE

-2910-38...1.7*1038

 

 

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

ABS(X)

Абсолютное значение Х

 

АТМХ)

Арктангенс Х

 

COS(X)

Косинус Х

 

SIN(X)

Синус Х

 

TAN(X)

Тангенс Х

 

 

 

LOG(X)

Натуральный логарифм

 

RND(X)

Получение случайного числа

 

SQR(X)

Квадратный корень Х

 

CDBL(X)

Представление числа с двойной точностью

 

 

CSNG(X)

Представление числа с одинарной точностью

 

CINT(X)

Округление для целого числа

 

Определение наибольшего целого, не превосходящего Х

 

SGN(X)

Определение знака величины Х

Действительные числа можно записывать в двух форматах: с фиксированной и плавающей точкой (разделителем является точка). Например:

0.0285, 2.85Е-2, 2.85D-2; 784.0, 7.84Е+2, 7.84D+2.

Буква Е используется для вещественных чисел обычной точности, буква D для вещественных чисел двойной точности.

Логический тип

Логические данные, которые имеют значение либо '«истина — 1, либо “ ложь О, обрабатываются с помощью логических операций и операций сравнения. К ним относятся:

NOT — отрицание;

0R — объединение, или логическое сложение;

AND — пересечение, или логическое умножение;

XOR — исключающее «ИЛИ» или сложение по модулю два; EQV — эквивалентность;

IMP — импликация, или следование.

Результат работы операций задастся следующей таблицей истинности (таблицы значений):

 

 

NOT А

в

А AND B

A OR B

AXORB

А EQV B

А

В

 

1

 

 

 

 

1

1

 

 

1

1

 

1

1

 

1

 

1

 

 

 

1

1

 

 

 

1

 

1

1

1

 

1

1

 

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

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

СИМВОЛЬНЫЙ тип

Значениями переменной символьного типа являются цепочки символов. QBASIC допускает длину цепочки не более 32767 символов. Для того чтобы показать, что используется переменная

символьного типа, необходимо к имени этой переменной добавить знак $: „4$, DF$, STR$ и т. д. В программах значения символьных переменных всегда заключаются в апострофы.

Этот тип является порядковым, следовательно, значения символьных переменных могут сравниваться между собой (>, <, _ <>), например: < ”asdf". Внутри каждого ряда символов их коды упорядочены:

Коды всех строчных букв меньше кодов всех прописных.

Для переменных символьного типа определена операция сцепления — конкатенация (+): «мото» + «цикл» — «мотоцикл».

Для работы с таким типом данных часто используются следующие функции, аргументы которых могут быть символьными переменными:

CHR$(N)

Преобразование кода лт в символьное представление

ASC(X$)

Преобразование символа Х$ в десятичный код

RIGHT$(X$, N)

Выделение N символов, начиная с самого правого символа в символьном выражении Х$

LEFT$(X$, N)

Выделение лт символов, начиная с самого левого символа в символьном выражении Х$

MID$(X$, N, М)

Выделение М символов, начиная с №го символа в символьном выражении Х$ (М может быть опущено)

SWAP Х$, У$

Обмен символьными выражениями Х$ и У$. Используется как оператор

STRING$(N, Х$)

Формирование строки из ЛТ одинаковых символов

SPACE$(N)

Формирование строки из N пробелов

OCT$(N)

Перевод десятичных чисел в восьмеричное счисление

HEX$(N)

Перевод десятичных чисел в шестнадцатеричное счисление

LEN(N$)

Определение длины символьного выражения

STR$(X$)

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

VAL(X$)

Преобразует строку в числовое представление. Если преобразование невозможно результат О

INSTR (N, Х$, У$)

Поиск подстроки У$ в строке Х $ , начиная с N-I'0 символа (N можно опустить)

По умолчанию считается, что переменная принадлежит к вещественному типу. Если же переменная или константа является целочисленной или символьной, то на это указывает последний символ в имени переменной. Например, переменную целочисленного типа можно записать так: нормальная длина (диапазон — [—327686 32767], или А& — число удвоенной точности (диапазон — [-2147483648, 21474836471).

Если присвоить переменной некоторое значение (числовое или символьное) и в дальнейшем не изменять его, например: F3 = 60, N% = 15, тогда переменные F3 и ЛТ0/о можно считать именованной (типизированной) константой. В QBASIC существует специальный оператор для описания именованной константы:

CONST <имя_переменной = константа>

            Пример: CONST F2 = 60,       = 15.

тип массив

Массив представляет собой заранее известное количество однотипных компонентов, снабженных индексами. Массив может быть одномерным или многомерным. Массивы, в отличие от простых переменных, требуют предварительного описания. Чтобы задать массив, необходимо использовать зарезервированное слово DIM, после которого указать имена описываемых массивов и в круглых скобках список из максимальных значений индексов (по числу измерений). Нумерация индексов массива начинается с нуля, т. е. минимальное значение индекса равно нулю. Например, объявление одномерного массива 11 целых чисел может быть задано следующим образом: DIM N% (10). Запись DIM АА (5,7), Х (5) объявляет двумерный массив АА из 48 действительных чисел обычной точности и одномерный массив из шести таких же чисел. Описание массива должно быть произведено до первого обращения к его элементам.

Оператор OPTIN BASE устанавливает минимальное значение индексов массива. Он должен быть указан до объявления массивов: OPTIN BASE п, где п равно единице или нулю. Оператор ERASE отменяет объявление массивов, сделанных оператором DIM:

ERASE список имен массивов

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

Файл

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

В QBASIC имеется две категории файлов, работа с которыми отличаются друг от друга:  последовательные;  с произвольным доступом.

Операторы ввода/вьвода

Ввод и вывод в QBASIC в основном осуществляются через простейшие операторы INPUT и PRINT.

<список ввода>

Оператор INPUT производит ввод данных, присваивая значения соответствующим переменным во время ввода. Например, при выполнении оператора по вводу трех целых чисел

INPUT АИ, В ОЛ, С ОЛ

на экране появится знак вопроса и с клавиатуры необходимо будет ввести числа через запятую, а затем нажать клавишу <Enter>:

123, 45, -56

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

INPUT ”ВВЕДИТЕ РАЗМЕРНОСТЬ МАССИВА“;

Для ввода данных в системе QBASIC, кроме оператора INPUT, предусмотрены операторы READ и DATA. Они позволяют присваивать значения большому количеству переменных. Вводимые числовые или строковые константы записываются в операторе DATA. Этот оператор может располагаться в любом месте программы, но обычно его помещают в конце программы. Присваивание значений выполняются операторами READ. Причем типы переменных, использованные в операторе READ должны соответствовать типам переменных в строке DATA.

Например:

READ А, В ОЛ, S$

READ S1$

DATA 23.5, 33, “123”, 55

Количество значений в операторе DATA ничем не ограничено. Эти значения должны отделяться друг от друга запятыми. Строковые константы в операторе DATA могут заключаться, а могут и не заключаться в кавычки. Если в программе имеется несколько операторов DATA, то все они формируют как бы один список значений. Операторы READ будут выбирать значения из этого единого списка.

Для вывода данных на экран дисплея используетсяется оператор PRINT. При использовании этого оператора можно употреблять в качестве разделителей запятую или точку с запятой. Точка с запятой в конце списка выражений отменяет символы «возврат каретки» и «перевод строки». Использование запятой приводит к так называемому «зонному» выводу данных, где под «зоной» понимается расстояние в 14 символов (колонок). При использовании точки с запятой в качестве разделителя данные выводятся последовательно, друг за другом.

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

PRINT “ А“, ”В”, тогда на экране появится надпись вида:

                             в       с.

Если вводить

PRINT  ••С“

то на экране появится надпись в виде:

А В С .

Задавать позицию, с которой следует начинать печать данных, можно с помощью функции табулирования TAB(N), где лт — номер позиции (число или арифметическое выражение). Например, оператор PRINT ТАВ(12); ”СУММА” начнет печатать с 12-й позиции.

Для задания расположения выводимых на экран значений полезна также другая функция функция пробелов SPC(N), N — число пробелов. Так, оператор

PRINT spC(4); ”СУММА”•, SPC(4)•, ”ЦЕНА”

выполнит вывод, при котором между соседними словами будет по 4 пробела.

Каждый оператор PRINT начинает печатать с новой строки.

Операция ввода и вывода массива с помощью процедур INPUT и PRINT могут выполняться только с отдельными элементами, но не с массивом в целом. Считывание массива или вывод на экран происходит с помощью цикла FOR. При вводе/выводе массива происходит поочередное считывание всех п элементов массива. Например, ввод массива можно организовать следующим образом:

REM 1

INPUT ”Введите размер массива N =

                           ТМ MAS          )

                          FOR        ТО

PRINT  1; INPUT MAS(I)

NEXT

Операторы языка

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

Все операторы можно рассматривать как выполняемые и невыполняемые. Выполняемые операторы служат для выполнения определенных операций или изменения порядка выполнения операторов в программе. К невыполняемым операторам относятся операторы управления, такие как оператор конца программы ЕМ), объявления массивов DIM, комментария REM.

В свою очередь, выполнимые операторы могут быть вычислительными и невычислительными. Кроме того, в QBASIC используются блочные (структурированные) операторы, состоящие из групп операторов.

Оператор присваивания. С помощью оператора присваивания или LET) какой-либо переменной присваивается значение. Например:

- 5

ST$ - “QWERTY”

LET - (А + в + сус

Оператор безусловного перехода (ЮТО N. Этот оператор нарушает нормальное выполнение программы и переводит его на строку с указанным номером М. Современный стиль программирования не рекомендует использовать этот оператор, т. к. он затрудняет чтение и отладку программы.

Блочные операторы

К блочным операторам относятся:

*        условный оператор /ELSE/ENDIF;

*        оператор выбора SELECT CASE;

*        оператор цикла FOR ... ТО;

, оператор цикла DO ШОР [{WHILE/UNTIL}]•,

*        операторы цикла DO WHILE/UNTIL LOOP и WHILE WEND;

*        процедурные блоки S UB и FUNCTION.

Условный оператор IF/THEN /ELSE/ENDIF. Условный оператор позволяет исполнять те или иные действия в зависимости от значения логического условия. В языке есть две разновидности этого оператора:

 1) краткая форма условного оператора:

IF F THEN оператор 1> : Оператор 2> :...<оператор М>

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

IF F ТНЕЛ

«(оператор 1 > оператор 2>

<оператор М>

ENDIF

2) полная форма условного оператора:

IF F ТНтч <оп.1 > : <оп.  ELSE  ...<оп.


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

IF ТНтч

«(оператор 1 > оператор 2>

«(оператор М> ELSE

<оператор Х>

<оператор У>

ENDIF

где 1' — логическое условие.

В первом случае, при истинности логического условия Р, выполняется последовательность операторов 1 ...М. Альтернативная конструкция отсутствует или заменена оператором ENDIF, т. е., если условие ложно, ничего не выполнится.

Во втором случае, при истинности логического условия Е, также выполняется последовательность операторов 1 ...М, в противном случае — последовательность операторов Х... У.

Например, чтобы определить, являются ли три введенных числа А, В, С углами треугольника, нужно записать:

IF (А > 0) AND (В > 0) AND (С > 0) AND (А + В + С 180) THEN PRINT ” являются углами треугольника

ELSE

PRINT являются углами треугольника ENDIF

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

SELECT CASE параметр

CASE значение параметра 1 «(оператор 1>

CASE значение параметра 2 <оператор 2>

CASE значение параметра Х оператор Х> CASE ELSE

<оператор L>

END SELECT

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

SELECT CASE А$

                                 CASE         ТО

PRINT ”цифра'

CASE ELSE

                                       PRINT        цифра“

END SELECT

Конструкция CASE ELSE не обязательна и может быть опущена.

во

Оператор цикла FOR...TO. Оператор безусловного цикла имеет следующую структуру:

FOR = N1 ТО N2 STEP Х

<Тело цикла>

NEXT

где I — переменная цикла, которая должна быть числом; N1 — начальное значение переменной цикла;

N2 — конечное значение переменной цикла;

Х — шаг, с каким изменяется переменная цикла.

Безусловный цикл выполняется заданное число раз. Чтобы прервать выполнение досрочно, необходимо увеличить I до конечного значения (I = N2), или использовать оператор безусловного перехода (ЮТО.

Строка NEXT называется возвратной частью цикла — от этой строки происходит возврат в начало цикла, если не все значения параметра I исчерпаны.

Оператор цикла DO LOOP [{WHILE UNTIL}]. Это оператор цикла с постусловием. Проверка условия выхода из цикла осуществляется после каждого выполнения тела цикла, таким образом этот цикл всегда выполнится хотя бы один раз. Структура цикла:

DO

<тело цикло

ШОР [{WHILE UNTIL} условие]

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

                      DO

PRINT “ Введите длину последовательности N =

INPUT

ШОР (-JNTIL

Цикл выполняется до тех пор, пока пользователь не введет положительное число.

При использовании UNTIL цикл выполняется до тех пор, пока не выполнится условие, а при использовании WHILE цикл выполняется только при выполнении условия и заканчивается, если условие нарушается.

Операторы цикла DO WHILE/UNTIL LOOP и WHILE WEND. Эти виды циклов называются циклами с предусловием, т. к. проверка условия проводится до начала очередной итерации:

ПО [{WHILE UNTIL} условие]

«(тело цикла>

ШОР или

WHILE

«(тело цикло

WEND

Цикл WHILE выполняется, пока условие истинно. Как только условие нарушается, выполнение цикла завершается. Если используется UNTIL, то выполнение происходит до тех пор, пока условие не станет истинным.

Например, та же проверка вводимой длины последовательности может быть задана как

INPUT

                                       WHILE N O/o                    О

PRINT “ Введите длину последовательности N =

INPUT N O/o

WEND

До первого входа в цикл переменной N% уже должно быть присвоено какое-либо значение.

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

                  блоки SlJB и FUNCTlON        

В QBASIC можно объявлять и использовать поДпрограммы. При вызове подпрограммы (функции или процедуры) выполнение основной программы приостанавливается и управление передается в подпрограмму. По окончании работы подпрограммы управление возвращается основной программе. Основное неформальное различие между процедурой и функцией состоит в том, что процедура только выполняет какую-либо законченную последовательность действий, не возвращая результата работы в основную программу, а функция и выполняет действия, и возвращает результат. Например, вызов функции М = MIN(X, У) вернет в основную программу значение наименьшего из двух чисел, и это значение будет присвоено переменной М.

Функция может быть объявлена следующим образом (в квадратных скобках указаны описания, которые не являются обязательными):

FUNCTION имя функции [(список параметров)] [STATIC1

<операторы> имя функции = выражение <операторы>

END FIJNCT10N

где имя функции        имя функции и тип данных, которые она возвращает ( % , &, !, #, $); список параметров — список переменных, с помощью которых функция вызывается, с указанием типов этих переменных: STATIC — объявляет, что локальные переменные данной функции сохраняются между вызовами самой функции.

Можно объявлять функции и по-другому:

DEF FN имя функции [(список параметров)] <операторы>

FN имя функции = выражение

<операторы>

[EXIT DEF]

<операторы>

END DEF

Второй способ объявления функций считается более традиционен. Процедура объявляется следующим образом:

SUB имя подпрограммы [(список параметров)] [STATIC]

<операторы>

END SUB

Рассмотрим пример использования нестандартной функции при построении графика функции на интервале (О, 1) для функции у(х) = еа(х+1)  2 их

232


Программа будет иметь такой вид:

REM “ Построение графика функции У(Х)”

DEF FNE (Х) = ЕХР (А * Х)

INPUT ” Введите коэффициент А“; А

FOR Х = О ТО 1 STEP .05

У = FNE (Х + 1 ) + FNE (Х - 1 ) FNE ( 2 * Х)

NEXT Х END.

Примечание 1. Если тело функции один оператор, то END DEF можно опустить.

Примечание 2. Оператор PRINT каждый раз начинает вывод с новой строки.

Часть 2

 

 

4

 

З

 

12

вз

14 22,30

 

2

 

6

 

F(A, В) = -Алв

 

10, 8 12

В10

АСТИ

часть 3

С1. Словесный алгоритм.

1. перенести маленький диск на конечный стержень;

2. перенести средний диск на вспомогательный стержень;

З. перенести маленький диск на вспомогательный стержень;

4. перенести большой диск на конечный стержень;

 

1-й ход

 

Начало игры

1-й игрок

 

2-й игрок

 

 

 

12,4

 

6,8

 

 

 

6,7

3,8

 

6,8

 

3,16

 

6,8

 

3,11

5. перенести маленький диск на исходный стержень;

6. перенести средний диск на конечный стержень;

7. перенести маленький диск на конечный стержень.

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

2. переложить п-й диск с исходного на конечный стержень;

З. перенести башню из п — 1 дисков со вспомогательного стержня на конечный.

С2. Удобнее всего для обоснования ответа составить таблицу возможных ходов обоих игроков. Заметим, что каждый раз есть только четыре варианта хода. В таблице курсивом выделены случаи, которые сразу же приносят поражение игроку, делающему этот ход (например, когда камней в какой-либо кучке становится больше или равно 8, другой игрок непременно выигрывает следующим ходом, удваивая количество камней в этой кучке). Из таблицы видно, что при безошибочной игре обоих игроков, первый всегда выиграет, если первым ходом сделает любой, кроме З, 8. У второго игрока в этом случае есть шанс выиграть, удвоив количество камней во второй жуче 3,16.


 

 

12,4

6,8

 

6,7

3,7

6,7

 

6,7

3,10

СЗ. Программа на учебном алгоритмическом языке может быть такой.

Вариант 1

алг Время_до_конца_суток (арг цел К, рез цел Hour, Min, Sek) дано — количество секунд, которое прошло с начала суток надо [определить сколько часов Hour, минут Min и секунд Sek |ОСТтлОСЬ до конца суток нач подсчет количества часов до конца суток если К mod (60*60) = О то 24- К  ) иначе Hour:= 24 - К div(60*60)-1 всё

|подсчет количества секунд до конца суток если К mod (60*60) = О то Sek:= О иначе Sek:=60-(k mod (60*60)) mod 60 всё

|подсчет количества минут до конца суток если К mod (60*60) > 60 то min:=60-(k mod (60*60)) div 60 всё если Sek<>O то Min:=Min-1 всё кон

Вариант 2

алг Время_до_конца суток (арг цел К, рез цел Hour, Min, Sek) дано lk — количество секунд, которое прошло с начала суток надо |определить сколько часов Hour, минут Min и секунд Sek |осталось до конца суток нач цел Sutki, Chas Sutki :-  $6400

Chas := 60*60 13600

Hour = (Sutki - К) div Chas

Min := ((Sutki - К) mod Chas) div Min

Sek := ((Sutki - К) mod Chas) mod Min кон

С4. Словесный алгоритм (краткий):

1.ввести количество судей М и массив оценок длиной М •

2.найти сумму всех баллов$ит), т. е. сумму всех элементов массива оценок. З. найти значение максимального балла(Мах) и минимальногоотп) балла;

4. общий балл равен (Sum-Min-Max)/(M-2).

Программа на учебном алгоритмическом языке может быть такой.

алг Оценка спортсмена (арг цел М, арг вещ таб рез вещ Rezult) дано lM > О надо |найти результирующий балл нач цел i вещ Мах, Min, Sum Sum := АД]

Min : = А[1]; Мах := A[11 'начальные установки ни, для i от 2 до М

Sum := Sum + A[il |сумма всех оценок если A[i] > Мах |поиск максимального балла то Мах := A[i] всё если A[i] Min 'поиск минимального балла то Min A[i] всё кц

Rezult:= (Sum-Min-Max)/(M-2) подсчет результата кон

Ответы к тренировочным тестовым заданиям к разделу 2

часть 1

 

2

 

З

МЗ

2

 

з

 

2

14

з

 

З

 

2

А15

1

 

2

А1О

1

 

1

 

2

А11

З

А17

2

Аб

1

А12

4

А18

4

Часть 2

 

ЕДАВБЖГ

 

АВГБ

 

ЗДГЕЖБВА

 

index.net

вз

ГАВБ

 

http://

 

БВАГ

 

АВГБ

 

ВАБГ

В10

(Эверест/Джомолунгма)&альпинисты

часть 3

(Л. Анализ программы:

1) формируется тело программы, и описываются переменные;

2) вводится натуральное число N, которое определяет размерность массива У; затем поэлементно вводится строковый массив V (в Pascal количество элементов массива должно быть не больше 100);

З) во внешнем цикле от 1 до N-1 генерируется число I;

4) тело внешнего цикла — внутренний цикл по переменной Ј. В этом цикле, выполняется сравнение строк V[i] и V[j], при этом, если не выполняется условие  осуществляется перестановка строк с индексами i и ј (с помощью вспомогательной переменной Т тр в Pascal; с помощью операции SWAP в QBASIC). Внешний цикл обеспечивает просмотр массива N-1 раз. Таким образом, с помощью двух вложенных циклов осуществляется переупорядочивание строкового массива в алфавитном порядке методом выбора главного элемента.

5) организуется поэлементный вывод упорядоченного строкового массива У.

Переменные, используемые в программе: лт — размерность массива; 17 — входной и выходной строковый массив; i , ј— переменные циклов;

Ттр — вспомогательная переменная (для языка Pascal);

Данная программа решает задачу переупорядочивания строкового массива в алфавитном порядке.

С2. Решение.

1)                        Примеры точек, для которых программа неверно решает поставленную задачу при R = 5:

А (0, 5), ВО, -5), C(-1, -2), ИЗ, -2).

2)                        Программа работает неверно, т.к. в программе есть две ошибки. Первая ошибка неправильно описана область, заданная в условии; вторая при невыполнении условия внешнего if, программа не выдаст никакого сообщения (отсутствует else), т.е. для точки, например (—3, 4), программа ничего не выведет. Возможная доработка:

Pascal

QBASIC

If (00) and (у>О) then

If (х  * R) then

IF ( Х > О               У > 0) ТНТЧ

IF (Х * Х + У * У < R * R) THEN

Writeln Сочка принадлежит области ')

Writeln (' Точка не принадлежит области');

Writeln (' Точка не принадлежит области');

PRINT ” Точка принадлежит области“

ELSE

PRINT ”Точка не принадлежит области“

ENDIF

ELSE

PRINT ” Точка не принадлежит области“

ENDIF

 

Примечание 1. Строгие неравенства означают, что граница не принадлежит области.

Примечание 2. Если использовать один условный оператор If, то условие нужно записать в виде :(х > О) and (у > О) and (х * х + у * у < R * R)

СЗ. Пример возможной программы

 

Pascal

QBASIC

 

 

Program Мах Number;

Var F: array[O..9] of boolean;

С: char;

Mas: array[O..9] of integer; i, ј: byte; St, S: string;

Х: real;

Code: integer;

Begin

For i:=O to 9 do Begin

End•,  символ');

Read(C);

      While            '

Begin j:=ord(C)-ord('O ');

If (ј>=О) and(j<=9) then Begin

End;

Read(C)•,

End•,

Writeln;

For i:=9 downto О do

            If F[i] and          1) then

Begin

Str(i, S);

End•,

REM МАХ NUMBER тм F(9), MAS(9), А(9)

FOR

NEXT

PRINT ” Введите символ“

INPUT С$

FF=O: Х-О

DO WHILE NOT (С$=".”)

ТНТ.Ј

ENDIF

INPUT С$

ШОР

FOR

         IF                                                             ТНЕГЧ

ENDIF

NEXT

IF ST$=”” ТНТЧ

PRINT ” Число не найдено“

ELSE

ENDIF

 

 then

Writeln(' Число не найдено ')

Begin

Val(St, Х, Code);

End;

 

Примечание 1. В программе на Pascal используются стандартные процедуры Stdi, S ) — преобразование числа i в строку S и Val (St, Х, Code) — процедура преобразования строки St в число Х, параметр Code будет содержать код ошибки, если преобразование невозможно.

Примечание 2. Если не использовать Val, Str то возможно потребуется использование дополнительного массива и цикла. Программа на языке QBASIC может быть, например, такой:

REM MAXNUMBER тм F(9), MAS(9), А(9) FOR = О ТО 9

MAS(I) = О

NEXT

PRINT ' Введите символ“ INPUT 0$

DO WHILE муг (С$=”.”) еЈ = ASC(C$)

                                      9) ТНТ..Ј

MAS(J) = MAS(J) + 1

ENDIF

INPUT С$

ШОР

FOR = О ТО 9

IF (F(I) = 1) AND (MAS(I) - 1) THEN

ENDIF

NEXT

NEXT

IF FF = О ТНТЧ PRINT ”Число не найдено '

                      ELSE PRINT        = Х

ENDIF


С4. Пример возможной программы

Pascal

Program Ticet;

Var ј: 1..12; {номер месяца} dd тип: string[5]; {текущая дата}

К: longint; {количество проданных билетов за день}

Sum: real; {стоимость проданных билетов за день}

К Ticet: array[1..121 of longint; {массив для определения количества проданных билетов за каждый месяц}

Sum Ticet: array[1..12] of real; {массив для определения стоимости проданных билетов за каждый месяц} i: byte; {счетчик}

S 1: integer; {среднегодовое количество проданных билетов за МеСЯЦ}

S 2: real; {среднегодовая стоимость проданных билетов за месяц} Begin

For i:= 1 to 12 do

Begin

End•,

      For     1 to 365 do

Begin

Readln(dd тт, К, Sum); {ввод исходных данных}

            — (ord(dd_mm[4]) - ord('O'))*10 + ord(dd тт[5]) - ord('O');

{выделение из строки даты номера месяца и преобразование в число}

К Ticet[j] := К Ticet[jl + К; {заполнение массива К Ticet }

Sum Ticet[jl := Sum Ticet[j] + Sum; {заполнение массива Sum Ticet} S 1 := S_1+ К; {подсчет количества проданных билетов за год}

S 2 := S 2+ Sum; {подсчет стоимости проданных билетов за год}

End•,

S_1 . — round(S 1/12); {среднегодовое количество проданных билетов за месяц}

S 2 := S 2/12;{ среднегодовая стоимость проданных билетов за месяц } количество проданных билетов за месяц =',S 1); стоимость проданных билетов за месяц— S 2);

For i:=1 to 12 do

{цикл для поиска и вывода номеров месяцев, в которых количество проданных билетов превысило среднегодовое количество более, чем на 50 0/0 . } If                              then

Writeln('H0Mep месяца= ',i , ' Сумма стоимости всех проданных за месяц билетов превысила среднегодовую сумму. (Sum_Ticet[i]/S_2):O:2 ' раз');

End.

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


QBASIC

REM ТIСЕТ

OPTIN BASE 1

' массив для определения количества проданных билетов за каждый месяц} тМ kTICET(12)

' массив для определения стоимости проданных билетов за каждый месяц} тм SIJMTICET(12)

FOR 1 = 1 ТО 12 kTICET(I) = О

SUMTICET(I) = О

NEXT

FOR         1 ТО 365

' ввод исходных данных

INPUT DDMM$, К, SUM

' выделение из строки даты номера месяца и преобразование в число

' заполнение массива КТIСЕТ

SUMTICET(J) = SIJMTICET(J) + SUM 'заполнение массива stJMTICET

S1 = S1 + К ' подсчет количества проданных билетов за год

S2 = S2 + Sum ' подсчет стоимости проданных билетов за год

NEXT

S1 CINT(S1/12) ' среднегодовое количество проданных билетов за месяц

S2 = S2/12 ' среднегодовая стоимость проданных билетов за месяц

PRINT ”Среднегодовое количество проданных билетов за месяц =”;S1

PRINT ”Среднегодовая стоимость проданных билетов за месяц цикл для поиска и вывода номеров месяцев, в которых количество

' проданных билетов превысило среднегодовое количество более чем на 50 0/0

FOR        1 ТО 12

        IF 1.5 ТНТ•.Ј

PRINT ”Номер месяца- ' ,

PRINT ”Сумма стоимости всех проданных за месяц билетов превысила среднегодовую сумму. в ”; 0TN; ” раз“

ENDIF

NEXT


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


.3 癶


Вариант 1 *

Часть 1

При выполнении заданий этой части в бланке ответов № 1 под номером выполняемого вами задания (А 1 —А2О) поставьте знак «х» в клеточку, номер которой соответствует номеру выбранного вами ответа.

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

2) 192 бита З) 256 бит

4) 48 бит

А2. Световое табло состоит из лампочек. Каждая лампочка может находиться в одном из трех состояний («включено», «выключено» или «мигает»). Какое наименьшее количество лампочек должно находиться на табло, чтобы с его помощью можно было передать 18 различных сигналов?

АЗ. Для передачи секретного сообщения используется код, состоящий из десятичных цифр. При этом все цифры кодируются одним и тем же (минимально возможным) количеством бит. Определите информационный объем сообщения длиной в 150 символов. 1) 600 бит

2)      750 бит

3)      1200 бит

4)      60 байт

А4. Сколько единиц в двоичной записи десятичного числа 194,5?

А5. Вычислите сумму чисел х и у, при х — Аб16, У - 758. Результат представьте в двоичной системе счисления. 1) 110110112

2

3)      11100011

4)      100100112

* Вариант 1 является демонстрационным вариантом КИМ ЕГЭ 2008 г. (www.fipi.ru).

Аб. Определите значение переменной т после выполнения фрагмента алгоритма.

Примечание: знаком := обозначена операция присваивания.

4) 16


Определите значение целочисленных переменных а и Ь после выполнения фрагмента программы:

Бейсик

Паскаль

Алгоритмический

Ь = (а \ 10) + 14 а = (Ь МОГ) 10) + 2 и МОГ) — операции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно

Ь := (а div 10) + 14; а   (Ь mod 10) + 2; {div и mod — операции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно}

Ь div(a,10) + 14 а := mod(b, 10) + 2 ldiv и mod — функции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно|

2) а = 11, Ь = 19

3) а = 10, Ь = 18 4) а = 9, Ь = 17

А8. Значения двух массивов Щ 1..100] и В[1 . .100] задаются с помощью следующего фрагмента программы:

Бейсик

Паскаль

Алгоритмический

FOR п ТО 100

А(п) = (п - 80)*(n - 80)

NEXT п

FOR п ТО 100

В(101 - п) = А(п)

NEXT п

for n:=l to 100 do

for n:=l to 100 do

нц для п от 1 до 100

А[п] = (п - - 80) кц нц для п от 1 до 100 В[101 - кц

Какой элемент массива В будет наибольшим?

3) В[80] 4) В[100]

А9. Для какого из указанных значений числа Х истинно высказывание

А 10. Укажите, какое логическое выражение равносильно выражению

А 11. Символом F обозначено одно из указанных ниже логических выражений от трех аргументов Х, У, Z. Дан фрагмент таблицы истинности выражения F:

х

 

 

 

1

1

1

1

1

1

 

1

1

 

1

1

           Какое выражение соответствует F?         

2) X A Y /\ Z

А 12. Грунтовая дорога проходит последовательно через населенные пункты А, В, С и Г). При этом длина дороги между А и В равна 80 км, между В и С 50 км, и между С и D — 10 км.

Между А и С построили новое асфальтовое шоссе длиной 40 км. Оцените минимально возможное время движения велосипедиста из пункта А в пункт В, если его скорость по грунтовой дороге 20 км / час, по шоссе — 40 км / час. 1) 1 час

2) 1,5 часа З) 3,5 часа

4) 4 часа

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

3) 3102

А 14. В формировании цепочки из четырех бусин используются некоторые правила:

В конце цепочки стоит одна из бусин Р, N, Т, О. На первом одна из бусин Р, R, Т, О, которой нет на третьем месте. На третьем месте одна из бусин О, Р, Т, не стоящая в цепочке последней. Какая из перечисленных цепочек могла быть создана с учетом этих правил? 1) PORT

2)     ттто

3)     ттоо

4)     ООРО

А 15. Для групповых операций с файлами используются маски имен файлов.

Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:

Символ «?» (вопросительный знак) означает ровно один произвольный символ.

паю

 


Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе « » может задавать и пустую последовательность.

Определите, какое из указанных имен файлов удовлетворяет маске:

1)     dad1

2)     dad22

З) 3daddy

4 )        444

А 16. Из правил соревнования по тяжелой атлетике:

Тяжелая атлетика это прямое соревнование, когда каждый атлет имеет три попытки в рывке и три попытки в толчке. Самый тяжелый вес поднятой штанги в каждом упражнении суммируется в общем зачете. Если спортсмен потерпел неудачу во всех трех попытках в рывке, он может продолжить соревнование в толчке, но уже не сможет занять какое-либо место по сумме 2-х упражнений.

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

Таблица результатов соревнований по тяжелой атлетике

Фамилия И. О.

Вес спортсмена

Взято в рывке

Рывок с попытки

Взято в толчке

Толчок с попытки

Айвазян Г. С.

77,1

150,0

з

200,0

2

Викторов М. П.

79,1

147 5

1

202,5

1

Гордезиани Б. Ш.

78,2

147,5

2

200,0

1

Михальчук М. С.

78,2

147,5

2

202,5

з

Пай С. В.

79,5

150,0

1

200,0

1

Шапсугов М. Х.

77,1

147 5

1

200,0

1

Кто победил в общем зачете (сумме двух упражнений)?

1)     Айвазян Г. С.

2)     Викторов М. П.

З) Михальчук М. С. 4) Пай С В.

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

1)     256

А 18. Дан фрагмент электронной таблицы:

 

 

      10

20

=А1+В$1

 

зо

40

 

Чему станет равным значение ячейки С2, если в нее скопировать формулу из ячейки (Л?

Знак $ обозначает абсолютную адресацию.

2)     50

3)     60

А 19. Дан фрагмент электронной таблицы:

 

 

 

З

4

 

* *

=С1-В1

=с1/2

=B1+B2

После выполнения вычислений была построена диаграмма по значениям диапазона ячеек A2:D2. Укажите получившуюся диаграмму.

1)

А2О. Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:

вверх

вниз

влево

вправо

При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх Т, вниз Ъ, влево е, вправо —».

Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:

сверху свободно

снизу свободно

слева свободно

справа свободно

Цикл

ПОКА <условие> команда выполняется, пока условие истинно, иначе происходит переход на следующую строку.

Сколько клеток лабиринта соответствуют требованию, что, выполнив предложенную программу, РОБОТ остановится в той же клетке, с которой он начал движение?

НАЧАЛО

ПОКА «права свободно> вправо

ПОКА <сверху свободно> вверх

ПОКА «(слева свободно> влево

ПОКА «(снизу свободно> вниз

КОНЕЦ                                                                         ABCDEF

1) 1

Часть 2


Ответом к заданиям этой части (В 1-В8) является набор символов, которые следует записать в бланк ответов № 1 справа от номера соответствующего задания, начиная с первой клеточки. Каждый символ пишите в отдельной клеточке в соответствии с приведенными образцами.

В1. Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 23 оканчивается на 2.

В2. Сколько различных решений имеет уравнение

где К, L, М, N — логические переменные?

В ответе не нужно перечислять все различные наборы значений К, L, М и N, при которых выполнено данное равенство. В качестве ответа Вам нужно указать количество таких наборов.

ВЗ. У исполнителя Утроитель две команды, КОТОРЫМ присвоены номера:

1.  вычти 2

2.  умножь на три

Первая из них уменьшает число на экране на 2, вторая — утраивает его. Запишите порядок команд в программе получения из 11 числа 13, содержащей не более 5 команд, указывая лишь номера команд. (Например, 21211 это программа:

умножь на три вычти 2 умножь на три вычти 2 вычти 2,

которая преобразует число 2 в 8). (Если таких программ более одной, то запишите любую из них.)

В4. Перед началом Турнира Четырех болельщики высказали следующие предположения по поводу своих кумиров: А) Макс победит, Билл второй; В) Билл — третий, Ник — первый;

С)Макс — последний, а первый — Джон.

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

Какое место на турнире заняли Джон, Ник, Билл, Макс?

(В ответе перечислите подряд без пробелов места участников в указанном порядке имен.)

В5. Скорость передачи данных через  равна 1024000 бит/с. Передача файла через данное соединение заняла 5 секунд. Определите размер файла в килобайтах.

Вб. Цепочки символов (строки) создаются по следующему правилу:

Первая строка состоит из одного символа — цифры «1 » .

Каждая из последующих цепочек создается такими действиями: в начало записывается число номер строки по порядку (для i-ii строки ставится число «i»), далее дважды подряд записывается предыдущая строка. Вот первые 4 строки, созданные по этому правилу:

(2)   211

(3)   3211211

(4)   432112113211211

Сколько раз встречается цифра «1» в первых семи строках (суммарно)?

В7. Доступ к файлу htm.net, находящемуся на сервере com.edu, осуществляется по протоколу ftp. В таблице фрагменты адреса файла закодированы буквами от А до Ж. Запишите последовательность этих букв, кодирующую адрес указанного файла в сети Интернет.

 

 

 

сот

в

.edu

 

 

д

.net

 

htm

 

ftp

В8. В таблице приведены запросы к поисковому серверу. Расположите обозначения запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу. Для обозначения логической операции “ ИЛИ“ в запросе используется символ а для логической операции

1

физкультура

2

физкультура & подтягивания & отжимания

з

физкультура & подтягивания

4

физкультура & фитнес

Не забуДьте перенести все ответы 6 бланк ответов Л? 1.         

Часть 3

для записи ответов к заданиям этой части (С 1 —С4) используйте бланк ответов № 2. Запишите сначала номер задания (С 1 и т. д.), а затем полное решение. Ответы записывайте четко и разборчиво.

С1. Требовалось написать программу, которая решает уравнение  относительно х для любых чисел а и Ь, введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.

Программа на Паскале

Программа на Бейсике

Программа на СИ

var а,Ь,х: real; begin readln(a,b,x); if а = О then if Ь = О then write (' любое число')

else write Снет решений')

else if Ь = О then write('x = О )

write('x ',b/a,' или

а); end.

INPUT а, Ь, х

1F а = О THEN

IF Ь = О ТНТЧ

PRINT “ любое число

ELSE

'

pRINT нет решений

ENDIF

ELSE

IF Ь = О THEN

PRINT - 0”

ELSE

PRINT -“,b/a или х

” ,-b/a

END IF

END IF

END

void main(void) {float а,Ь,х; scanf("% f% :f% f” , &a,&b,&x); if (а==О)

                                чис-

printf (” нет решений");

printf("x = 0”);

:f или

b/a,-b/a);}

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

1)    Приведите пример таких чисел а, Ь, х, при которых программа неверно решает поставленную задачу.

2)    Укажите, какая часть программы является лишней.

З) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это Можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы.)


С2. Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих совпадающих элементов в целочисленном массиве длины 30.

СЗ. Два игрока играют в следующую игру. Перед ними лежат две кучки камней, в первой из которых 1, а во второй —2 камня. У каждого игрока неограниченно много камней. Игроки ходят по очереди. Ход состоит в том, что игрок или увеличивает в З раза число камней в какой-то куче, или добавляет 2 камня в какую-то кучу. Выигрывает игрок, после хода которого общее число камней в двух кучах становится не менее 17 камней. Кто выигрывает при безошибочной игре обоих игроков игрок, делающий первый ход, или игрок, делающий второй ход? Каким должен быть первый ход выигрывающего игрока? Ответ обоснуйте.

С4. На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <оценки>, где <Фамилия> — строка, состоящая не более чем из 20 символов, <Имя> — строка, состоящая не более чем из 15 символов, <оценки> — рез пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки:

Иванов Петр 4 5 З

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на „экран фамилии и имена трех худших по среднему баллу учеников. Если среди остальных есть ученики, набравшие тот же средний балл, что и один из трех худших, то следует вывести и их фамилии и имена.

 

.

                         (・111111111111111111111111111111                                                                    :当ド 囀

          ■ま                           を、′姦′なぐ

    を                       毒Ⅵ ^ミ・ Ⅷ Ⅷ翡冊Ⅲ Ⅲ Ⅲ Ⅱ

ま、

~

        ま                Aを5 9「A E蕓Ë =米ⅥミK nミM Hさ0日物C Tツ孳X凵山山蕁bま3 .い2 3 5 6物箋9 0舂

      ・ま                  AB D正下6まH箋Jまに凵0いQ 5はU Ⅳ Wⅸツz      以毒用℃ 0モEははし: 0まし、

                                                                                           燾”        {

                          ■                                                                                                                     :・:、2を可対

旅                                                                          ま曩、       E CTPO「0 BHYTPh OKOLlJKa. ま、f10AJ1h0bY4acTHhKa 「3 。

三阜H協MA日E

                                                                                                                                   澣3                                                                    澱:

.当の、ま

、朝ロ:ロロロ。:ロ.、ロ:ロ'ロ、ロロ=ローユロロロ,ロ・ロロロロ、ロロ・ロロロ:ロ; =ロ、ロ旅町ロロ-ロ、ロ亡.ロロ-ロ}ロロ・ロ白亡、ロロ・ロ-ロロ仁ロロロ・ロロ;ロ.ロロロ;ロ・ロ.ま

当亠ロ旧=:ロロロロロ:ロ・ロ、ロロロロ、ロ-ロロロ、ロロ=・ロ。ロ、ロ.ロ・ロ=ロ,ロ-ロロロこロ、、をロロ、ロ=ロロ=ロ、ロ、ロ・ロロロロロロロロ、ロ0・ロ、ロロロ、ロ・ロ、ロ、、ロロ:ロロ:ロ旅

ま鵞当第ぎ・

・ ロユ-0亡Ⅵ

A、ロロロ、口一

を当当・

、A ロロ-ロロ

い人・・ロロロロ

ま当要物をを・ ロ 。ロロロ A「匚ロロロ

ま・0■を、

理をみ

-P当ゾ当当ヤ当朝当朝蜜-0酥験オ〒朝30当ヤのす大すのを巾ー0=

                                                                                                           3目新鬯歯日ⅵ自文すO目朝お                  目i* 〒 目;日鷺




                                                           Вариант 2*      

часть 1

При выполнении заданий этой части в бланке ответов № 1 под номером выполняемого вами задания (А1—А18) поставьте знак «х» в клеточку, номер которой соответствует номеру выбранного вами ответа.

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

А2. В велокроссе участвуют 119 спортсменов. Специальное устройство регистрирует прохождение каждым из участников промежуточного финиша, записывая его номер с использованием минимально возможного количества бит, одинакового для каждого спортсмена. Каков информационный объем сообщения, записанного устройством, после того как промежуточный финиш прошли 70 велосипедистов?

          1) 70 бит                  2) 70 байт                 З) 490 бит                 4) 119 байт

АЗ. Дано: а = 1)716, Ь = 331 . Какое из чисел с, записанных в двоичной системе, отвечает условию а < с < Ь?

         1) 11011001            2) 11011100            3) 11010111            4) 11011000

А4. Чему равна сумма чисел 43 и 56 16 ?•

                    8                              8                    3) 6916                      4) 10000012

А5. Определите значение переменной с после выполнения следующего фрагмента программы.

Бейсик

Паскаль

Алгоритмический

ь :

1) с = -11

Аб. дан фрагмент программы, обрабатывающей двухмерный массив А размера пхп.

Бейсик

Паскаль

Алгоритмический

К - 1

FOR i = 1 ТО п с = АО, i)

АО, i) = А(к, i)

А(К, i) = с

NEXT i

or i     to п do begin

end

нц для i от 1 до п

кц

*      Вариант 2 является демонстрационным вариантом КИМ ЕГЭ 2009 г. (www.fipi.ru).

*      Представим массив в виде квадратной таблицы, в которой для элемента массива величина i является номером строки, а величина .ј номером столбца, в котором расположен элемент. Тогда данный алгоритм меняет местами

1)     два столбца в таблице

2)     две строки в таблице

З) элементы диагонали и К-ой строки таблицы

4) элементы диагонали и К-го столбца таблицы

М. Для какого из указанных значений Х истинно высказывание

А8. Укажите, какое логическое выражение равносильно выражению

Ал -(-В С)

А9. Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: Х, У, Z.

Дан фрагмент таблицы истинности выражения F:

х

У

z

 

1

О

о

1

о

О

О

1

1

1

1

 

Какое выражение соответствует F?

1) -Хл -У n -z 2) X A YA Z

МО. Между четырьмя местными аэропортами: ОКТЯБРЬ, БЕРЕГ, КРАСНЫЙ и СОСНОВО, ежедневно выполняются авиарейсы. Приведен фрагмент расписания перелетов между ними:

Аэропорт

вылета

Аэропорт прилета

Время вылета

Время прилета

сосново

КРАСНЫЙ

06:20

08:35

КРАСНЫЙ

ОКТЯБРЬ

10:25

12:35

ОКТЯБРЬ

КРАСНЫЙ

11 :

13:30

БЕРЕГ

сосново

12:15

14:25

сосново

ОКТЯБРЬ

12:45

16:35

КРАСНЫЙ

сосново

13:15

15 : 4 О

ОКТЯБРЬ

сосново

13 : 4

17:25

ОКТЯБРЬ

БЕРЕГ

15:30

 

сосново

БЕРЕГ

17:35

19:30

БЕРЕГ

ОКТЯБРЬ

19:40

21:55

Путешественник оказался в аэропорту ОКТЯБРЬ в полночь (0:00). Определи-

те самое раннее время, когда он может попасть в аэропорт СОСНОВО.

1)     15:40         2) 16:35          3) 17:15           4) 17:25

256

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

2)     411 3) ВАС!)         4) 1023

А 12. Цепочка из трех бусин, помеченных латинскими буквами, формируется по следующему правилу. В конце цепочки стоит одна из бусин А, В, С. На первом месте одна из бусин В, Г), С, которой нет на третьем месте. В середине одна из бусин А, С, Е, В, не стоящая на первом месте. Какая из пере-

численных цепочек создана по этому правилу?

           1) свв                      2) ВАС                     3) BCD                       4) всв

А 13. Для групповых операций с файлами используются маски имен файлов.

Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:

Символ «?» (вопросительный знак) означает ровно один произвольный сим- вол.

Символ «*» (звездочка) означает любую последовательность символов про- извольной длины, в том числе «*» может задавать и пустую последователь-

ность.

Определите, какое из указанных имен файлов удовлетворяет маске:

          1) hello.c                  2) hello.cpp               З) hhelolo.cpp           4) hhelolo.c

А 14. Результаты тестирования представлены в таблице:

Фамилия

пол

Математика

Русский язык

Хи- мия

Информатика

Биология

Аганян

 

82

56

46

32

70

Воронин

м

43

62

45

74

23

Григорчук

м

54

74

68

75

83

Роднина

 

71

63

56

82

79

Сергеенко

 

33

25

74

38

46

Черепанова

 

18

92

83

28

61

Сколько записей в ней удовлетворяют условию «Пол='ж' ИЛИ Химия>Биология»?

А 15. Для кодирования цвета фона страницы Интернет используется атрибут bgcolor=” #ХХХХХХ' , где в кавычках задаются шестнадцатеричные значения интенсивности цветовых компонент в 24-битной  Какой цвет будет у страницы, заданной тэгом <body bgcolor=” #FFFFFF“>? 1) белый 2) зеленый З) красный 4) синий

, паба!  В электронной таблице значение формулы =СУММ(В1 :В2) равно 5. Чему равно значение ячейки ВЗ, если значение формулы =СРЗНАЧ(В1:ВЗ) равно З?

А17. На диаграмме показано количество призеров олимпиады по информатике (И), математике (М), физике (Ф) в трех городах России.

                                                                   Екатиренбург        Томск            Новосибирск

Какая из диаграмм правильно отражает соотношение общего числа призеров по каждому предмету для всех городов вместе?

А 18. Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабйринте на клетчатой плоскости:

вверх

вниз

влево

вправо

При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх Т, вниз Ф, влево е, вправо —». Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:

сверху свободно

снизу свободно

слева свободно

справа свободно

Цикл

ПОКА условие > команда выполняется, пока условие истинно, иначе происходит переход на следующую строку.

Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ остановится в той же клетке, с которой он начал движение?

НАЧАЛО

ПОКА <снизу свободно> вниз

ПОКА «(слева свободно> влево

ПОКА <сверху свободно> вверх

ПОКА оправа свободно вправо

                                               КОНЕЦ                                                                                     ABCDEF

Ответом к заданиям этой части (В1—В1О) является набор символов, которые следует записать в бланк ответов № 1 справа от номера соответсТВУЮЩеГО задания, начиная с первой клеточки. Каждый символ пишите в отдельной клеточке в соответствии с приведенными образцами.

часть 2

В1. Световое табло состоит из лампочек. Каждая лампочка может находиться в одном из трех состояний («включено», «выключено» или «мигает»). Какое наименьшее количество лампочек должно находиться на табло, чтобы с его помощью можно было передать 18 различных сигналов?

В2. Запишите значение переменной Ь после выполнения фрагмента алгоритма:

Примечание: знаком := обозначена операция присваивания, знаком * обозна чена операция умножения.

ВЗ. Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 25, запись которых в системе счисления с основанием четыре оканчивается на 11.

В4. Каково наибольшее целое число Х, при котором истинно высказывание (50<Х.Х)  • (Х+1))?

В5. У исполнителя Калькулятор две команды, которым присвоены номера:

1.     прибавь З

2.     умножь на 4

Выполняя первую из них, Калькулятор прибавляет к числу на экране З, а выполняя вторую, умножает его на 4. Запишите порядок команд в программе получения из числа З числа 57, содержащей не более 6 команд, указывая лишь номера команд.

(Например, программа 21211 это программа,

умножь на 4 прибавь З умножь на 4 прибавь З прибавь З которая преобразует число 2 в 50.)

            .64    

 3.13

 3.133

             20     

 

 

в

 

1

принтеры 8' сканеры & продажа

2

принтеры & продажа

З

принтеры продажа

4

принтеры сканеры продажа

Вб. Классный руководитель пожаловался директору, что у него в классе появилась компания из 3-х учеников, один из которых всегда говорит правду, другой всегда лжет, а третий говорит через раз то ложь, то правду. Директор знает, что их зовут Коля, Саша и Миша, но не знает, кто из них правдив, а кто нет. Однажды все трое прогуляли урок астрономии. Директор знает, что никогда раньше никто из них не прогуливал астрономию. Он вызвал всех троих в кабинет и поговорил с мальчиками. Коля сказал: «Я всегда прогуливаю астрономию. Не верьте тому, что скажет Саша». Саша сказал: «Это был мой первый прогул этого предмета». Миша сказал: «Все, что говорит Коля, правда». Директор понял, кто из них кто. Расположите первые буквы имен мальчиков в порядке: «говорит всегда правду», «всегда лжет», «говорит правду через раз». (Пример: если бы имена мальчиков были Рома, Толя и Вася, ответ мог бы быть: РТВ.)

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

В8. Строки (цепочки символов латинских букв) создаются по следующему правилу . Первая строка состоит из одного символа — латинской буквы «А». Каждая из последующих цепочек создается такими действиями: в очередную строку сначала записывается буква, чей порядковый номер в алфавите СООТВеТСТВУет номеру строки (на i-M шаге пишется «ћ>-я буква алфавита), к ней справа дважды подряд приписывается предыдущая строка. Вот первые 4 строки, созданные по этому правилу:

(2)   ВАА

(3)   СВААВАА

(4)   Г)СВААВААСВААВАА

Латинский алфавит (Для справки): ABCDEFGHIJI<LMNOPQRSTUVWXYZ Запишите семь символов подряд, стоящие в восьмой строке со 126-го по 132-е место (считая слева направо).

В9. Петя записал 1Р-адрес школьного сервера на листке бумаги и положил его в карман куртки. Петина мама случайно постирала куртку вместе с запиской. После стирки Петя обнаружил в кармане четыре обрывка с фрагментами IPадреса. Эти фрагменты обозначены буквами А, Б, В и Г. Восстановите 1Р-адрес. В ответе укажите последовательность букв, обозначающих фрагменты, в порядке, соответствующем 1Р-адресу.

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

Для обозначения логической операции «ИЛИ» в запросе используется символ а для логической операции «И» — &.

Не забудьте перенести все ответы в бланк ответов 1.

260

для записи ответов к заданиям этой части (С 1 —С4) используйте бланк ответов № 2. Запишите сначала номер задания (С 1 и т. д.), а затем — полное решение. Ответы записывайте четко и разборчиво.

                                                                                    Часть 3                                                                                          

 

 

 

у= sin х

Программа на Паскале

var х,у: real; begin readln(x,y); if у <= then if х >= О then if у sin(x) then write( ' принадлежит

write('He принадлежит“); end.

Программа на Бейсике

INPUT х, у

IF У            ТНЕћТ

IF х О ТНТЧ

IF У SIN(x) ТНтч

PRINT ” принадлежит

ELSE

                 PRINT       принадлежит

ENDIF

ENDIF

ENDIF

END

Программа на СИ

void main(void) { float х,у; scanf( “ % f% f' ,&х,&у);

if(x >= О)

else printf(“He принадлежит“);

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


Последовательно выполните следующее:

1)     Приведите пример таких чисел х, у, при которых программа неверно решает поставленную задачу.

2)     Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы.)

С2. Опишите на русском языке или одном из языков программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива (не используя специальной функции, вычисляющей модуль числа).

СЗ. Два игрока играют в следующую игру. На координатной плоскости стоит фишка. Игроки ходят по очереди. В начале игры фишка находится в точке с координатами (5,2). Ход состоит в том, что игрок перемещает фишку из точки с координатами (х, у) в одну из трех точек: или в точку с координатами (х+З,у), или в точку с координатами (х,у+З), или в точку с координатами (х,у+4). Выигрывает игрок, после хода которого расстояние по прямой от фишки до точки с координатами (0,0) не меньше 13 единиц. Кто выигрывает при безошибочной игре обоих игроков — игрок, делающий первый ход, или игрок, делающий второй ход? Каким должен быть первый ход выигрывающего игрока? Ответ обоснуйте.

С4. На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: «(Фамилия> <Инициалы> <номер школы>, где <Фамилия> — строка, состоящая не более чем из 20 символов, <Инициалы> — строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> не более чем двузначный номер. <Фамилия> и «(Инициалы>, а также <Инициалы> и «(номер школы> разделены одним пробелом. Пример входной строки: Иванов П.С. 57

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника. Следует учитывать, что

 

氵“

                                                                                                                         … . ∕' ∕                                                                                                                                                                                                                                                                                                          Ⅱ Ⅷ牝

冫; ; B : ; ; 3 ; H ; 0 ; p c ; ! y ; ×山$ bJ3 3m4m5 6 8 ;;, 、岶; D

                                                                                                                                                                               (IOA11hCbYHacTHhKaE「3 CTPOFO昍OKOlJKa.                                                丶:

MA

; e氺区TO

 

A

A

蠿; 囗 囗囗·囗囗囗.囗

*A

*A

A

囗 囗 ,囗囗囗囗囗一囗

A

A

A'

' Ⅱ卜4 ; 口;囗'囗囗、囗 - 囗:囗囗

- 囗 .巳囗;囗

...'pa—a.m.:


ОТВЕТЫ

Вариант 1

Часть 1

Л) задания

Ответ

Л) задания

Ответ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А1О

 

А2О

 

Часть 2

 

Ответ

 

 

 

 

 

11121

 

3124

 

625

 

 

 

ЖГБВАЕД

 

2314

часть 3

(Л. Требовалось написать программу, которая решает уравнение «alxl=b» относительно х для любых чисел а и Ь, введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.

Программа на Паскале

Программа на Бейсике

Программа на СИ

var а,Ь,х: real; begin readln(a,b,x); if а = О then if Ь = О then write (' любое число')

write Снет решений')

if Ь = О then write('x

write('x ,b/a,• или                         

а); end.

INPUT а, Ь, х

IF а = О THEN

IF Ь = О ТНТЧ

PRINT ” любое

число

ELSE

PRINT ”нет решений

ENDIF

ELSE

IF Ь = О ТНТЧ

PRINT ELSE

PRINT -“ ,b/a, или х

“ ,-b/a

END IF

END IF

END

void main(void) {float а,Ь,х; scanf( ” % :f% :f% f“ ,

&a,&b,&x);

 чис-

printf (”нет решений“);

else if printf("x = 0”); printf(“x=%f или

b/a,-b/a);}

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

1)     Приведите пример таких чисел а, Ь, х, при которых программа неверно решает поставленную задачу.

2)     Укажите, какая часть программы является лишней.

З) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы.)

Ответ:

 

Содержание верного ответа и указания к оцениванию (допускаются иные формулировки ответа, не искажающие его смысла)

 

Элементы ответа:

 — —1, х = О (Значение х может быть не указано. Значения а и Ь

могут быть любыми ненулевыми числами с разными знаками. Также допустим ответ, что программа работает неправильно при любых ненулевых а и Ь, имеющих разные знаки.)

 

2) Лишняя часть:

не нужно вводить х с клавиатуры верно: readln(a,b);

З) Возможная доработка:

readln(a,b); if а = О then if Ь = О then  число“) else write('HeT решений“)

if Ь/а>О then

                            ,b/a,' или       ,-b/a)

if     then         else write('HeT решений“);

(могут быть и другие способы доработки).

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

 

Указания к оцениванию

Баллы

 

Правильно выполнены все З пункта задания, при этом в работе (во фрагментах программ) допускается не более одной синтаксической ошибки.

З

 

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

2

 

Правильно выполнен только один пункт задания, при этом, если это был п. З), то в нем допускается не более трех синтаксических ошибок (пропущен или неверно указан знак пунктуации, неверно написано зарезервированное слово языка программирования).

1

 

Все пункты задания выполнены неверно.

 

 

Максимальный балл

З

 

С2. Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих совпадающих элементов в целочисленном массиве длины 30.

Ответ:

 

Содержание верного ответа и указания к оцениванию

(допускаются иные формулировки ответа, не искажающие его смысла)

Пример правильного описания алгоритма на русском языке. Заводим переменную MaxCoin для хранения максимального количества подряд идущих совпадающих элементов и счетчик NumCoin для хранения числа элементов в последней группе совпадающих элементов. Просматривая элементы массива, сравниваем очередной элемент со следующим за ним. Если значения совпадают, увеличиваем счетчик NumCoin на единицу. Если очередной элемент массива оказывается не равным предыдущему, то сравниваем текущее значение счетчика со значением переменной MaxCoin; если он больше, то заменяем значение переменной MaxCoin значением счетчика. После сравнения записываем в счетчик NumCoin единицу. Так повторяем до конца массива. В конце работы нужно еще раз сравнить значение счетчика со значением переменной MaxCoin и переопределить ее, если счетчик больше. При оценке других вариантов алгоритма решения необходимо проверить, что поставленная цель достигается. Пример правильной и эффективной программы (на основе алгоритма, использующего однократный проход по массиву):

На языке Паскаль

На языке Бейсик

 

const N = 30; var а: array[1..N] of integer;

MaxCoin, NumCoin, i: integer; begin

MaxCoin: — 1; NumCoin: = 1; for i:= 2 to N do begin if a[i]=a[i-l] then

                  NumCoin  NumCoin+1;

begin if NumCoin > MaxCoin then

MaxCoin:=NumCoin;

NumCoin:=l; end; end; if NumCoin> MaxCoin then

MaxCoin:= NumCoin; writeln(MaxCoin); end.

N=30 тМ i, MaxCoin, NumCoin, a(N) AS INTEGER

MaxCoin = 1

NumCoin = 1

FOR i = 2 ТО

IF a(i) = a(i-l) ТНТЧ

NumCoin=NumCoin+1

ELSE

IF NumCoin>MaxCoin тнтч MaxCoin = NumCoin

END IF

NumCoin = 1

END IF

NEXT i

IF NumCoin>MaxCoin ТНТЧ

MaxCoin = NumCoin

END IF

PRINT MaxCoin

END

 

Указания к оцениванию

Баллы

 

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

2

 

Имеется не более двух ошибок из числа следующих:

1)  Не задано начальное значение MaxCoin и/или NumCoin

2)  Не указано или неверно указано условие завершения цикла

З) Программа не выводит результат

4)   Индексная переменная в цикле не увеличивается

5)   В программе на Паскале неверно расставлены операторные скобки.

1

 

Ошибок, перечисленных выше, больше двух, или алгоритм сформулирован неверно (в частности, переменная NumCoin не приравнивается единице в случае прекращения последовательности одинаковых элементов или нет проверки после завершения цикла в варианте решения, аналогичном предложенному)

 

 

Максимальный балл

2

 

СЗ; Два игрока играют в следующую игру. Перед ними лежат две кучки камней, в первой из которых 1, а во второй 2 камня. У каждого игрока неограниченно много камней. Игроки ходят по очереди. Ход состоит в том, что игрок или увеличивает в З раза число камней в какой-то куче, или добавляет 2 камня в какую-то кучу. Выигрывает игрок, после хода которого общее число камней в двух кучах становится не менее 17 камней. Кто выигрывает при безошибочной игре обоих игроков — игрок, делающий первый ход, или игрок, делающий второй ход? Каким должен быть первый ход выигрывающего игрока? Ответ обоснуйте.

Ответ:

Содержание верного ответа и указания к оцениванию (допускаются иные формулировки ответа, не искажающие его смысла)

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

 

1 ход

2 ход

З ход

4 ход

 

Стартовая позиция

игрок (все варианты хода)

П-й игрок (выигрышный ход)

1-й игрок (все варианты хода)

П-й игрок (один из вариантов)

Пояснение

1,2

3,2

 

 

18 , 4

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

 

15 4

 

 

 

 

 

 

Те же варианты третьего-четвертого ходов

1,6

1,18

Второй игрок выигрывает ответным ходом

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

Указания к оцениванию

Баллы

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

з

Правильное указание выигрывающего игрока, стратегии игры, приводящей к победе, но при отсутствии доказательства ее пра-

ВИЛЬНОСТИ.

2

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

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

1

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

 

Максимальный балл

з

(М. На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <оценки>, где <Фамилия> строка, состоящая не более чем из 20 символов, <Имя> строка, состоящая не более чем из 15 символов, <оценки> через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки: Иванов Петр 4 5 З.

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7,0), которая будет выводить на экран фамилии и имена трех худших по среднему баллу учеников. Если среди остальных есть ученики, набравшие тот же средний балл, что и один из трех худших, то следует вывести и их фамилии и имена.

Ответ:

Содержание верного ответа и указания к оцениванию

(допускаются иные формулировки ответа, не искажающие его смысла)

 

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

 

 

Пример правильной и эффективной программы на языке Паскаль: var р: array[1..100] of record пате: string; sum: integer; end; с: char; i, ј, N, s1, s2, s3, т: integer;

Begin readln (N); for i:=l to N do begin

repeat read (с); р [i] . пате:=р [i] . пате+с until ' '; {считана фамилия} repeat read (с); р [i] . пате:=р [il . пате+с until ' '; {считано имя} Р [i] .sum:=O;


for j:=l to 3 do begin read (m); p [i] .sum:=p [i] .sum+m end; {110AcqH'1'aHa CYMMa 6aJIJIOB} readln; end; sl := 20; s'2 20; s3  20 for i:=l to N do begin if p[i].sum < sl then begin s3 := s2; s2:=sl; si := p [i] .sum end

if p [i] .sum<s2 then begin s3:=s2; s2:=p [i] .sum end else if p [i] .sum<s3 then s3:=p [i] . sum;

end; for i:=l to N do if p [i] .sum<=s3 then writeln(p [i] . name); end.

IIpHMep npaBHJ1bHoï1 nporpaMMb1 Ha fl3b1Ke Beücurc:

DIM i, j, n, sl s2, s3, sum(100) AS INTEGER

DIM s AS STRING

DIM nm (100) AS STRING

INPUT n

FOR j = 1 TO n LINE INPUT s c$ = MID$ (s, 1, 1)

WHILE NOT (c$ -

c$ = MID$ (s, i, 1)

WEND

c$ = MID$ (s, i, 1)

WHILE NOT (c$ -

c$ - MID$ (s, i, 1) WEND nm (j) — MID$ (s, 1, i) sum (j) — ASC (MID$ (s, i + 1, 1)) - ASC sum (j) —- sum (j) + (ASC (MID$ (s, i+3, 1)) - ASC sum (j) — sum (j) + (ASC (MID$ (s, i + 5, 1)) - ASC

NEXT j

OTBeTbl

 

s1 20: s2 = 20: s3 20 FOR = 1 ТО п

IF sum 0) < si THEN s3 = s2: s2 = s1 s1 = sum О)

ELSE

IF sum 0) < s2 THEN s3 = s2: s2 = sum (ј)

ELSE

IF sum Ј) < s3 THEN s3 = sum (ј)

END IF

END IF

ТЧЕХТ .Ј

FOR = 1 ТО п

IF sum (ј)   s3 THEN PRINT пт (Ј) NEXT Ј           END.

 

Указания к оцениванию

Баллы

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

4

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

з

 

Программа работает в целом верно, но выводит только трех худших учеников, даже если кто-то еще сдал экзамены так же. Возможно, в реализации алгоритма содержатся 1—2 ошибки (используется знак «<» вместо «>», «or» вместо «and» и т. п.). Возможно, некорректно организовано считывание входных данных. Допускается наличие до пяти синтаксических ошибок: пропущен или неверно указан знак пунктуации, неверно написано или пропущено зарезервированное слово языка программирования, не описана или неверно описана переменная, применяется операция, недопустимая для соответствующего типа данных.

2

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

1

 

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

 

Задание выполнено неверно

 

Максимальный балл

4


Вариант 2

часть 1

.N2 задания

Ответ

N2 задания

Ответ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Часть 2

 

Ответ

 

 

 

 

 

 

 

 

 

22111

 

скм

 

 

 

BAAGFED

 

ГБВА

то

12 з 4

Часть 3

С1. Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (х, у — действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно.

Программа на Паскале

Программа на Бейсике

Программа на СИ

var х, у: real; begin readln(x,y); if y<=l then if х>=О then if y>=sin(x) then

else write('He принадлежит“) end.

INPUT х, У

IF

ТНТЧ

PRINT ' при-

надлежит

ELSE

PRINT ' не

принадлежит

ENDIF

ENDIF

ENDIF

END

void main(void) { float х,у; scanf(” % f% f' ,&х,&у); if(y<=1) if(x>=O) if (y>=sin(x))

printf( “ принадлежит ” ) ;

else printf(“He принадлежит ”

Последовательно выполните следующее:

З) Приведите пример таких чисел х, у, при которых программа неверно решает поставленную задачу.

4) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы.)

Ответ:

Содержание верного ответа и указания по оцениванию

(допускаются иные формулировки ответа, не искажающие его смысла)

 

Элементы ответа:

1) Пример: х = З, у = 0,5 (Любая пара (х,у), для которой выполняется: у>1 или «О или (y>=sin х и х>п/2 и у<=1)) 2) Возможная доработка (Паскаль):

if (у<=1) and (х>=О) and (y>=sin(x)) and («=3,14/2) then write( ' принадлежит ')

write('He принадлежит')

(могут быть и другие способы доработки).

 

Указания по оцениванию

Баллы

 

Обратите внимание! В задаче требовалось выполнить три дейст-

вия: указать пример входных данных, при которых программа работает неверно, и исправить две ошибки:

1.                 Неправильное использование условного оператора, в результате чего при невыполнении первого или второго условия программа не выдавала ничего (отсутствуют случаи ELSE).

2.                 Приведенным трем ограничениям удовлетворяют также те точки плоскости, у которых (y>=sin х и х>=п/2 и у<=1).

 

 

 

Правильно выполнены оба пункта задания. Исправлены обе ошибки. Допускается замена числа п на 3,14 или другую константу. В работе (во фрагментах программ) допускается не более одной синтаксической ошибки

з

 

Правильно выполнены 2 пункта задания из трех (исправлены обе ошибки, но не указан/ неправильно указан пример требуемых входных данных, либо правильно указан пример входных данных, программа правильно работает при большем числе случаев, чем исходная, но не при всех). Например, выдает ” принадлежит для точек, у которых (y>=sin х и х>л/2 и у<=1).

Допускается, например, такое решение:

if у<=1 then if х>=О then if y>=sin(x) then write( ' принадлежит ' )

write('He принадлежит“) else write('He принадлежит“)

write('He принадлежит“)

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

2

 

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

1

 

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

 

 

Максимальный балл

з

С2. Опишите на русском языке или одном из языков программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива (не используя специальной функции, вычисляющей модуль числа). Ответ:

Содержание верного ответа и указания по оцениванию

(допускаются иные формулировки ответа, не искажающие его смысла)

Заводим новый целочисленный массив той же длины. В цикле от первого элемента до последнего сравниваем элементы исходного массива с нулем и отрицательным элементам меняем знак. Записываем значения в элементы второго массива с тем же номером. Печатать значения массива не обязательно.

276


Пример правильной и эффективной программы (на основе алгоритма, использующего однократный проход по массиву):

На языке Паскаль

На языке Бейсик

const N=30; var а, b:array[1..N] of integer; i: integer; begin for i:=l to N do read(a[i]); for i:=l to N do

then b[i]:=-a[i] else             a[i]; end.

N=30

ТМ 1, A(N), B(N) AS INTEGER

FOR        to N

INPUT A(I)

NEXT

FOR = 1 ТО N

IF A(I) < О ТНтч

ELSE

ENDIF

NEXT END

Указания по оцениванию

Баллы

Предложен правильный алгоритм, выдающий верное значение.

Возможно использование числа 30 вместо константы. Возможно использование операции ”больше” (Так как -0=0) Возможно использование двух индексных переменных. Возможно наличие отдельных синтаксических ошибок (пропущенные «;» , неверная запись оператора присваивания и т. п.), не искажающих замысла автора программы.

Алгоритм может не содержать ввода-вывода данных. Алгоритм может не содержать объявления массивов.

2

Имеется не более одной ошибки из числа следующих:

1)                Не инициализируется или неверно инициализируется индексная переменная в цикле

2)                Не указано или неверно указано условие завершения цикла

З) Индексная переменная в цикле не меняется

4) Неверно расставлены операторные скобки

1

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

 

Максимальный балл

2

СЗ. Два игрока играют в следующую игру. На координатной плоскости стоит фишка. Игроки ходят по очереди. В начале игры фишка находится в точке с координатами (5,2). Ход состоит в том, что игрок перемещает фишку из точки с координатами (х, у) в одну из трех точек: или в точку с координатами (х+З,у), или в точку с координатами (х,у+З), или в точку с координатами (х,у+4). Выигрывает игрок, после хода которого расстояние по прямой от фишки до точки с координатами (0,0) не меньше 13 единиц. Кто выигрывает при безошибочной игре обоих игроков — игрок, делающий первый ход, или игрок, делающий второй ход? Каким должен быть первый ход выигрывающего игрока? обоснуйте.

Ответ:

Содержание верного ответа и указания к оцениванию

(допускаются иные формулировки ответа, не искажающие его смысла)

Выигрывает второй игрок.

Для доказательства рассмотрим неполное дерево игры, оформленное в виде таблицы, где в каждой ячейке записаны координаты фишки на каждом этапе игры.

 

 

 

2 ход

З ход

4 ход

Стартовая позиция

1-й игрок (все варианты хода)

П-й игрок

(выигрышный ход)

1-й игрок (все варианты хода)

11-й игрок

(выигрышный

ход, один из вариантов)

5,2

5,6

8,6

11,6

14,6

8,9

11,9

8,10

11,10

5,5

8,5

11,5

14,5

8,8

11,8

8,9

11,9

8,2

8,5 или 8,6 (экзаменуемому достаточно привести один из вариантов)

Те же варианты третьегочетвертого ходов.

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

Указания по оцениванию

Баллы

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

з

Правильное указание выигрывающего игрока, стратегии игры, приводящей к победе, но при отсутствии доказательства ее пра-

ВИЛЬНОСТИ.

2

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

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

1

Задание не выполнено или в представленном решении полностью отсутствует описание элементов выигрышной стратегии, и отсутствует анализ вариантов первого-второго ходов играющих (даже при наличии правильного указания выигрывающего игрока).

 

Максимальный балл

 

278

С4. На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: <Фамилия> <Инициалы> <номер школы>, где <Фамилия> — строка, состоящая не более чем из 20 символов, <Инициалы> строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> — не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и «(номер школы> разделены одним пробелом. Пример входной строки: Иванов П.С. 57

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника. Следует учитывать, что N>=1000.

Ответ:

Содержание верного ответа и указания по оцениванию

(допускаются иные формулировки ответа, не искажающие его смысла)

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

Указания по оцениванию

Баллы

Программа работает верно; т. е. корректно выделяет из входных данных номера школ, не содержит вложенных циклов, в тексте программы не анализируется каждая школа в отдельности, все считанные номера не запоминаются в массиве. Допускается наличие в тексте программы одной синтаксической ошибки. Пример правильной и эффективной программы: var nc:array[1..99] of integer;

с: char; i, К, N, min: integer; begin readln(N); for i:=O to 99 do for i:=l to N do begin repeat read(c) until  ' ; {считана фамилия} repeat read(c) until '; {считаны инициалы} readln(p);

end; min:=N;

4


 

=l to 99 do if            then begin if nc[i]<min then min:=nc[i]; end; for i:=l to 99 do if nc[i]=min then writeln(i); readln end.

 

Программа работает верно, но содержит вложенные циклы (от 1 до N и от 1 до 99) или обрабатывает каждую школу явным образом (99 операторов IF или оператор CASE, содержащий 99 вариантов номеров, в бланке ответа допускаются многоточия), или номера всех школ сохраняются в массиве с последующим поиском наименее часто встречающегося в массиве элемента. Допускается наличие от одной до трех различных синтаксических ошибок: пропущен или неверно указан знак пунктуации, неверно написано зарезервированное слово языка программирования, не описана или неверно описана переменная, применяется операция, недопустимая для соответствующего типа данных.

З

Программа работает в целом верно, но, возможно, некорректно обрабатывает номера школ, ученики которых во входных данных отсутствуют. Возможно, в реализации алгоритма содержатся 1—2 ошибки (используется знак «<» вместо «>», «or» вместо «and», выражение на 1 отличается от верного и т. п.). Допускается наличие от одной до пяти различных синтаксических ошибок.

2

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

1

Задание не выполнено или выполнено неверно.

 

Максимальный балл

4

Справочное издание

Для старшего шкОльнОГО возраста

ЕГЭ. УНИВЕРСАЛЬНЫЙ СПРАВОЧНИК

Трофимова Ирина Алексеевна Яровая Ольга Владимировна

ЕГЭ

иноормдтип

Универсальный справочник


Директор редакции И. Федосова

Ответственный редактор А. Жилинская

Ведущий редактор Т. Судакова Редактор О. Каширина

Художественный редактор Е. Брынчик

ООО «Издательство «Эксмо»

127299, Москва, ул. Клары Цеткин, д. 18/5. Тел. 41 1-68-86, 956-39-21. Ноте page: www.eksmo.ru E-mail: into@eksmo.ru

Подписано в печать 15.02.2010.

Формат 84х108 1 /16. Печать офсетная. Бумага тип. Усл. печ. л. 30,24.

Тираж 5 000 экз. Заказ 5113

Отпечатано с электронных носителей издательства.

ОАО ”Тверской полиграфический комбинат“. 170024, г. Тверь, пр-т Ленина, 5.

Телефон: (4822) 44-52-03, 44-50-34, Телефон/факс: (4822)44-42-15

Ноте page - www.tverpk.ru Электронная почта (E-mai|) - sales@tverpk.ru

tSBN 978-5-699-37856-2