Атомная энергетика. Ядерные реакторы АЭС. Атомный флот. Ядерное оружие |
|||
| РБМК-1000 | |||
| Гражданский суда | |||
| Авиация | |||
Высшая математика |
|||
| Задачи | |||
| Практикум | |||
| Карта сайта | |||
Звуковая карта явилась одним из наиболее поздних усовершенствований персонального компьютера. Она подключается к одному из слотов материнской платы в виде дочерней карты (см. рис. 2.10) и выполняет вычислительные операции, связанные с обработкой звука, речи, музыки. Звук воспроизводится через внешние звуковые колонки, подключаемые к выходу звуковой карты. Специальный разъем позволяет отправить звуковой сигнал на внешний усилитель. Имеется также разъем для подключения микрофона, что позволяет записывать речь или музыку и сохранять их на жестком диске для последующей обработки и использования.

Рис. 2.10. Звуковая карта YMF 724 фирмы Yamaha
Основным параметром звуковой карты является разрядность, определяющая количество битов, используемых при преобразовании сигналов из аналоговой в цифровую форму и наоборот. Чем выше разрядность, тем меньше погрешность, связанная с оцифровкой, тем выше качество звучания. Минимальным требованием сегодняшнего дня являются 16 разрядов, а наибольшее распространение имеют 32-разрядные и 64-разрядные устройства.
В области воспроизведения звука наиболее сложно обстоит дело со стандартизацией. Отсутствие единых централизованных стандартов привело к тому, что ряд фирм, занимающихся выпуском звукового оборудования, де-факто ввели в широкое использование свои внутрифирменные стандарты. Так, например, во многих случаях стандартными считают устройства, совместимые с устройством SoundBlaster, торговая марка на которое принадлежит компании Creative Labs.
В качестве внешних устройств, подключаемых к звуковой плате, используются колонки, наушники и микрофон. Колонки можно условно разделить на два вида: пассивные и активные. Пассивные подключаются так же как и наушники к выходу звуковой платы, не имеют встроенного усилителя, а следовательно звук можно регулировать только программно. Активные же колонки имеют встроенный усилитель и регуляторы уровня и тембра звука на передней панели (см. рис. 2.11).

Рис. 2. 11. Активные звуковые колонки SP-303 фирмы Genius мощностью 36Вт
restore - чтение данных сначала.
В задачах обработки данных переработке подвергаются не только числовые данные, но и символьная информация. Для этих целей в программах используются символьные данные, переменные и массивы.
Символьные данные - это последовательности символов. В текстах программ на Бейсике символьные данные заключаются в двойные кавычки. Примеры: «мама», «корень=», «2 + 1» и т.д. Во входных данных символьные данные записываются в соответствии с входными спецификациями.
Символьные переменные - это переменные, значениями которых являются символьные данные. В программах на Бейсике символьными явлются те переменные, к имени которых справа приписан знак $. Примеры символьных переменных: s$, p$, sl$, pr$.
Числовые данные и переменные в языке Бейсик могут быть трех основных типов - целочисленные, вещественные и вещественные двойной точности. В программах для этих типов переменных используются следующие обозначения:
n%, m%, nl%, m3% - целочисленные
х, у, xl, y5 - вещественные
а#, b#, al#, b8# - вещественные двойной точности
В качестве примера решения задач обработки данных рассмотрим алгоритм и программу вывода списка дней рождения членов семьи по данным, представленным в следующей таблице:
Дни рождения:
|
Мама |
26 |
6 |
1949 |
|
Папа |
22 |
5 |
1946 |
|
Сережа |
25 |
10 |
1973 |
|
Оля |
1 |
12 |
1974 |
Для представления данных из этой таблицы в программе воспользуемся следующей последовательностью операторов data:
Дни рождения:
|
Мама |
26 |
6 |
1949 |
|
Папа |
22 |
5 |
1946 |
|
Сережа |
25 |
10 |
1973 |
|
Оля |
1 |
12 |
1974 |
dni: ' дни рождения
data «мама», 26, 6, 1949
data «папа», 22,5, 1946
data «Сережа», 25, 10, 1973
data «Оля», 1, 12, 1974
data «», 0, 0, 0
Обратите внимание!
1. Каждый оператор data здесь отвечает одной строке таблицы.
2. Последний оператор data содержит пустую «запись» - пустое имя «» и три нуля, означающие конец данных.
Такая форма представления данных позволяет достаточно просто вносить изменения, исправления и добавления в данные. Эти изменения в таблице переносятся в соответствующие операторы data, а добавление или удаление строк в таблице отображается добавлением или удалением соответствующих операторов в программе.
Рассмотрим алгоритм и программу вывода списка дней рождения в семье, составленные в соответствии с выбранным представлением данных:
алг «дни рождения» ' дни рождения
нач сls
вывод («дни рождения») print «дни рождения»
чтение таблицы dni restore dni
цикл do
чтение (пп, d, т, g) read nn$, d, m, g
при пп = «» вых if nn$ = «» exit then do
вывод (пп, d, m, g) print nn$, d, m, g
кцикл loop
кон end
Для формирования и обработки новых групп данных в программах используются массивы. Массив в программе - это область оперативной памяти ЭВМ, используемая для размещения некоторой совокупности данных.
Использование массивов в программах на Бейсике требует описания их с помощью операторов dim. В операторах dim для каждого массива указывается его имя и размеры. Массивы в программах могут быть одномерными, двумерными, трехмерными и т. д.
Примеры описаний массивов:
одномерные массивы из 20 элементов -
dim nm$(20), d(20), m(20)
двумерные массивы из 2х10 и 10х10 элементов –
dim fm$(2,10), tb(10,10)
Обращения к элементам массивов записываются в зависимости от размерности, указанной в их описаниях. Примеры обращений к одномерным и двумерным массивам:
nm$(4) = «Костя»
d(4) = 10
fm$(l,10) = «Петров»
tb(3,4) = 3*4
В программах на Бейсике операторы dim являются выполняемыми. Результатом их выполнения является выделение участков памяти для хранения соответствующих массивов. По этой причине в качестве размеров массивов могут указываться переменные, которые должны получить конкретные положительные значения до выполнения оператора dim.
Описание двумерного массива с переменной n в качестве его размеров:
n = 5 ' n = 5
dim tb(n,n) , ' массив tb[1:n, 1:n]
В качестве примера использования массивов с переменными размерами приведем алгоритм и программу формирования «Таблицы умножения n´n».
Таблица умножения
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
В приведенных ниже алгоритме и программе расчета и вывода таблицы умножения для ее размещения используется двумерный массив tb(n, n) c n = 5:
алг «таблица умножения» ' таблица умножения
п=5 n=5
массив tb[1:n, 1:n] dim tb(n,n)
нач сls
от k = 1 до п цикл for k = 1 to n
от 1 = 1 до п цикл for l = 1 to п
tb[k,l]: = k*l tb(k,l) = k*l
вывод tb[k,l] print tb(k,l);
кцикл next 1
нов_строка print
кцикл next k
кон end
Запуск этой программы на ЭВМ приведет к получению приведенной выше картинки с таблицей умножения размера 5х5. Для получения таблицы умножения размера 8х8 или 10 х 10 достаточно изменить в программе значение n =5 на n = 8 или n = 10.
Перечисленных базовых средств достаточно для решения большого числа задач обработки данных: экономических, статистических, инженерных, научных и т.п. Однако при постановке решения задач обработки данных важно четко различать место размещения и виды обрабатываемых данных.
По способу использования при решении задач различаются следующие данные:
исходные;
результирующие.
Исходные данные - конкретные данные решаемых задач, отвечающие принятой постановке. Исходные данные могут оказаться как допустимыми, так и недопустимыми по постановке решаемых задач.
Результирующие данные - это результаты решения поставленных задач при введенных исходных данных. Сообщения о невозможности решения задачи также считаются результирующими данными.
По способу размещения и использования в обрабатывающих алгоритмах и программах данные подразделяются на:
входные;
выходные;
сохраняемые.
Входные данные - это данные, вводимые в ЭВМ во время работы программы. Входные данные могут вводиться с клавиатуры, магнитных дисков или с помощью других устройств ввода информации.
Выходные данные - данные, выводимые ЭВМ как результат работы программ. Выходные данные могут выводиться на экран, на печать, на магнитные диски или другой носитель информации.
Сохраняемые данные - данные, которые хранятся в долговременной памяти ЭВМ и могут обновляться как результат работы программ. Эти данные могут храниться и многократно обновляться на магнитных дисках в течении длительного промежутка времени.
В качестве примера рассмотрим задачу поиска номеров телефонов по телефонному справочнику. Исходной информацией в этой задаче является «Телефонный справочник», который можно представить следующей таблицей:
Телефонный справочник
|
Вова |
125-14-70 |
|
Саша |
222-01-02 |
|
Маша |
102-99-00 |
Результирующая информация - номера телефонов и сообщения об отсутствии таких сведений. Информация о результатах поиска информации может выводиться на экран ЭВМ. Диалог с компьютером может проходить по следующему сценарию, в котором отражаются исходные и выходные данные:
Сценарий:
|
поиск номера телефона имя = ? <имя> |
|
нет такого |
Для хранения таблицы «Телефонного справочника» в программе можно воспользоваться следующими операторами data:
tel: 'номера телефонов:
data «Вова», «125-14-80»
data «Саша», «222-01 -02»
data «Маша», «102-99-00»
data «», «»
При выбранных представлении данных и сценарии диалога решением могут служить следующие алгоритм и программа:
Алгоритм Программа
алг «Телефонный справочник» ' Телефонный справочник
нач сls
вывод («поиск номера телефона») print «поиск номера телефона»
запрос(«имя=», NN) input «имя=», NN$
чтение-таблицы tel restore tel
цикл do
чтение (имя, пот) read im$, nm$
если имя = NN то if im$ = NN$ then
вывод («номер:»,пот) print «номер:»,nm$
выход [из цикла] exit do
инес имя = «» то elseif im$ = «» then
вывод («нет такого») print «нет такого»
выход [из цикла] exit do
все end if
кцикл loop
кон end
Из приведенного примера видно, что при составлении алгоритмов и программ обработки данных важную роль играют не только сценарии ввода-вывода данных в ЭВМ, но и представление данных. От выбора этих представлений существенно зависят способы доступа к данным и процедуры обработки.
Однако наиболее важным при составлении алгоритмов и программ обработки данных прежде всего является четкое определение исходных и результирующих данных, а уже затем - подбор представлений входных, выходных и сохраняемых данных на ЭВМ.
Систематические методы разработки алгоритмов и программ обработки данных состоят в том, что постановка решаемых задач, выбор представлений данных и составление спецификаций диалога проводятся до составления детальных алгоритмов и программ обработки данных.
Подобный подход к составлению алгоритмов и программ обработки данных позволяет проверять правильность составляемых алгоритмов и программ по отношению к этим спецификациям и обеспечить в них полное устранение ошибок.
Приведем пример систематического составления алгоритмов и программ обработки данных с использованием спецификаций для решения задачи «Выбор друзей по росту». Допустим, что исходные данные этой задачи представлены следующей таблицей:
|
фамилия |
имя |
рост |
|
Иванов |
Саша |
180 |
|
Петров |
Вова |
160 |
|
Сидоров |
Миша |
190 |
| Основные понятия об информации и информатике |