Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Математическая постановка задачи
Математическая постановка задачи сводится к написанию математических формулировок алгоритмов обработки данных выбранной структуры для поставленных в заданных условий. Исходя из введенных выше идентификаторов данных:
а) для структурированных данных типа массивыматематическая постановка сводится: Для первого задания: найти максимальное значение в массиве процентных ставок и соответствующее ему значение i:
max_pr=max ( ), i=1,5. Для второго задания найти максимальное и минимальное значение в каждом столбце массива курса валют: max_ =max( , j=1,3, i=1,5 min_ =min( , j=1,3, i=1,5 Для третьего задания выполнить сортировку массива процентных ставок и соответствующих им названий банков таким образом, чтобы в начале списка была максимальная процентная ставка и банк ее имеющий, далее меньшая и т.д.: >…> >… > , i=1,5 ( , i =1,5) Сортировку по невозрастанию можно выполнить методом простого выбора для массива индексов банков (ind), по схеме: Fori:=1 to 5-1 do {проходыпомассиву} begin max:=0; {априори максимум для очередного прохода} forj:=ito 5 do {перебор индексов сравниваемого эл-та массива} Ifpr[ind[j]]>maxthen {поиск очередного max} begin max:=pr[ind[j]]; {запомнить этот max} k:=j {и его место (к)}; end; P:=ind[i]; ind[i]:=ind[k]; ind[k]:Ip; {Обменять i-ый и j-ый элементы в массиве индексов (ind)} end; for i:=1 to 5 do Writeln (ind[i], Nm[j]); { печатьмассивовindи } б) для структурированных данных типа записи: математически можно определить следующую последовательность действий: Для первого задания найти максимальное значение в поле процентных ставок (pr) массива записей (bank[i]): max_pr=max( i=1,5 Для второго задания найти маскимальное и минимальное значение в каждом поле курса валют (dol,mark,iena)массива записей (bank[i]): max_ =max( , i=1,5 max_ =max( , i=1,5 max_ =max( , i=1,5 min_ =min( , i=1,5 min_ =min( , i=1,5 min_ =min( , i=1,5 или (для случая когда структура курсов валют идентифицируется как одномерный массив записей - ): max_ =max( , i=1,5, j=1,3 min_ =min( , i=1,5, j=1,3 Для третьего задания выполнить сортировку массива записей по назначению поля процентных ставок таким образом, чтобы в начале списка была максимальная процентная ставка и банк ее имеющий, далее меньшая и т.д..
Сортировку можно выполнить методом пузырька, по схеме: fori:=5-1 downto 1 do {проходы по массиву} forj:=1 toido {индекс нижней из сравниваемых записей} if then begin z:=bank[j]; bank[j]:=bank[j+1]; bank[j+1]:=z; {обменять местами j–ую и (j+1)–ую записи} end; В процессе написания и модификации программы программист должен обнаружить недостающие данные в спецификации программы. В нашем случае это массив индексов банков ( , который необходимо заполнить номерами банков в начальном их списке. В общем случае программирование не является последовательной деятельностью, при которой возможны последовательные переходы от одного шага к другому. Наоборот, на каждом шаге часто бывает необходимо возвращаться к предыдущим и иногда модифицировать их. Для написания программы необходимо каждое предложение алгоритма перевести в эквивалентные операторы языка программирования. ПРОГРАММНАЯ СПЕЦИФИКАЦИЯ |
||
Последнее изменение этой страницы: 2018-04-12; просмотров: 192. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |