Сценарий:
поиск номера телефона имя = ?<имя> |
телефон: <номер> |
нет такого |
Для хранения таблицы «Телефонного справочника» в программе можно воспользоваться следующими операторами 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 |
Примем, что запросы на поиск друзей по росту и результаты поиска будут выводиться на экран по следующему сценарию:
Сценарий «Поиск друзей»
выбор друзей по росту мин_рост = ?<min> макс_рост = ?<max> |
<фамилия><имя> |
нет таких |
Для представления данных о друзьях в программе воспользуемся следующими операторами data:
dan: 'данные о друзьях
data «Иванов», «Саша», 180
data «Петров», «Вова», 160
data «Сидоров», «Миша», 190
data «», «», 0
Тогда в качестве решения на ЭВМ поставленной задачи в соответствии с выбранными сценарием и представлением сохраняемых данных, могут быть приняты следующие алгоритм и программа обработки данных.
АлгоритмПрограмма
алг «выбор друзей» ' выбор друзей
нач сls
вывод («выбор друзей по росту») print «выбор друзей по росту»
запрос («мин_рост =>», min) input «мин_рост =>», mn
запрос («макс_рост =<», тах) input «макс_рост =<», mх
чтение-таблицы dan restore dan
n: = 0n = 0
цикл do
чтение (фам, имя, r) read fm$,im$,r
при фам = «» вых if fm$ = «» then exit do
если min£r и r£max то ifmn<= 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
Сравнение приведенных алгоритма и программы со сценарием диалога показывает их полное соответствие друг другу. Прогон этой программы на ЭВМ при самых различных вариантов запросов подтвердит правильность ее работы, а доказательство ее правильности потребует знания техники анализа результатов ее выполнения для всех комбинаций исходных данных.
В о п р о с ы
1. Что такое исходные и результирующие данные?
2. Что такое входные, выходные и сохраняемые данные?
3. Что такое представление данных?
4. Как описываются массивы в программах на Бейсике?
5. Какие типы переменных есть в программах на Бейсике?
6. Как описываются данные в программах на Бейсике?
3 а д а ч и
1. Составьте сценарий, алгоритм и программу поиска номера телефона по фамилии с представлением сведений в последовательности операторовdata.
2. Составьте сценарий, алгоритм и программу поиска по имени дней рождения родных: мамы, папы, сестер и братьев, используя операторы data.
3. Составьте сценарий, алгоритм и программу поиска следующих данных о друзьях, используя операторыdata для получения сведений:
а) о росте друзей;
б) о весе друзей;
в) о цвете глаз.
4. Составьте сценарий, алгоритм и программу поиска сведений о расписании занятий по дням недели, используя операторыdata.
5. Составьте сценарий, алгоритм и программу поиска сведений о расписании занятий, используя операторыdata:
а) по названию предмета;
б) по дням недели;
в) по номеру урока.
6. Составьте алгоритм и программу построения изображения ломаной по координатам точек, записанных в последовательности операторов data.
7. Составьте алгоритм и программу вывода изображений ткани из цветных кругов по данным об их центрах и радиусах, записанных в последовательности операторовdata.
Глава 5. ТЕХНОЛОГИЯ РЕШЕНИЯ ЗАДАЧ
Решение задач должно начинаться с их точной постановки. Постановка задач - это четкое выделение того, что требуется, и того, что дано:
Постановка
Задача
требуется?дано?
Следующий этап - определение способа решения задачи. Способ решения - это набор действий, позволяющих получить требуемое из исходного:
Решение
Задачаисходное ® способ ® результаты
Результат правильный, если он отвечает требованиям. Получение результатов - главное в решении любых задач. Отсутствие или неправильность результатов говорит о неуспехе деятельности.
Результат неправильный, если он не соответствует требованиям. Однако при отсутствии четких требований невозможно однозначно судить о правильности или неправильности результатов.
При решении на ЭВМ постановка задач предполагает представление требуемого и исходного в виде данных. Способы решения задач на ЭВМ в такой постановке должны быть представлены соответствующими алгоритмами и программами обработки данных.
Решение на ЭВМ
Задача
¯
Программа
¯
данные ® ЭВМ ® результаты
При отсутствии готовых программ для решения задач возникает проблема создания соответствующих алгоритмов и программ. В любом случае необходимо подобрать и определить способы, методы и средства для решения поставленных задач.
Систематический подход к составлению программ предполагает в качесте первого этапа составление спецификаций - описаний форм ввода и хранения данных в ЭВМ, а также получения и вывода результатов. Эти спецификации в дальнейшем будут использоваться для оценки правильности созданных программ.
Для диалоговых программ в роли таких спецификаций выступают сценарии диалога - полные описания результатов и правил работы с ЭВМ при решении поставленных задач. Только после создания таких спецификаций должны составляться соответствующие им алгоритмы и программы.
Составление программ
задача ® способы
¯¯
сценарий ® алгоритмы
¯¯
ЭВМ ¬ программа
Приведенная схема представляет основной принцип систематических методов составления алгоритмов и программ для решения различных прикладных задач - экономических, математических, физических, инженерных и т. д.