- •Реферат
- •Содержание
- •Предисловие
- •Введение. Предмет и задачи учебных дисциплин
- •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.1. Введение
Этот раздел предназначен для начинающих программистов и постановщиков задач. Он содержит описания ряда прикладных задач по гидрологии и указания по их алгоритмизации, т.е. преобразованию этих описаний в алгоритмическую форму.
Рассматриваемые способы решения задач представляют собой в первоначальной формулировке словесные описания с использованием географических понятий и математических формул.
Для решения задач на ЭВМ необходимо преобразовать эти описания в алгоритмическую форму в виде четкой последовательности действий или правил, которые были бы однозначно поняты машиной.
Алгоритмы, предназначенные для обработки данных на ЭВМ, называются «машинными». Для их записи используют алгоритмические языки, естественные языки и языки программирования. Если применяется естественный язык, вернее его подмножество, то он должен быть частично форматирован и, опираться, на машинную терминологию, т.е. использовать такие термины, как «переменная», «ввод», «вывод», «процедура», «цикл» и другие, см. словарь терминов.
В пособии представлены машинные алгоритмы на частично формализованном естественном языке. Основополагающим в нем является понятие переменной, это алгоритмический объект, обладающий именем и значением. Соответственно алгоритм будет представлять собой последовательность действий над переменными. Характерной особенностью машинного алгоритма является необходимость предварительного определения имен и типов переменных и присвоения им начальных значений перед вычислениями.
Предложенные алгоритмы имеют одинаковое оформление: «начало», «конец», что означает начальную и конечную скобку, а также подразумевает определенные действия при переходе на конкретный язык программирования. Например, «начало программы» подразумевает объявление глобальных переменных, задание режимов работы, в том числе для экрана дисплея и принтера, открытие служебных файлов и т.д., «начало процедуры» может предусматривать объявление параметров и локальных переменных и т.п. В описании алгоритма на формализованном естественном языке эти действия объединены в одно.
Из каких же действий состоит собственно алгоритм?
3.2. Алгоритмические действия
Для написания любого алгоритма обработки данных достаточно следующих девяти элементарных действий и простейших конструкций:
объявление переменной (указание имени и типа) – «объявить»,
присвоение значения переменной – «=»,
вычисление выражения и присвоение итогового значения переменной – «вычислить»,
ввод значения и занесение в переменную – «ввод»,
вывод значения переменной (на экран дисплея, печать и т.д.) – «вывод»,
выполнение действий по условию –
«если <условие> то <действие 1> иначе <действие 2>»,
повторное выполнение группы действий –
«цикл … [n раз] : начало <действия> конец»,
объявление процедуры –
«процедура <имя процедуры> … : начало <действия> конец»,
вызов и выполнение процедуры –
«выполнить процедуру».
Действия производятся над одной переменной, массивом переменных и группой переменных и/или элементов массива.
При желании этот список можно дополнить более сложными действиями, но только так, чтобы каждое из них можно было представить в виде последовательности элементарных действий.
При использовании языков программирования каждое алгоритмическое действие реализуется одной или несколькими командами языка (операциями). Элементарные действия и простейшие конструкции реализуются в любом языке только одной командой.
Рассмотрим в качестве примера набор алгоритмических действий для определения среднего слоя атмосферных осадков в регионе по показаниям метеостанций.
начало
объявление переменных:
n – число станций в регионе,
Xi - величина осадков на i-ой станции,
REZ – результат вычислений – средняя арифметическая величина слоя осадков
задание n различных значений переменной Xi и суммирование их
REZ = SUM (Xi), i=1,n
вычисление среднего арифметического: REZ = REZ / n
вывод результатов
конец
Здесь все действия кроме третьего являются элементарными, т.е. могут быть реализованы одной командой какого-то языка программирования (скобки «начало» и «конец» не учитываются). Пункт третий в этом наборе может быть реализован несколькими способами. Можно объявить n переменных, присвоить им значения, а затем вычислить сумму значений.
1. x1 = …
2. x2 = …
….
n. xn = …
n+1. REZ = x1+x2+….+xn
Этот способ неудобен тем, что число переменных и действий зависит от числа задаваемых значений: под каждое значение выделяется переменная и выполняется действие «присвоение значения переменной». Тот же результат может быть получен с помощью четырех действий:
1. n=…
2. REZ=0
3. ввести значение в переменную x
4. REZ= REZ +x
Повторять 3 и 4 действия n раз.
Для организации повторного выполнения ряда действия используется конструкция «цикл», указывающая, что действия внутри скобок начало/конец должны выполняться несколько раз.
1. n=….
2. REZ =0
3. цикл ввода n значений: начало
3.1. ввод значения в переменную х
3.2. REZ=REZ + x
4. конец цикла
Повторное выполнение действий может производиться заданной число раз или до тех пор, пока не выполниться заданной условие.
Рассмотрим второй вариант «цикла по условию»:
1. REZ=0
2. цикл ввода: начало
2.1. ввод значения в переменную х
2.2. если х = пусто, то выход из цикла
2.3. REZ=REZ +x
3. конец цикла
Конструкцию цикла удобно использовать, когда вводится большой объем данных. «Цикл по условию» выбирают, если число вводимых значений не известно. Для ввода известного небольшого числа значений целесообразно использовать одну команду ввода, например:
1. ввод трех значений в переменные х1, х2, х3
2. REZ= x1+x2+x3
Замена действий присвоения вводом позволяет применить данный набор действий к различным исходным данным { xi }, i=1,n. Причем при повторном выполнении с одними и теми же значениями исходных данных должен получиться одинаковый результат, определенный и однозначный.
Все рассмотренные варианты алгоритма ввода и вычисления суммы реализуют только одно (третье) действие исходного набора действий и могут быть либо вставлены на соответствующее место, либо оформлены как самостоятельные процедуры. Процедурой называется единица описания алгоритма, представляющая некое законченное действие посредством элементарных действий или других процедур.
Развернутый алгоритм будет выглядеть следующим образом:
начало
объявление переменных: n, x, REZ
выполнение процедуры А ввода и суммирования значений в REZ
REZ = REZ / n
вывод результатов
конец
процедура А: начало
присвоение начальных значений: n=…. , REZ=0
цикл ввода n значений: начало
3.1. ввод х
3.2. REZ = REZ + x
конец цикла
конец процедуры
Мы получили в итоге процедурное представление алгоритма, в котором все действия являются элементарными и могут быть без труда переведены на любой язык программирования. Однако возникает вопрос, каким требованиям должен отвечать алгоритм, и какие проблемы могут возникнуть при его использовании?