- •Реферат
- •Содержание
- •Предисловие
- •Введение. Предмет и задачи учебных дисциплин
- •1. Введение в информатику
- •1.1. Определение информации
- •1.2. Свойства информации
- •1.3. Информационные процессы
- •1.4. Процесс хранения информации
- •1.5. Процесс обработки информации
- •1.6. Процесс передачи информации
- •2. Системный подход к гидроло-экологическим расчетам
- •2.1. Общие положения
- •Общие положения, задачи гидроэкологии
- •Место гидроэкологии в системе наук
- •Основные положения системного подхода
- •Системный подход в гидроэкологических исследованиях
- •2.1.1. Полевые наблюдения
- •2.1.2. Эксперимент
- •2.1.3. Моделирование
- •Общие принципы моделирования
- •2.2. Общая схема системного подхода
- •2.2.1. Постановка задачи
- •2.2.2. Концептуализация
- •2.2.3. Спецификация
- •2.2.4. Наблюдения
- •2.2.5. Идентификация
- •2.2.6. Эксперименты
- •2.2.7. Реализация модели
- •2.2.8. Проверка модели
- •2.2.9. Исследование модели
- •2.2.10. Оптимизация
- •2.2.11. Заключительный синтез
- •Моделирование водных экосистем
- •Оптимизационные модели в гидроэкологии
- •3. Основы алгоритмизации (для лабораторных работ по гидрологии)
- •3.1. Введение
- •3.2. Алгоритмические действия
- •3.3. Определение алгоритма и основные требования
- •3.4. Приведение к процедурному представлению
- •3.5. Типовые процедуры
- •4. Представление программных документов
- •4.1. Положение о фонде алгоритмов и программ
- •1. Oбщиe положения
- •2. Состав материалов на програмные средства, представляемых в фап ипс ран
- •4. Доступ к материалам фонда и их использование
- •5. Состав, содержание и порядок оформления материалов пpoгpaмныx средств
- •4.2. Отраслевой фонд алгоритмов и программ (офап)
- •4.3. Правила оформления программных документов
- •4.3.1. Текст программы. Требования к содёржанию и оформлению
- •1. Общие требования
- •2. Титульная часть
- •4. Основная часть
- •4.4. Виды программ и программных документов
- •1. Виды программ
- •2. Виды программмых доkуmehtоb
- •4.5. Описание программы
- •4.6. Описание применения
- •5. Математические модели качества воды
- •5.1. Принципы математического моделирования качества воды водотоков
- •5.2. Расчеты процессов конвективно-диффузионного переноса (кдп)
- •5.2.1. Построение математической модели качества воды на основе схематизации процесса кдп и пв
- •5.2.1.1. Сущность метода кдп и пв
- •I рода II рода III рода
- •5.2.1.2. Схематическое описание процессов кдп и пв
- •5.2.1.3. Определение краевых условия для моделирования
- •5.2.2. Методы решения типовых задач кдп и пв
- •5.2.2.1. Методы, использующие разложение в ряд Тейлора [8, 9, 10]
- •5.2.2.2. Метод Эйлера [10, 11]
- •5.2.2.3. Методы Рунге-Кутта [10,11, 13, 14]
- •5.2.2.4. Применение метода конечных разностей для решения уравнений кдп и пв
- •5.2.2.5. Применение метода сеток для решения уравнений кдп и пв
- •5.2.2.6. Методы непосредственного моделирования
- •5.2.2.7. Применение метода схемотехнического моделирования
- •5.3. Имитационное моделирование задач формирования качества воды при различных видах техногенной нагрузки
- •Принципы моделирования
- •5.4. Пример постановки задачи формирования качества воды (модели распространения загрязнений в основном русле р. Невы)
- •5.4.1. Гидрологическая оценка объекта исследования (реки Нева)
- •5.4.1.1. Общая характеристика гидросистемы
- •5.4.1.2. Сток воды р. Невы и его распределение по рукавам дельты (гидравлическая схема расчета)
- •5.4.1.3. Расчетные формулы
- •5.4.1.5. Расчет поперечной диффузии
- •5.4.1.6. Расчет параметров створа
- •5.4.1.7. Конфигурация рассеивающего источника задаётся следующим способом
- •5.5. Оценка параметров для моделей прогнозирования качества воды в исследуемой системе
- •5.6. Результаты моделирования бассейна р. Невы с использованием пакета «Гидроэкопрогноз 2.97.001»
- •5.6.1. Расчетный участок
- •5.6.2. Параметры расчётной модели
- •5.6.3. Основные результаты и выводы по расчетам
- •5.7. Невская Губа
- •5.7.1. Краткая характеристика Невской губы
- •5.7.2. Моделирование прибрежных зон Финского залива (Краткое описание модели экосистемы Финского залива) [26]
- •5.7.3. Список литературы
- •6. Гидрологические расчеты распространения примесей
- •6.1. Постановка задачи
- •6.2. Выбор схемы решения задачи массопереноса в воде
- •6.3. Литература
- •7. Методические указания к практикуму «Расчеты тепломассопереноса в реках и водоемах»
- •7.1. Общие положения
- •7.2. Условия однозначности
- •7.3. Методы решения задач
- •7.4. Практикум «Расчеты тепломассопереноса в реках и водоемах»
- •7.4.1. Задача 1. Расчёт вертикального распределения температуры воды в водоёме при открытой водной поверхности (без учёта факторов гидродинамики)
- •7.4.1.1. Постановка задачи
- •7.4.1.2. Пример решения
- •7.4.2. Задача 2. Расчёт теплообмена в ложе водоёма
- •7.4.2.1. Постановка задачи
- •7.4.2.2. Пример решения
- •7.4.3. Задача 3. Расчёт среднедневного и среднедекадного значения коэффициента теплопроводности для слоя снега при постоянной его плотности
- •7.4.3.1. Постановка задачи
- •7.4.3.2. Пример решения
- •7.4.4. Задача 4. Расчёт разбавления сточных вод в реках по методу а.В. Караушева (плоская задача)
- •7.4.4.1. Постановка задачи
- •7.4.4.2. Пример решения
- •7.4.5. Задача 5. Расчёт теплопереноса в водотоке
- •7.4.5.1. Постановка задачи
- •7.4.5.2. Пример решения
- •Литература
- •8. Приложения Министерство образования Российской Федерации
- •Программа учебной дисциплины «применение методов информатики в гидрологии»
- •012700 – Гидрология суши
- •Пояснительная записка
- •I организационно-методические указания
- •II объем и распределение часов курса по видам занятий. Формы контроля Продолжительность изучения 1 семестр Общая трудоёмкость дисциплины 109 часов
- •III содержание курса
- •Раздел 1. Введение (2л)
- •Раздел 2. Персональный компьютер. (4л 4с)
- •Раздел 3. Операционные системы. (4л 6с)
- •Раздел 4. Графические пользовательские оболочки операционной системы мс-дос (6л 6с)
- •Раздел 5. Операционная система windows. (6л 8с)
- •Раздел 6. Проводник. (2л 2с)
- •Раздел 7. Текстовые редакторы. (6л 8с)
- •Раздел 8. Библиотечные процессоры. (8л 8с)
- •Раздел 9. Общие сведения о программировании на языках высокого уровня. (4л 2с)
- •Раздел 10. Работа с кампилятором turbo-pascal. (10л 10с)
- •Раздел 11. Основы информационной безопасности (4л 2с)
- •Самостоятельная работа
- •IV. Литература Основная
- •Министерство образования Российской Федерации
- •Программа учебной дисциплины «применение эвм в гидрологии»
- •012700 – Гидрология суши
- •Пояснительная записка
- •I организационно-методические указания
- •II объем и распределение часов курса по видам занятий. Формы контроля Продолжительность изучения 1 семестр Общая трудоёмкость дисциплины 137 часов
- •III содержание курса
- •Раздел 1. Введение (2л)
- •Раздел 2. Правила оформления программных документов. (4л 4с)
- •Раздел 3. Требования к организации информации при использовании эвм. (6л 6с)
- •Раздел 4. Этапы системного анализа и их взаимосвязь. (4л 6с)
- •Раздел 5. Моделирование и математические модели. (6л 8с)
- •Раздел 6. Организация вычислительного процесса. (6л 8с)
- •Самостоятельная работа
- •IV. Литература
- •Вопросы по информатике
3.3. Определение алгоритма и основные требования
Мы подошли к более точному определению понятия «алгоритм обработки данных». Это набор правил или действий, направленных на решение задачи преобразования данных. Алгоритм должен отвечать определенным требованиям, прежде всего, конечность процесса преобразования исходных данных в выходные (за конечное число шагов). Кроме того, алгоритм должен характеризоваться массивностью, определенностью, однозначностью.
Свойство массивности дает возможность применять алгоритм к различным значениям исходных данных. В приведенном примере массивность обеспечена с помощью ввода данных в процессе решения.
Свойство определенности предполагает высокие требования к точности формулировок во избежание различных толкований отдельных действий и алгоритма в целом. Например, чтобы обеспечить определенность исходного алгоритма в примере, необходимо выбрать способ реализации третьего пункта «задание значений …», объявить переменную n цикла (чтобы ввод не продолжался бесконечно), необходимо отразить, что каждой станции соответствует только одно значение осадков.
Свойство однозначности гарантирует получение одинаковых промежуточных и конечных результатов для одних и тех же значений исходных данных. Недостаточно, например, объявить переменные, необходимо присвоить им начальные значения, обнулить переменные перед накоплением итогов. Надо всегда иметь в виду, что память машины – это не чистый лист бумаги, необходима определенная подготовка к выполнению алгоритма.
Несоблюдение описанных требований ведет к появлению серьезных ошибок программирования, на обнаружение которых уходит иногда много времени (в отличие от ошибок языков программирования, выявляющихся уже во время трансляции и компоновки программы).
Важным требованием, влияющим на определенность и однозначность алгоритма, является обязательное определение и контроль области допустимых значений (ОДЗ) исходных данных. В приведенном примере ОДЗ следующее:
n – целое, 0<n<&
xi – действительное число с точностью до m знаков после запятой,
х>0, 0 < i < n
Введем в процедуру ввода контроль области допустимых значений.
Первый вариант – число станций n известно заранее и задано.
процедура А: начало
присвоение начальных значений: n=… , REZ=0
цикл ввода n значений: начало
ввод значений в переменную х
если х > 0, то округлить х с точностью до m; REZ=REZ+x
конец цикла
конец процедуры А
Второй вариант – число станций n неизвестно и ввод продолжается до тех пор, пока не будет введено «пустое значение» (пробел).
процедура А: начало
присвоение начальных значений: i=1, REZ=0
цикл ввода: начало
ввод значения в переменную х
если х=пусто, то выход из цикла
если х>0, то округлить х с точностью до m; REZ=REZ+x
i=i+1
если i=1000, то вывод сообщения о превышении ограничения на число станций и выход из программы
конец цикла ввода
конец процедуры А
Область допустимых значений исходных данных обеспечивается и контролируется в пунктах 3.3 и 3.5. На первый взгляд пункт 3.3 может показаться лишним. Он необходим для обеспечения конечности процесса обработки данных, т.к. позволяет принять решение, если результат не может быть получен за конечное число шагов.
Чтобы подчеркнуть роль требований конечности алгоритма и определенности ОДЗ, изменим условия задачи: допустим, что данные о среднем слое атмосферных осадков по всем метеостанциям региона где-то накапливаются и хранятся. Периодически вводятся новые данные, но не по всем, а только по некоторым станциям. Соответственно, следует определить средний слой атмосферных осадков по поступившим данным за текущий период и по накопленным и скорректированным данным на текущую дату. Такая постановка более соответствует реальным условиям, когда информация поступает на обработку нерегулярно.
начало
объявление переменных:
n – число станций в регионе
Y – величина осадков на станциях за текущий период
X[n] – массив осадков на станциях за предыдущий период
REZ1 – результат по поступившим данным за текущий период
REZ2 – результат по накопленным и скорректированным данным на текущий период
выполнить процедуру ввода начальных значений в массив x[n]
если n=0 и массив пуст, то выход из программы
присвоение начальных значений: i=1, REZ1=0, REZ2=0
цикл ввода значений осадков за текущий период: начало
ввод значения в переменную Y
если Y=пусто, то выход из цикла
если Y <>0, X[i] = Y; REZ1=REZ1+Y
i=i+1
если i>n, то вывод сообщения об ошибке (число введенных значений превышает число станций) и выход из программы
конец цикла ввода
если REZ>0, то REZ1=REZ1 / i
цикл суммирования осадков на текущую дату, i=1,n: начало
REZ2=REZ2 + X[i]
если X[i] <> 0,то i=i+1
конец цикла
REZ2=REZ2 / i
вывод результатов
конец
ОДЗ обеспечивается и контролируется в пунктах 4; 5; 6.3; 6.5; 9.1. Пункт 6.5, в частности, гарантирует конечность процесса обработки данных.
Описанные пять требований – массовость, определенность, однозначность, конечность, контроль ОДЗ – являются основными при оценке алгоритма. Не менее важно, хоть и очевидно, требование «читабельности». Алгоритм должен содержать точное описание переменных и необходимые пояснения ко всем действиям. Из описания переменной должно явствовать ее назначение, не следует использовать одну переменную в разных целях. Действия должны быть также четко сформулированы. Если действие не является элементарным, рекомендуется представлять его в виде процедуры. Как же выделяются процедуры?