Студопедия — Саша 18 10 1980
Студопедия Главная Случайная страница Обратная связь

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

Саша 18 10 1980






 

Для решения этой задачи для других данных необходимо внести изменения в оператор данных data и вновь запустить программу на выполнение. Пример изменения данных:

 

дано: Оля, 1, 12, 1974 data «Оля», 1, 12, 1974

 

В традиционных версиях языка Бейсик с нумерацией строк опе­раторы data выделяются в отдельные группы и нумеруются обычно с числа 1000. Это позволяет четко отделить в программах описание данных от операторов их обработки:

 

алг «дни рождения» 10 ' дни рождения

нач 20 cls

вывод («день рождения:») 30 print «день рождения:»

чтение nт$, dn, ms, gd 40 read nm$, dn, ms, gd

вывод nm$; dn; ms; gd 50 print nm$; dn; ms; gd

кон 60 end

дано: Иванов, Саша, 18, 10, 1980 1000 data «Саша», 18, 10, 1980

 

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

1) оператор чтения данных после метки test:

restore test - чтение данных после метки test;

2) оператор чтения данных с оператора 1000:

restore 1000 - чтение данных, начиная с 1000-го оператора;

3) оператор чтения данных с самого начала:

restore - чтение данных сначала.

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

Символьные данные - это последовательности символов. В текстах программ на Бейсике символьные данные заключаются в двойные кавычки. Примеры: «мама», «корень=», «2 + 1» и т.д. Во входных данных символьные данные записываются в соответствии с входными спецификациями.

Символьные переменные - это переменные, значениями которых являются символьные данные. В программах на Бейсике символь­ными явлются те переменные, к имени которых справа приписан знак $. Примеры символьных переменных: s$, p$, sl$, pr$.

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

 

n%, m%, nl%, m3% - целочисленные

х, у, xl, y5 - вещественные

а#, b#, al#, b8# - вещественные двойной точности

 

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

 

 

Дни рождения:

Мама      
Папа      
Сережа      
Оля      

 

Для представления данных из этой таблицы в программе восполь­зуемся следующей последовательностью операторов data:

 

Дни рождения:


Мама      
Папа      
Сережа      
Оля      

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

 

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

Однако наиболее важным при составлении алгоритмов и программ обработки данных прежде всего является четкое определение исход­ных и результирующих данных, а уже затем - подбор представлений входных, выходных и сохраняемых данных на ЭВМ.

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

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

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

 

фамилия имя рост
Иванов Саша  
Петров Вова  
Сидоров Миша  

 

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

 

Сценарий «Поиск друзей»

 

выбор друзей по росту мин_рост =? < min> макс_рост =? < max>
< фамилия> < имя>
нет таких

 

 

Для представления данных о друзьях в программе воспользуемся следующими операторами data:

dan: 'данные о друзьях

data «Иванов», «Саша», 180

data «Петров», «Вова», 160

data «Сидоров», «Миша», 190

data «», «», 0

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

 

АлгоритмПрограмма

алг «выбор друзей» ' выбор друзей

нач сls

вывод («выбор друзей по росту») print «выбор друзей по росту»

запрос («мин_рост =>», min) input «мин_рост =>», mn

запрос («макс_рост =<», тах) input «макс_рост =<», mх

чтение-таблицы dan restore dan

n: = 0 n = 0

цикл do

чтение (фам, имя, r) read fm$, im$, r

при фам = «» вых if fm$ = «» then exit do

если min £ r и r £ max то if mn< = r and r < = mx then

вывод (фам, имя) print fm$, im$

n: = n+1 n = n+1

все end if

кцикл loop

если n = 0 то if n = 0 then

вывод «нет таких» print «нет таких»

кон end

 

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

 

 







Дата добавления: 2014-11-12; просмотров: 531. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

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

Искусство подбора персонала. Как оценить человека за час Искусство подбора персонала. Как оценить человека за час...

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

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

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

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

Studopedia.info - Студопедия - 2014-2024 год . (0.013 сек.) русская версия | украинская версия