Создание программы автоматизированной системы определения относительной влажности

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    807,97 Кб
  • Опубликовано:
    2016-01-20
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Создание программы автоматизированной системы определения относительной влажности

Министерство образования и науки Российской Федерации

Государственное образовательное учреждение высшего профессионального образования

Ульяновский Государственный Технический Университет

Кафедра «Управление Качеством»






КУРСОВАЯ РАБОТА

по курсу «Метрология, средства измерения и испытаний» на тему: «Создание программы автоматизированной системы определения относительной влажности»


Студент группы Укбд-41 Д.А.Жуганов

Научный руководитель Л.В. Федотов





Ульяновск

Оглавление

Введение

Глава 1. Анализ объекта исследования

.1 История возникновения и развития гигрометра

.2 Виды и принципы работы

.3Применяемые стандарты

.4 Вывод

Глава 2. Создание методики разработки алгоритма автоматизированной системы определения относительной влажности.

.1 Основные понятия алгоритмического языка

.2 Основные символы

.3 Элементарные конструкции

.4 Концепция типа для данных

.6 Константы

.7 Переменные

.8 Выражения

.9 Оператор присваивания

.10 Операторы ввода и вывода

.11 Структура программы

.12 Выводы

Глава 3. Практическая часть (в электронном виде)

.1 Вывод

Заключение

Библиографический список

Приложение

Введение

«Гигрометр- прибор для измерения влажности воздуха.

Кapдинaл Никoлac дa Кузa (1401-1464) был пepвым, ктo paзpaбoтaл пpибop для измерения влажности. Он вcтpeтилcя c этoй пpoблeмoй в тopгoвлe шepcтью, пocкoльку стоимость шepcти зaвиceлa oт ee вeca. Пoкупaтeли шepcти быcтpo cooбpaзили, чтo oднo и тo жe кoличecтвo мoжнo пpoдaть пo бoльшeй цeнe вo вpeмя дoждливыx днeй. Пoэтoму, пpoдaвцы ждaли дoждeй, a пoкупaтeли cуxиx днeй. Для oпpeдeлeния cпpaвeдливoй cтoимocти, кapдинaл Никoлac дe Кузa изoбpeл пepвый инcтpумeнт для oпpeдeлeния coдepжaния влaги. Он иcпoльзoвaл вecы, пoлoжив бoльшee кoличecтвo шepcти нa oдну чaшу, a нa дpугую кaмни, paвныe шepcти пo вecу. Пpи кaждoй пpoдaжe, oн клaл тaкoe кoличecтвo дoпoлнитeльныx кaмнeй нa чaшу вecoв, чтo paвнoвecиe coxpaнялocь. Зaтeм пo кoличecтву дoпoлнитeльныx кaмнeй oпpeдeлялocь кoличecтвo жидкocти в шepcти. Пocлe этoгo пoкупaтeли и пpoдaвцы мoгли нaчaть дoгoвapивaтьcя o цeнe нa шepcть. Нeмeцкий мaтeмaтик Иoгaнн Гeнpиx Лaмбepт (1728-1777) пpeдлoжил нaзывaть любoй пpибop, измepяющий влaжнocть гидpoмeтpoм (пoзднee oн был пepeимeнoвaн в гигpoмeтp

Существует несколько типов гигрометров, действие которых основано на различных принципах: весовой, волосной, плёночный и др.Не смотря на разновидность гигрометров самым популярным остаётся психометрический.

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

Цель работы: Создание методики разработки алгоритма автоматизированной системы определения относительной влажности

Объект исследования: Гигрометр ВИТ-1 .

Предмет исследования: программа для расчета относительно влажности

Анализ семейство гигрометров;

Анализ разработки алгоритма;

Создание программы для вычисления относительной влажности.

Глава 1. Анализ объекта исследования

.1 История возникновения и развития Гигрометра

Метеорология, как одна из древнейших наук, началась с визуальных наблюдений за погодой. С появлением письменности человек стал отмечать наиболее важные явления погоды. До нас дошли записи о погоде, произведенные за многие сотни лет до нашей эры. Весь период наблюдений за метеорологическими элементами можно разделить на две неравные части: неинструментальные, визуальные наблюдения и инструментальные. Неинструментальные наблюдения за многими элементами с записью их велись в России с середины XVII века, когда по приказу царя Алексея Михайловича были начаты ежедневные записи погоды в Москве. Инструментальные метеорологические наблюдения проводятся в России с конца XVII века с появлением термометра и барометра. Однако сроки наблюдений тогда не совпадали, а шкалы приборов были самыми разнообразными. Инструментальные метеорологические наблюдения в России берут свое начало во времена организации Петром I морского флота. В 1696 году выстроенный в Воронеже флот получил приказ царя спуститься по Дону к Азовскому морю. Но корабли вынуждены были задержаться из-за обмеления донских гирл, вызванного сильными восточными ветрами. Разобравши обстоятельно с задержкой флота, Петр I приказал вести наблюдения за погодой. В этом же году в судовые журналы всей эскадры вносятся записи о погоде. Моряки, часто имеющие дело с суровыми погодными условиями и тропическими ураганами, первыми начали регулярно вести наблюдения по барометру. Они нередко убеждались в том, что надежнее всего можно предсказать по барометру сильные ветры и бури. Они же одними из первых начали использовать метеорологические наблюдения для прогнозов погоды.

Одним из первых метеорологических приборов был термометр, изобретенный Галилеем в 1597 году. Около 1641 года во Флоренции изготовлялись довольно совершенные термометры, наполненные спиртом и снабженные шкалой. Примерно в 1715 году уроженец Данцига физик Фаренгейт стал изготавливать ртутные термометры, которые давали согласные показатели со спиртовыми термометрами. Он впервые установил необходимость определения основных точек шкалы.

Фаренгейт, описывая свой способ изготовления термометров, указал, что для градуировки их он взял интервал между таянием льда и кипением воды. Интервал быв разделен на 180 градусов. В известной шкале Реомюра (1732г) промежуток между температурой таяния льда и кипением воды был разделен на 80 частей.

Одним из первых термометров, используемых в России, был термометр конструкции академика Л. Делиля, шкала которого была разделена от точки кипения воды до точки ее замерзания на 150 частей.

Шкала Реомюра была отменена в России при переходе на метрическую систему с 1 января 1870 года, когда Россия перешла на 100-градусную шкалу Цельсия. Профессор А.Цельсий предложил свой способ градуировки - деление шкалы между двумя хорошо известными нам постоянными точками на 100 градусов. При градуировки термометра он уже учитывал влияние давления воздуха на температуру кипения.

Наряду с термометром стали использовать прибор для измерения атмосферного давления - барометр, для наблюдения за влажностью воздуха использовались различные типы гигрометров.

История простейшего из всех метеорологических приборов - дождемера - начинается гораздо раньше, чем история создания барометра и термометра. Здесь не потребовалось ни открытия сложнейших законов, ни разработки теории. Первые точные измерения были сделаны в странах Востока. Уже в XVI веке конструкция дождемеров приблизилась к современной. Совершенствование прибора шло по пути борьбы с выдуванием или надуванием осадков, в России, главным образом, твердых.

Кapдинaл Никoлac дa Кузa (1401-1464) был пepвым, ктo paзpaбoтaл пpибop для измерениявлажности. Он вcтpeтилcя c этoй пpoблeмoй в тopгoвлe шepcтью, пocкoльку стоимость шepcти зaвиceлa oт ee вeca. Пoкупaтeли шepcти быcтpo cooбpaзили, чтo oднo и тo жe кoличecтвo мoжнo пpoдaть пo бoльшeй цeнe вo вpeмя дoждливыx днeй. Пoэтoму, пpoдaвцы ждaли дoждeй, a пoкупaтeли cуxиx днeй. Для oпpeдeлeния cпpaвeдливoй cтoимocти, кapдинaл Никoлac дe Кузa изoбpeл пepвый инcтpумeнт для oпpeдeлeния coдepжaния влaги. Он иcпoльзoвaл вecы, пoлoжив бoльшee кoличecтвo шepcти нa oдну чaшу, a нa дpугую кaмни, paвныe шepcти пo вecу. Пpи кaждoй пpoдaжe, oн клaл тaкoe кoличecтвo дoпoл¬нитeльныx кaмнeй нa чaшу вecoв, чтo paвнoвecиe coxpaнялocь. Зaтeм пo кoличecтву дoпoлнитeльныx кaмнeй oпpeдeлялocь кoличecтвo жидкocти в шepcти. Пocлe этoгo пoкупaтeли и пpoдaвцы мoгли нaчaть дoгoвapивaтьcя o цeнe нa шepcть. Нeмeцкий мaтeмaтик Иoгaнн Гeнpиx Лaмбepт (1728-1777) пpeдлoжил нaзывaть любoй пpибop, измepяющий влaжнocть гидpoмeтpoм (пoзднee oн был пe¬peимeнoвaн в гигpoмeтp). В 1774г. Лaмбepт изoбpeл мexaнизм, в кoтopoм иcпoльзoвaл нaтуpaльную кoжу в кaчec¬твe измepяющeгo элeмeнтa. Тaкжe Иoгaнн Лaмбepт был пepвым, ктo вывeл зaвиcимocть мeжду тeмпepaтуpoй и влaжнocтью (oтнocитeльнaя влaжнocть). Дecaуccуp (1740-1799) изoбpeл вoлocянoй гигpoмeтp в 1783 г. В этиx измepитeльныx пpибopax иcпoльзуeтcя чeлoвeчecкий вoлoc, пpичeм cчитaлocь, чтo cвeтлый вoлoc бoльшe пoдxoдит для этoгo. Пpиpoдный cocтaв чeлoвeчecкoгo вoлoca вeдeт к oшибкe в измepeнии тoлькo нa 2.5%, тaким oбpaзoм, пpoмышлeнныe вoлocяныe гигpoмeтpы имeют пoгpeшнocть в +/- 2.5%.

Пpи измepeнии oтнocитeльнoй влaжнocти измepяeтcя кoли¬чecтвo пapa в вoздуxe, чтo выpaжaeтcя в пpoцeнтax мaкcиму¬мa пapa, кoтopый мoжeт coдepжaтьcя в вoздуxe пpи тeкущeй тeмпepaтуpe. Здecь тeмпepaтуpa имeeт бoльшую вaжнocть, нaпpимep, ecли гигpoмeтp пoкaзывaeт 50% влaжнocти пpи тeмпepaтуpe 30 °С , a пoтoм тeмпepaтуpa пoнижaeтcя, тo oтнo¬cитeльнaя влaжнocть будeт увeличивaтьcя, тaким oбpaзoм чeм xoлoднee вoздуx, тeм мeньшe влaги oн мoжeт удepживaть.

.2 Виды гигрометров и принцип работы

Виды гигрометров

Волосной гигрометр

Влажность воздуха можно найти различными способами. Существуют известные животные и растительные ткани, обладающие свойством сжиматься или расширяться в зависимости от степени влажности. К таким так называемым гигроскопическим веществам принадлежат, например, волосы, струны из кишок и клювы некоторых пород аистов. Существует много дешевых, но и достаточно неудовлетворительных «предсказателей погоды», которые основаны на свойствах гигроскопических веществ. Наилучшим из такого рода приборов является волосной гигрометр, изобретенный женевским профессором Соссюром (1740-1799). Гигроскопическую часть прибора составляет человеческий волос, закрепленный вверху и перекинутый вокруг оси внизу. При помощи маленького груза, действующего на ось, волос удерживается в натянутом положении. Стрелка, прикрепленная к той же оси, показывает соответственно степени влажности воздуха различные градусы на особой шкале. Эту шкалу получают помещая прибор сначала в совершенно сухом воздухе, а затем в совершенно насыщенном парами и разделяя расстояние между двумя соответственными положениями стрелки на 100 частей.

Гигрометр Психрометрический

Простейший психрометр состоит из двух спиртовых термометров <#"871359.files/image001.gif">

Рисунок 1.2 пленочный гигрометр

Гигрометр, в котором приемником является мембрана из гигроскопической органической пленки. Центр мембраны соединен с передаточным механизмом прибора. Упругие деформации пленки при колебаниях влажности воздуха передаются с помощью кинематической системы на стрелку прибора, перемещающуюся по шкале.

Весовой гигрометр


Вариант абсорбционного гигрометра для определения абсолютной влажности по увеличению веса гигроскопического вещества после поглощения водяного пара из влажного воздуха. Состоит из системы U-образных трубок, наполненных хлористым кальцием. Прирост веса системы, деленный на объем пропущенного воздуха, позволяет определить абсолютную влажность.

Синоним: химический гигрометр.

Электролитический гигрометр


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

Керамический гигрометр действует на основании физической зависимости электрического сопротивления твёрдой и пористой керамических масс (смесь глины, каолина, кремния и окислов металла) от влажности воздуха.

Конденсационный гигрометр


Принцип действия конденсационных гигрометров основан на определении точки росы. Конденсационный гигрометр способен определить точку росы по температуре охлаждаемого металлического зеркальца в момент появления на нём следов воды (или льда), которые конденсируются из окружающего воздуха. Конденсационный гигрометр конструктивно состоит из устройства охлаждения зеркальца, термометра, измеряющего, непосредственно, температуру зеркальца, а также оптического или электрического устройства, которое фиксирует момент конденсации. В современных конденсационных гигрометрах для охлаждения зеркальца используется полупроводниковый элемент, принцип действия которого основывается на эффекте Пельтье, а температура зеркальца измеряется вмонтированным в него проволочным сопротивлением или с помощью полупроводникового микротермометра.

По принципу работы

Емкостные

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


В более сложном случае воздушный зазор может быть заменен диэлектриком, диэлектрическая проницаемость которого сильно меняется под действием влажности. Такой подход позволяет улучшить качества датчика. Кроме того, этот подход может использован для измерения содержания влаги в твердых веществах. Между обкладками конденсатора кладется измеряемый объект, например таблетка, конденсатор подключается к генератору и LC колебательному контуру, счетчик будет измерять частоту контура, по этой частоте можно говорить об величине колебательного контура. Этот метод имеет некоторые недостатки: при влажности ниже 0.5% он неточен, также требует очистки образца от частиц с высокой диэлектрической проницаемости, кроме того важна форма образца во время проведения испытаний, она не должна меняться.

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

Резистивные


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

Главное преимущество этих датчиков их малая стоимость.

Термисторные


Термисторные гигрометры состоят из двух термисторов. Напомним, что термистор это сопротивление чувствительное к изменению температуры. Один из этих терморезисторов помещают в герметичную камеру с сухим воздухом. А второй в камеру с отверстием, через которое поступает воздух с неизвестной влажностью. Эти терморизисторы соединяют в мостовую схему. На одну диагональ моста падают напряжение, а на другой снимают результаты. Если выходной напряжение равно нулю, то значит, температура обоих термисторов одинакова, а значит и одинакова влажность. Соответственно, если на выходе появляется напряжение, то значит влажности в сухой и измеряемой камере разные, по величине и знаку напряжения можно судить о величине влажности.

Почему же температура терморезистора изменяется при взаимодействии на него влажного воздуха!? Дело в том, что при повышенной влажности на терморезисторе начинает испаряться влага, а при испарении температура уменьшается. Чем выше влажность, тем интенсивней идет испарение и тем сильнее остывает терморезистор.

Оптический

Самый точный вид гигрометров. В основу работы этого типа датчиков влажности заложено понятие точки росы.

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

На рисунке изображена упрощенная схема оптического гигрометра. Он состоит из диода, который светит на зеркало. Зеркало в свою очередь отражает свет на фотодетектор. Зеркало может подогреваться или охлаждаться специальным высокоточным устройством регулирование температуры. В качестве такого устройства часто используется термоэлектрический насос. На зеркале установлендатчик измерения температуры <#"871359.files/image009.gif">

Этот тип датчиков имеет как неоспоримое преимущество - самая высокая точность, недостижимая другими типами датчиков, и отсутствие гистерезиса. Так и недостатки - самая высокая стоимость, большое потребление электроэнергии и иногда может возникать необходимость чистки зеркала.

1.3 Применяемые стандарты

ГОСТ 8.524-85 Государственная система обеспечения единства измерений. Таблицы психрометрические. Построение, содержание, расчетные соотношения

Настоящий стандарт распространяется на психрометрические таблицы, предназначенные для определения значений одной или нескольких величин, характеризующих влажность воздуха и других газовых смесей, по значениям температуры воздуха (или другой газовой смеси) и температуры смоченного термометра, полученным в результате измерений влажности психрометрическим (испарительно-температурным) методом в диапазоне температур минус 20 - плюс 90 °С, относительной влажности 1-100%, пределом допускаемой погрешности определяемых величин, эквивалентным интервалу дискретизации температуры смоченного и сухого термометров.

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

Стандарт устанавливает состав, построение, содержание таблиц, основные расчетные соотношения и значения входящих в них параметров.

Стандарт соответствует "Техническому регламенту Всемирной метеорологической организации (ВМО) N 49.08.2", рекомендациям Международной комиссии по свойствам водяного пара в части, касающейся зависимости давления насыщенного водяного пара от температуры, а также определения термодинамической температуры точки росы и рекомендациям ВМО N 8 Т.Р.З в части, касающейся вида психрометрической формулы и вычисления относительной влажности и дефицита насыщения водяного пара по отношению к воде.

ГОСТ 28498-90Термометры жидкостные стеклянные. Общие технические требования. Методы испытаний

действующий Настоящий стандарт распространяется на жидкостные стеклянные термометры и устанавливает значения основных показателей, характеризующих технический уровень и качество термометров, а также методы контроля и испытаний термометров.

Настоящий стандарт не распространяется на максимальные, минимальные, метастатические, метеорологические, электроконтактные и прецизионные термометры с равноделенной шкалой

ГОСТ 8.558-93Государственная система обеспечения единства измерений. Государственная поверочная схема для средств измерений температуры

Настоящий стандарт распространяется на государственную поверочную схему для средств измерений температуры и устанавливает порядок передачи размера единицы температуры - кельвина (К) [градуса Цельсия (град. С) ] от первичного эталона единицы температуры при помощи вторичных эталонов и образцовых средств измерений рабочим средствам измерений с указанием погрешностей и основных методов поверки.

ГОСТ 18321-73Статистический контроль качества. Методы случайного отбора выборок штучной продукции

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

ГОСТ 427-75 ЛИНЕЙКИ ИЗМЕРИТЕЛЬНЫЕ МЕТАЛЛИЧЕСКИЕ

Настоящий стандарт распространяется на измерительные металлические линейки с пределами измерений до 3000 мм, с ценой деления 1 мм.Стандарт не распространяется на линейки специального назначения.

ГОСТ 215-73 Термометры ртутные стеклянные лабораторные. Технические условия

ГОСТ 8.279-78 Государственная система обеспечения единства измерений. Термометры стеклянные жидкостные рабочие. Методика поверки

действующий Настоящий стандарт распространяется на рабочие жидкостные стеклянные термометры по ГОСТ 27544-87, ГОСТ 400-80, ГОСТ 13646-68, а также термометры переменного наполнения типа ТЛ-1(за исключением бытовых термометров) и устанавливает методику их первичной и периодической поверок.

Настоящий стандарт не распространяется на бытовые термометры и термометры, конструкция которых не допускает погружения их чувствительного элемента в жидкостные термостаты

ГОСТ 19.701-90Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.

действующий Настоящий стандарт распространяется на условные обозначения (символы) в схемах алгоритмов, программ, данных и систем и устанавливает правила выполнения схем, используемых для отображения различных видов задач обработки данных и средств их решения.

Стандарт не распространяется на форму записей и обозначений, помещаемых внутри символов или рядом с ними и служащих для уточнения выполняемых ими функций

Выводы

В данной главе мы рассмотрели классификацию гигрометров по принципу работы:

)емкостные;

)термисторные;

)оптические;

)резистивные.

По принципу получения данных:

)волостной;

)психометрический;

)весовой;

)конденсациооный;

)электолетический;

)пленочный.

Так же рассмотрели ГОСТы, по которым проводится поверка гигрометров, получение данных о влажности воздуха. В следующей главе мы ознакомимся с методикой разработки алгоритма автоматизированной системы определения относительной влажности. Рассмотрим типы данных, которые используются в программе, изучим структуру построения программы в языке Паскаль и тем самым овладеем необходимыми навыками для создания программы.

Глава 2. Созданиеметодики разработки алгоритма автоматизированной системы определения относительной влажности

Разработка методики идет по ГОСТу 19.701-90 Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.

.1 Основные понятия алгоритмического языка

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

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

Символы языка-это основные неделимые знаки, в терминах которых пишутся все тексты на языке.

Элементарные конструкции -это минимальные единицы языка, имеющие самостоятельный смысл. Они образуются из основных символов языка.

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

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

Действия, заданные операторами, выполняются над данными. Предложения алгоритмического языка, в которых даются сведения о типах данных, называются описаниями или неисполняемыми операторами.

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

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

металингвистическая символика, называемая Бэкуса-Наура формулами;

синтаксические диаграммы;

скобочные конструкции.

Мы в последующем изложении будем пользоваться неформальным способом.

2.2 Основные символы

Основные символы языка-буквы, цифры и специальные символы-составляют его алфавит. ТУРБО ПАСКАЛЬ включает следующий набор основных символов:

латинских строчных и 26 латинских прописных букв:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Zb c d e f g h i j k l m n o p q r s t u v w x y z

_ подчеркивание

цифр:

1 2 3 4 5 6 7 8 9

знаки операций:

+ - * / = <><><= >= := @

ограничители:

. , ' ( ) [ ] (. .) { } (* *) .. : ;

спецификаторы:

^ # $

служебные (зарезервированные) слова:

ABSOLUTE EXPORTS LIBRARY SETEXTERNAL MOD SHLFAR NAME SHRFILE NIL STRINGFOR NEAR THENFORWARD NOT TOFUNCTION OBJECT TYPEGOTO OF UNITIF OR UNTILIMPLEMENTATION PACKED USESIN PRIVATE VARINDEX PROCEDURE VIRTUALINHERITED PROGRAM WHILEINLINE PUBLIC WITHINTERFACE RECORD XORINTERRUPT REPEAT

EXPORT LABEL RESIDENT

Кроме перечисленных, в набор основных символов входит пробел. Пробелы нельзя использовать внутри сдвоенных символов и зарезервированных слов.

.3 Элементарные конструкции

Элементарные конструкции языка ПАСКАЛЬ включают в себя имена, числа и строки.

Имена (идентификаторы) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты. Имя - это последовательность букв и цифр, начинающаяся с буквы. В именах может использоваться символ _ подчеркивание. Имя может содержать произвольное количество символов, но значащими являются 63 символа.

Не разрешается в языке ПАСКАЛЬ использовать в качестве имен служебные слова и стандартные имена, которыми названы стандартные константы, типы, процедуры, функции и файлы.

Для улучшения наглядности программы в нее могут вставляться пробелы. По крайней мере один пробел требуется вставить между двумя последовательными именами, числами или служебными и стандартными именами. Пробелы нельзя использовать внутри имен и чисел.

Примеры имен языка ПАСКАЛЬ:

A b12 r1m SIGMA gamma I80_86

Числа в языке ПАСКАЛЬ обычно записываются в десятичной системе счисления. Они могут быть целыми и действительными. Положительный знак числа может быть опущен. Целые числа записываются в форме без десятичной точки, например:

-45 8954 +483

Действительные числа записываются в форме с десятичной точкой или в форме с использованием десятичного порядка, который изображается буквой Е:

.6 0.65 -0.018 4.0 5Е12 -1.72Е9 73.1Е-16

ПАСКАЛЬ допускает запись целых чисел и фрагментов действительных чисел в форме с порядком в шестнадцатеричной системе счисления:

$7F $40 $ABC0

Строки в языке ПАСКАЛЬ - это последовательность символов, записанная между апострофами. Если в строке в качестве содержательного символа необходимо употребить сам апостроф, то следует записать два апострофа. Примеры строк:

'СТРОКА' 'STRING' 'ПРОГРАММА' 'АД''ЮТАНТ'

.4 Концепция типа для данных

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

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

В языке ПАСКАЛЬ существует правило: тип явно задается в описании переменной или функции, которое предшествует их использованию. Концепция типа языка ПАСКАЛЬ имеет следующие основные свойства:

любой тип данных определяет множество значений, к которому принадлежит константа, которые может принимать переменная или выражение, или вырабатывать операция или функция;

тип значения, задаваемого константой, переменной или выражением, можно определить по их виду или описанию;

каждая операция или функция требует аргументов фиксированного типа и выдает результат фиксированного типа. Отсюда следует, что транслятор может использовать информацию о ти- пах для проверки вычислимости и правильности различных конструкций. Тип определяет:

возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;

внутреннюю форму представления данных в ЭВМ;

операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.

Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня. В языке ПАСКАЛЬ существуют скалярные и структурированные типы данных.

К скалярным типам относятся стандартные типы и типы, определяемые пользователем.

Стандартные типы включают целые, действительные, символьный, логические и адресный типы. Типы, определяемые пользователем, - перечисляемый и интервальный.

Структурированные типы имеют четыре разновидности: массивы, множества, записи и файлы.

Кроме перечисленных, TURBO PASCAL включает еще два типа - процедурный и объектный.

Из группы скалярных типов можно выделить порядковые типы, которые характеризуются следующими свойствами:

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

к любому порядковому типу может быть применена стандартная функция Ord, которая в качестве результата возвращает порядковый номер конкретного значения в данном типе;

к любому порядковому типу могут быть применены стандартные функции Pred и Succ, которые возвращают предыдущее и последующее значения соответственно;

к любому порядковому типу могут быть применены стандартные функции Low и High, которые возвращают наименьшее и наибольшее значения величин данного типа.

В языке ПАСКАЛЬ введены понятия эквивалентности и совместимости типов. Два типа Т1 и Т2 являются эквивалентными (идентичными), если выполняется одно из двух условий:

Т1 и Т2 представляют собой одно и то же имя типа;

тип Т2 описан с использованием типа Т1 с помощью равенства или последовательности равенств. Например:= Integer;= T1;= T2;

Менее строгие ограничения определены совместимостью типов. Например, типы являются совместимыми, если:

они эквивалентны;

являются оба либо целыми, либо действительными;

один тип - интервальный, другой - его базовый;

оба интервальные с общим базовым;

один тип - строковый, другой - символьный.

В ТУРБО ПАСКАЛЬ ограничения на совместимость типов можно обойти с помощью приведения типов. Приведение типов позволяет рассматривать одну и ту же величину в памяти ЭВМ как принадлежащую разным типам. Для этого используется конструкция

Имя_Типа(переменная или значение).

Напрмер,('Z')

даст значение 22, поскольку целое число 534 имеет тип Word и занимает два байта, а тип Byte занимает один байт, и в процессе приведения старший байт будет отброшен.

.5 Стандартные типы данных

К стандартным относятся целые, действительные, логические, символьный и адресный типы.

ЦЕЛЫЕ типы определяют константы, переменные и функции, значения которых реализуются множеством целых чисел, допустимых в данной ЭВМ.

тип    диапазон значений      требуемая память        -128 .. 127  1 байт        -32768 .. 32767         2 байта       -2147483648 .. 2147483647  4 байта       0 .. 255       1 байт        0 .. 65535         2 байта

Над целыми операндами можно выполнять следующие арифметические операции: сложение, вычитание, умножение, деление, получение остатка от деления. Знаки этих операций:

+ - * div mod

Результат арифметической операции над целыми операндами есть вели- чина целого типа. Результат выполнения операции деления целых величин есть целая часть частного. Результат выполнения операции получения остатка от деления - остаток от деления целых. Например:

div 2 = 8, 3 div 5 = 0.

mod 2 = 1, 3 mod 5 = 3.перации отношения, примененные к целым операндам, дают результат логического типа TRUE или FALSE ( истина или ложь ).

В языке ПАСКАЛЬ имеются следующие операции отношения: равенство =, неравенство <>, больше или равно >=, меньше или равно <=, больше >, меньше < .

К аргументам целого типа применимы следующие стандартные (встроенные) функции, результат выполнения которых имеет целый тип:

Abs(X), Sqr(X), Succ(X), Pred(X),

и которые определяют соответственно абсолютное значение Х, Х в квадрате, Х+1, Х-1.

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

Sin(X), Cos(X), ArcTan(X), Ln(X), Exp(X), Sqrt(X).

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

Результат выполнения функции проверки целой величины на нечетность Odd(X) имеет значение истина, если аргумент нечетный, и значение ложь, если аргумент четный:

X=5 Odd(X)=TRUE , X=4 Odd(X)=FALSE.

Для быстрой работы с целыми числами определены процедуры:

Inc(X) X:=X+1(X,N) X:=X+N(X) X:=X-1(X,N) X:=X-N

ДЕЙСТВИТЕЛЬНЫЕ типы определяет те данные, которые реализуются подмножеством действительных чисел, допустимых в данной ЭВМ.

Тип   Диапазон значений      Количество цифр мантиссы  Требуемая память (байт)

Real  2.9e-39 .. 1.7e+38         11     6       1.5e-45 .. 3.4e+38         7       4       5.0e-324 .. 1.7e+308    15     8       3.4e-4932 .. 1.1e+4932 19     10     -9.2e+18 .. 9.2e+18       19     8

Тип Real определен в стандартном ПАСКАЛЕ и математическим сопроцессором не поддерживается.

Остальные действительные типы определены стандартом IEEE 457 и реализованы на всех современных компьютерах.

Для их использования при наличии сопроцессора или при работе на ЭВМ типа 80486 необходимо компилировать программу с ключом {$ N+}, а при отсутствии сопроцессора - с ключами {$N-,E+}.

Тип Comp хотя и относится к действительным типам, хранит только длинные целые значения.

Над действительными операндами можно выполнять следующие арифметические операции, дающие действительный результат:

сложение + , вычитание - , умножение * , деление / .

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

Один из операндов, участвующих в этих операциях, может быть целым.

К действительным аргументам применимы функции, дающие действительный результат:

Abs(X), Sqr(X), Sin(X), Cos(X), ArcTan(X),(X), Exp(X), Sqrt(X),Frac(X), Int(X),Pi.

Функция Frac(X) возвращает дробную часть X, функция Int(X) - целую часть X.

Безаргументная функция Pi возвращает значение числа Пи действительного типа.

К аргументам действительного типа применимы также функции

Trunc(X) и Round(X),

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

ЛОГИЧЕСКИЙ тип (Boolean) определяет те данные, которые могут принимать логические значения TRUE и FALSE.

К булевским операндам применимы следующие логические операции:and or xor.

Логический тип определен таким образом, что FALSE < TRUE. Это позволяет применять к булевским операндам все операции отношения.

В ТУРБО ПАСКАЛЬ введены еще разновидности логического типа: ByteBool, WordBool и LongBool, которые занимают в памяти ЭВМ один, два и четыре байта соответственно.

СИМВОЛЬНЫЙ тип (Char) определяет упорядоченную совокупность символов, допустимых в данной ЭВМ. Значение символьной переменной или константы - это один символ из допустимого набора.

Символьная константа может записываться в тексте программы тремя способами:

как один символ, заключенный в апострофы, например:

'A' 'a' 'Ю' 'ю';

с помощью конструкции вида #K, где K - код соответствующего символа, при этом значение K должно находиться в пределах 0..255;

с помощью конструкции вида ^C, где C - код соответствующего управляющего символа, при этом значение C должно быть на 64 больше кода управляющего символа.

К величинам символьного типа применимы все операции отношения.

Для величин символьного типа определены две функции преобразования(C) Chr(K).

Первая функция определяет порядковый номер символа С в наборе сим- волов, вторая определяет по порядковому номеру К символ, стоящий на К-ом месте в наборе символов. Порядковый номер имеет целый тип.

К аргументам символьного типа применяются функции, которые определяют предыдущий и последующий символы:

Pred(C) Succ(C). Pred('F') = 'E' ; Succ('Y') = 'Z' .

При отсутствии предыдущего или последующего символов значение соответствующих функций не определено.

Для литер из интервала 'a'..'z' применима функция UpCase(C), которая переводит эти литеры в верхний регистр 'A'..'Z'.

АДРЕСНЫЙ тип (Pointer) определяет переменные, которые могут содержать значения адресов данных или фрагментов программы. Для хранения адреса требуются два слова (4 байта), одно из них определяет сегмент, второе - смещение.

Работа с адресными переменными (указателями) будет рассмотрена позже, сейчас отметим, что для получения значения адреса какой-либо переменной введена унарная операция @.

.6 Константы

Тип констант в языке ПАСКАЛЬ определяется по их виду: константы целого типа - это целые числа, не содержащие десятичной точки, константы действительного типа - действительные числа, логические константы - логические значения TRUE и FALSE, символьные константы - либо строки длиной в один символ, либо конструкции вида #K или ^K.

Язык ПАСКАЛЬ допускает использовать синонимы для обозначения констант, в этом случае текст программы содержит раздел описания констант, например: {}

.7 Переменные

ИНИЦИАЛИЗАЦИЯ ПЕРЕМЕННЫХ

Тип переменных определяется пользователем в разделе описания переменных:{}

В настоящее время в профессиональном программировании принято записывать имена переменных с использованием так называемой венгерской нотации.

Венгерская нотация - это соглашение о наименованиях переменных и функций. Соглашение широко используется при программировании на языках PASCAL, C и в среде WINDOWS.

Венгерская нотация основывается на следующих принципах:

имена переменных и функций должны содержать префикс, описывающий их тип;

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

Префиксы записываются малыми буквами, первая буква каждого слова заглавная, префиксы и слова записываются либо слитно, либо через сим- вол _ (подчеркивание).

Префикс Типкоординаты символа или точки на экране

by     Byte  Shortint      Integer        Word Longint       Real  Single         Double       Extended         Comp         Char  Boolean

p       Pointer,у

Для величин структурированного типа могут быть использованы следующие префиксы:

a        Array         String         Stringz        Set    Record        File    Text

Например:, arVector[1..20], sName, iCount

В откомпилированной программе для всех переменных отведено место в памяти, и всем переменным присвоены нулевые значения.

Для задания начальных значений переменным (инициализации переменных) TURBO PASCAL позволяет присваивать начальные значения переменным одновременно с их описанием. Для этого используется конструкция

имя переменной: тип = значение;

которая должна быть размещена в разделе описания констант, например:rWeight: Real = 0.4;

.8 Выражения

Выражение состоит из констант, переменных, указателей функций, знаков операций и скобок. Выражение задает правило вычисления некоторого значения. Порядок вычисления определяется старшинством (приоритетом) содержащихся в нем операций. В языке ПАСКАЛЬ принят следующий приоритет операций:

арная операция not, унарный минус -, взятие адреса @

операции типа умножения * / div mod and shl shr

операции типа сложения + - or xor

операции отношения = <><><= >= in

Выражения входят в состав многих операторов языка ПАСКАЛЬ, а также могут быть аргументами встроенных функций.

.9 Оператор присваивания

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

2.10 Операторы ввода и вывода

Рассмотрим организацию ввода и вывода данных с терминального устройства. Терминальное устройство - это устройство, с которым работает пользователь, обычно это экран (дисплей) и клавиатура.

Для ввода и вывода данных используются стандартные процедуры ввода и вывода Read и Write, оперирующие стандартными последовательными файлами INPUT и OUTPUT.

Эти файлы разбиваются на строки переменной длины, отделяемые друг от друга признаком конца строки. Конец строки задается нажатием клавиши ENTER.

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

Read(A1,A2,...AK);(A1,A2,...AK);

ReadLn;

Первый из них реализует чтение К значений исходных данных и присваивание этих значений переменным А1, А2, ..., АК. Второй оператор реализует чтение К значений исходных данных, пропуск остальных значений до начала следующей строки, присваивание считанных значений переменным А1, А2, ..., АК. Третий оператор реализует пропуск строки исходных данных.

При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам. Чтение исходных данных логического типа в языке ПАСКАЛЬ недопустимо.

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

rV, rS: Real;, iJ: Integer;

chC, chD: Char;

................(rV, rS, iW, iJ);

Read(chC, chD);

Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter.

Для вывода результатов работы программы на экран используются операторы:

Write(A1,A2,...AK);(A1,A2,...AK);

WriteLn;

Первый из этих операторов реализует вывод значений переменных А1, А2,...,АК в строку экрана. Второй оператор реализует вывод значений переменных А1, А2, ..., АК и переход к началу следующей строки. Третий оператор реализует пропуск строки и переход к началу следующей строки.

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

Вывод каждого значения в строку экрана происходит в соответствии с шириной поля вывода, определяемой конкретной реализацией языка.

Форма представления значений в поле вывода соответствует типу переменных и выражений: величины целого типа выводятся как целые десятичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде сим- волов, логического типа - в виде логических констант TRUE и FALSE.

Оператор вывода позволяет задать ширину поля вывода для каждого элемента списка вывода. В этом случае элемент списка вывода имеет вид А:К, где А - выражение или строка, К - выражение либо константа целого типа. Если выводимое значение занимает в поле вывода меньше позиций, чем К, то перед этим значением располагаются пробелы. Если выводимое значение не помещается в ширину поля К, то для этого значения будет отведено необходимое количество позиций. Для величин действительного типа элемент списка вывода может иметь вид А:К:М, где А - переменная или выраже- ние действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой.

Пример записи операторов вывода:

. . . . . . . . . . . .rA, rB: Real; iP,iQ:Integer;

bR, bS: Boolean; chT, chV, chU, chW: Char;

. . . . . . . . . . . .(rA, rB:10:2);(iP, iQ:8);(bR, bS:8);(chT, chV, chU, chW);

2.11 Структура программы

Программа на языке ПАСКАЛЬ состоит из заголовка, разделов описаний и раздела операторов.

Заголовок программы содержит имя программы, например:PRIM;

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

Раздел описания модулей определяется служебным словом USES и содержит имена подключаемых модулей (библиотек) как входящих в состав системы TURBO PASCAL, так и написанных пользователем. Раздел описания модулей должен быть первым среди разделов описаний. Имена модулей отделяются друг от друга запятыми:CRT, Graph;

Любой оператор в программе может быть помечен меткой. В качестве метки используются произвольные целые без знака, содержащие не более четырех цифр, либо имена. Метка ставится перед оператором и отделяется от него двоеточием. Все метки, используемые в программе, должны быть перечислены в разделе описания меток, например:3, 471, 29, Quit;

Описание констант позволяет использовать имена как синонимы констант, их необходимо определить в разделе описаний констант:K= 1024; MAX= 16384;

В разделе описания переменных необходимо определить тип всех переменных, используемых в программе:

var P,Q,R: Integer;,B: Char;,F2: Boolean;

Описание типов, процедур и функций будет рассмотрено ниже. Отдельные разделы описаний могут отсутствовать, но следует помнить, что в ПАСКАЛЬ - программе должны быть обязательно описаны все компоненты программы.

Раздел операторов представляет собой составной оператор, который содержит между служебными словами.......end

последовательность операторов. Операторы отделяются друг от друга символом ;.

Текст программы заканчивается символом точка.

Кроме описаний и операторов ПАСКАЛЬ - программа может содержать комментарии, которые представляют собой произвольную последовательность символов, расположенную между открывающей скобкой комментариев

{

и закрывающей скобкой комментариев

}

.

Текст ПАСКАЛЬ - программы может содержать ключи компиляции, которые позволяют управлять режимом компиляции. Синтаксически ключи компиляции записываются как комментарии. Ключ компиляции содержит символ $ и букву-ключ с последующим знаком + (включить режим) или - (выключить режим). Например:

{$E+} - эмулировать математический сопроцессор; {$F+} - формировать дальний тип вызова процедур и функций; {$N+} - использовать математический сопроцессор; {$R+} - проверять выход за границы диапазонов.

Некоторые ключи компиляции могут содержать параметр, например:

{$I имя файла}

включить в текст компилируемой программы названный файл.

Выводы



Глава 3. Практическая часть

.1 Термометр-гигрометр психрометрический для точного измерения температуры и относительной влажности в помещении ВИТ-1

Термометр-гигрометр для точного измерения температуры и относительной влажности воздуха в помещении ВИТ-1.

Эту модель более предпочтительно использовать, если температура в месте установки прибора в течение всего периода измерений относительной влажности не превышает +25 °C (например, летом). Если температура может быть выше +25 °C, используйте ВИТ-2 <#"871359.files/image010.gif">

Рисунок 3.2

На главном поле программы пользователю показывается, в каком диапазоне работает гигрометр ВИТ-1.

)Ввод данных

Ввод данных происходит по принципу условий описанных на языке паскаль (‘Введите T -сухого градусника ’);

{Приглашение ввести значение переменной К}(K);

{Считывание значения, введенного с клавиатуры, в переменную c именем K} (‘влажность = ’, K);

{Вывод на экран значения введенной переменной K}

{Любая команда в Паскале завершается точкой с запятой.} .

{Begin и End обозначают начало и конец, какого либо программного блока. End с точкой - конец программы.}

Рисунок 3.3

Для ввода температуры сухого градусника нужно внести показание термометра в указанное поле.

)Ввод данных(‘Введите T -влажного градусника ’);

{Приглашение ввести значение переменной Е}(е);

{Считывание значения, введенного с клавиатуры, в переменную c именем K} (‘Это е = ’, е);

{Вывод на экран значения введенной переменной K}

{Любая команда в Паскале завершается точкой с запятой.} .

{Begin и End обозначают начало и конец, какого либо программного блока. End с точкой - конец программы.}

Рисунок 3.4

Для ввода температуры мокрого градусника нужно внести показание термометра в указанное поле.

Процесс вычисления;.Title := 'Атоматический АГЖ'; задаем название программы.SetSize(500,350); описываем размеры окна .CenterOnScreen;

пример.Value := 19.5; описание 1 переменной в окне .Value := 20; описание 2 переменой в окне

ok.Click += MyClick;.Dock := DockStyle.Left;.Width := 150;:= MainForm;:= new TextBox;

tb.Dock := DockStyle.Fill;.AddLine('Диапазон измерения относительной влажности в зависимости');.AddLine('от температур от 20% до 90% ');.AddLine('При температуре: от 5 °C до +25 °C. ');.AddLine('Введите температуру градусников');;

После того когда все поля заполнены приступаем к вычислению влажности для этого нужно нажать на кнопку «Вычислить»

Вывод результатов.(K);

{Считывание значения, введенного с клавиатуры, в переменную c именем K} (‘Это К = ’, K);

{Вывод на экран значения введенной переменной K}

{Любая команда в Паскале завершается точкой с запятой.} .

{Begin и End обозначают начало и конец, какого либо программного блока. End с точкой - конец программы.}var h :

Рисунок 3.5 вывод результатов расчета

После того как была нажата кнопка программа вычисляет относительную влажность воздуха и появляются данные вычисления. Для того что бы повторить вычисление требуется снова заполнить поля и нажать кнопку «вычислить»

В результате мы получаем следующий алгоритм автоматизированного расчета влажности с помощью гигрометра ВИТ-1.



Выводы

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

Заключение

В ходе проведенной работы

.Рассмотрена история создания Гигрометров;

. Проведена классификация гигрометров;

.Изучен принцип их действия;

. Ознакомление с методикой разработки алгоритма;

. Создана программа на языке Паскаль для автоматизированного вычисления относительной влажности;

Выбрал методические рекомендации для создание программ на языке Паскаль .

. создан алгоритм для автоматизированного расчета относительной влажности с помощью гигрометра ВИТ-1.

. Создана автоматизированная программа « Психометрический гигрометр ВИТ-1» которая с помощью введённых данных температур вычисляет относительную влажность помещения со стабильной точностью измерений. Благодаря этой программе вычисление относительной влажности значительно упростилось, и не затрачивают много времени и сил.

Таким образом, цели и задачи курсовой работы достигнуты.

гигрометр влажность автоматизированный алгоритм

Библиографический список

1. Стернзат М. С., Метеорологические приборы и наблюдения, Л., 1968, гл. 4; Усольцев В. А., Измерение влажности воздуха, Л., 1959.

. П. Лакур, Я. Аппель. Историческая физика, том 2. Одесса, 1908. - 432 стр.

. Прибор для определения степени влажности воздуха. Словарь иностранных слов, вошедших в состав русского языка. Чудинов А.Н., 1910. ГИГРОМЕТР греч.; этимологию см. пред. слова. Прибор для определении степени влажности

. М.А.Берлинер. Измерение влажности. Изд. 2-е, перераб. и доп. - М.: Энергия, 1973, с.230.

. В.А.Зайцев, А.А.Ледохович, Г.Т.Никандрова. Влажность воздуха и ее измерение. - Л.: Гидрометеоиздат, 1974, с.93.

. Гигрометр. Патент РФ №1827610, G01N 25/68. Опубл. 15.07.93. Бюл. №26.

. Аш.Ж. и соавторы "Датчики измерительных систем": в двух книгах. кн.2 пер. с франц.: нир, 1992 - 480стр.

Нормативные документы

. ГОСТ 8.524-85 Государственная система обеспечения единства измерений. Таблицы психрометрические. Построение, содержание, расчетные соотношения

. ГОСТ 28498-90 Термометры жидкостные стеклянные. Общие технические требования. Методы испытаний

. ГОСТ 8.558-93 Государственная система обеспечения единства измерений. Государственная поверочная схема для средств измерений температуры

. ГОСТ 18321-73 Статистический контроль качества. Методы случайного отбора выборок штучной продукции

. ГОСТ 427-75 ЛИНЕЙКИ ИЗМЕРИТЕЛЬНЫЕ МЕТАЛЛИЧЕСКИЕ

. ГОСТ 215-73 Термометры ртутные стеклянные лабораторные. Технические условия

. ГОСТ 8.279-78 Государственная система обеспечения единства измерений. Термометры стеклянные жидкостные рабочие. Методика поверки



ПриложениеА

Текст программы;(a,b: real): string;:= '';:= a;:= a-b;h : string;(x>=5) and(x<26) and(y=0) then h := '100%';(x>=5) and(x<6) and(y=0.5) then h := '91%';(x>=6) and(x<9) and(y=0.5) then h := '92%';(x>=9) and(x<13) and(y=0.5) then h := '93%';(x>=13) and(x<17) and(y=0.5) then h := '94%';(x>=18) and(x<26) and(y=0.5) then h := 'выше 96%';(x=17) and(y=0.5) then h := '95%';(x>=5) and(x<6) and(y=1) then h := '83%';(x>=6) and(x<8) and(y=1) then h := '84%';(x=8) and(y=1) then h := '85%';(x>=9) and(x<11) and(y=1) then h := '86%';(x>=11) and(x<13) and(y=1) then h := '87%';(x>=13) and(x<16) and(y=1) then h := '88%';(x>=16) and(x<18) and(y=1) then h := '89%';(x>=18) and(x<22) and(y=1) then h := '90%';(x>=22) and(x<26) and(y=1) then h := '91%';(x=5) and(y=1.5) then h := '75%';(x=6) and(y=1.5) then h := '76%';(x=7) and(y=1.5) then h := '77%';(x=8) and(y=1.5) then h := '78%';(x>=9) and(x<11) and(y=1.5) then h := '79%';(x=11) and(y=1.5) then h := '80%';(x>=13) and(x<15) and(y=1.5) then h := '82%';(x=12) and(y=1.5) then h := '81%';(x>=15) and(x<17) and(y=1.5) then h := '83%';(x>=17) and(x<19) and(y=1.5) then h := '84%';(x>=19) and(x<23) and(y=1.5) then h := '85%';(x=23) and(y=1.5) then h := '86%';(x>=23) and(x<26) and(y=1.5) then h := '87%';(x>=5) and(y=2) then h := '66%';(x=6) and(y=2) then h := '67%';(x=7) and(y=2) then h := '69%';(x=8) and(y=2) then h := '70%';(x=9) and(y=2) then h := '71%';(x=10) and(y=2) then h := '73%';(x=11) and(y=2) then h := '74%';(x=12) and(y=2) then h := '75%';(x=13) and(y=2) then h := '76%';(x=14) and(y=2) then h := '76%';(x=15) and(y=2) then h := '77%';(x=16) and(y=2) then h := '78%';(x=17) and(x=18) and(y=2) then h := '79%';(x=19) and(y=2) then h := '80%';(x=20) and(x=21) and(y=2) then h := '81%';(x=22) and(y=2) then h := '82%';(x=23) and(y=2) then h := '82%';(x=24) and(y=2) then h := '83%';(x=25) and(y=2) then h := '83%';(x=5) and(y=2.5) then h := '58%';(x=6) and(y=2.5) then h := '60%';(x=7) and(y=2.5) then h := '62%';(x=8) and(y=2.5) then h := '63%';(x=9) and(y=2.5) then h := '65%';(x=10) and(y=2.5) then h := '66%';(x=11) and(y=2.5) then h := '67%';(x=12) and(y=2.5) then h := '69%';(x=13) and(y=2.5) then h := '70%';(x=14) and(y=2.5) then h := '71%';(x=15) and(y=2.5) then h := '72%';(x=16) and(y=2.5) then h := '73%';(x=17) and(y=2.5) then h := '74%';(x=18) and(y=2.5) then h := '74%';(x=19) and(y=2.5) then h := '75%';(x=20) and(y=2.5) then h := '76%';(x=21) and(y=2.5) then h := '77%';(x=22) and(y=2.5) then h := '77%';(x=23) and(y=2.5) then h := '78%';(x=24) and(y=2.5) then h := '78%';(x=25) and(y=2.5) then h := '79%';(x=5) and(y=3) then h := '50%';(x=6) and(y=3) then h := '52%';(x=7) and(y=3) then h := '54%';(x=8) and(y=3) then h := '56%';(x=9) and(y=3) then h := '58%';(x=10) and(y=3) then h := '60%';(x=11) and(y=3) then h := '61%';(x=12) and(y=3) then h := '63%';(x=13) and(y=3) then h := '64%';(x=14) and(y=3) then h := '65%';(x=15) and(y=3) then h := '66%';(x=16) and(y=3) then h := '68%';(x=17) and(y=3) then h := '69%';(x=18) and(y=3) then h := '70%';(x=19) and(y=3) then h := '70%';(x=20) and(y=3) then h := '71%';(x=21) and(y=3) then h := '72%';(x=22) and(y=3) then h := '73%';(x=23) and(y=3) then h := '74%';(x=24) and(y=3) then h := '74%';(x=25) and(y=3) then h := '75%';(x=5) and(y=3.5) then h := '42%';(x=6) and(y=3.5) then h := '45%';(x=7) and(y=3.5) then h := '47%';(x=8) and(y=3.5) then h := '49%';(x=9) and(y=3.5) then h := '51%';(x=10) and(y=3.5) then h := '53%';(x=11) and(y=3.5) then h := '55%';(x=12) and(y=3.5) then h := '57%';(x=13) and(y=3.5) then h := '58%';(x=14) and(y=3.5) then h := '60%';(x=15) and(y=3.5) then h := '61%';(x=16) and(y=3.5) then h := '63%';(x=17) and(y=3.5) then h := '64%';(x=18) and(y=3.5) then h := '65%';(x=19) and(y=3.5) then h := '66%';(x=20) and(y=3.5) then h := '67%';(x=21) and(y=3.5) then h := '68%';(x=22) and(y=3.5) then h := '69%';(x=23) and(y=3.5) then h := '70%';(x=24) and(y=3.5) then h := '70%';(x=25) and(y=3.5) then h := '71%';(x=5) and(y=4) then h := '34%';(x=6) and(y=4) then h := '37%';(x=7) and(y=4) then h := '40%';(x=8) and(y=4) then h := '42%';(x=9) and(y=4) then h := '45%';(x=10) and(y=4) then h := '47%';(x=11) and(y=4) then h := '49%';(x=12) and(y=4) then h := '51%';(x=13) and(y=4) then h := '53%';(x=14) and(y=4) then h := '54%';(x=15) and(y=4) then h := '56%';(x=16) and(y=4) then h := '57%';(x=17) and(y=4) then h := '59%';(x=18) and(y=4) then h := '60%';(x=19) and(y=4) then h := '61%';(x=20) and(y=4) then h := '63%';(x=21) and(y=4) then h := '64%';(x=22) and(y=4) then h := '64%';(x=23) and(y=4) then h := '65%';(x=24) and(y=4) then h := '66%';(x=25) and(y=4) then h := '67%';(x=5) and(y=4.5) then h := '26%';(x=6) and(y=4.5) then h := '30%';(x=7) and(y=4.5) then h := '33%';(x=8) and(y=4.5) then h := '36%';(x=9) and(y=4.5) then h := '38%';(x=10) and(y=4.5) then h := '41%';(x=11) and(y=4.5) then h := '43%';(x=12) and(y=4.5) then h := '45%';(x=13) and(y=4.5) then h := '47%';(x=14) and(y=4.5) then h := '49%';(x=15) and(y=4.5) then h := '51%';(x=16) and(y=4.5) then h := '52%';(x=17) and(y=4.5) then h := '54%';(x=18) and(y=4.5) then h := '55%';(x=19) and(y=4.5) then h := '57%';(x=20) and(y=4.5) then h := '58%';(x=21) and(y=4.5) then h := '59%';(x=22) and(y=4.5) then h := '61%';(x=23) and(y=4.5) then h := '62%';(x=24) and(y=4.5) then h := '62%';(x=25) and(y=4.5) then h := '63%';(x=5) and(y=5) then h := '19%';(x=6) and(y=5) then h := '22%';(x=7) and(y=5) then h := '26%';(x=8) and(y=5) then h := '29%';(x=9) and(y=5) then h := '32%';(x=10) and(y=5) then h := '34%';(x=11) and(y=5) then h := '37%';(x=12) and(y=5) then h := '40%';(x=13) and(y=5) then h := '42%';(x=14) and(y=5) then h := '44%';(x=15) and(y=5) then h := '46%';(x=16) and(y=5) then h := '48%';(x=17) and(y=5) then h := '49%';(x=18) and(y=5) then h := '51%';(x=19) and(y=5) then h := '52%';(x=20) and(y=5) then h := '54%';(x=21) and(y=5) then h := '55%';(x=22) and(y=5) then h := '56%';(x=23) and(y=5) then h := '58%';(x=24) and(y=5) then h := '59%';(x=25) and(y=5) then h := '60%';(x=5) and(y=5.5) then h := '14%';(x=6) and(y=5.5) then h := '15%';(x=7) and(y=5.5) then h := '19%';(x=8) and(y=5.5) then h := '22%';(x=9) and(y=5.5) then h := '25%';(x=10) and(y=5.5) then h := '28%';(x=11) and(y=5.5) then h := '31%';(x=12) and(y=5.5) then h := '34%';(x=13) and(y=5.5) then h := '36%';(x=14) and(y=5.5) then h := '39%';(x=15) and(y=5.5) then h := '41%';(x=16) and(y=5.5) then h := '43%';(x=17) and(y=5.5) then h := '45%';(x=18) and(y=5.5) then h := '47%';(x=19) and(y=5.5) then h := '48%';(x=20) and(y=5.5) then h := '50%';(x=21) and(y=5.5) then h := '51%';(x=22) and(y=5.5) then h := '52%';(x=23) and(y=5.5) then h := '54%';(x=24) and(y=5.5) then h := '55%';(x=25) and(y=5.5) then h := '56%';(x>=5) and (x<8) and(y=6) then h := 'меньше 16%';(x=8) and(y=6) then h := '16%';(x=9) and(y=6) then h := '19%';(x=10) and(y=6) then h := '22%';(x=11) and(y=6) then h := '26%';(x=12) and(y=6) then h := '28%';(x=13) and(y=6) then h := '31%';(x=14) and(y=6) then h := '33%';(x=15) and(y=6) then h := '36%';(x=16) and(y=6) then h := '38%';(x=17) and(y=6) then h := '40%';(x=18) and(y=6) then h := '42%';(x=19) and(y=6) then h := '44%';(x=20) and(y=6) then h := '45%';(x=21) and(y=6) then h := '47%';(x=22) and(y=6) then h := '48%';(x=23) and(y=6) then h := '50%';(x=24) and(y=6) then h := '51%';(x=25) and(y=6) then h := '52%';(x>=5) and(x<10) and(y=6.5) then h := 'меньше 16%';(x=10) and(y=6.5) then h := '16%';(x=11) and(y=6.5) then h := '20%';(x=12) and(y=6.5) then h := '23%';(x=13) and(y=6.5) then h := '26%';(x=14) and(y=6.5) then h := '28%';(x=15) and(y=6.5) then h := '31%';(x=16) and(y=6.5) then h := '33%';(x=17) and(y=6.5) then h := '35%';(x=18) and(y=6.5) then h := '37%';(x=19) and(y=6.5) then h := '39%';(x=20) and(y=6.5) then h := '41%';(x=21) and(y=6.5) then h := '43%';(x=22) and(y=6.5) then h := '44%';(x=23) and(y=6.5) then h := '46%';(x=24) and(y=6.5) then h := '48%';(x=25) and(y=6.5) then h := '49%';(x>=5) and (x<12) and(y=7) then h := 'меньше 16%';(x=12) and(y=7) then h := '18%';(x=13) and(y=7) then h := '20%';(x=14) and(y=7) then h := '23%';(x=15) and(y=7) then h := '26%';(x=16) and(y=7) then h := '29%';(x=17) and(y=7) then h := '31%';(x=18) and(y=7) then h := '33%';(x=19) and(y=7) then h := '35%';(x=20) and(y=7) then h := '37%';(x=21) and(y=7) then h := '39%';(x=22) and(y=7) then h := '41%';(x=23) and(y=7) then h := '42%';(x=24) and(y=7) then h := '44%';(x=25) and(y=7) then h := '45%';(x>=5) and (x<14) and(y=7.5) then h := 'меньше 16%';(x=14) and(y=7.5) then h := '18%';(x=15) and(y=7.5) then h := '21%';(x=16) and(y=7.5) then h := '24%';(x=17) and(y=7.5) then h := '27%';(x=18) and(y=7.5) then h := '29%';(x=19) and(y=7.5) then h := '31%';(x=20) and(y=7.5) then h := '33%';(x=21) and(y=7.5) then h := '35%';(x=22) and(y=7.5) then h := '37%';(x=23) and(y=7.5) then h := '39%';(x=24) and(y=7.5) then h := '40%';(x=25) and(y=7.5) then h := '42%';(x>=5) and (x<15) and(y=8) then h := 'меньше 16%';(x=15) and(y=8) then h := '18%';(x=16) and(y=8) then h := '20%';(x=17) and(y=8) then h := '22%';(x=18) and(y=8) then h := '24%';(x=19) and(y=8) then h := '27%';(x=20) and(y=8) then h := '29%';(x=21) and(y=8) then h := '31%';(x=22) and(y=8) then h := '33%';(x=23) and(y=8) then h := '35%';(x=24) and(y=8) then h := '37%';(x=25) and(y=8) then h := '38%';(x>=5) and (x<17) and(y=8.5) then h := 'меньше 18%';(x=17) and(y=8.5) then h := '19%';(x=18) and(y=8.5) then h := '21%';(x=19) and(y=8.5) then h := '23%';(x=20) and(y=8.5) then h := '25%';(x=21) and(y=8.5) then h := '28%';(x=22) and(y=8.5) then h := '30%';(x=23) and(y=8.5) then h := '32%';(x=24) and(y=8.5) then h := '33%';(x=25) and(y=8.5) then h := '35%';(x>=5) and (x<18) and(y=9) then h := 'меньше 16%';(x=18) and(y=9) then h := '17%';(x=19) and(y=9) then h := '19%';(x=20) and(y=9) then h := '22%';(x=21) and(y=9) then h := '24%';(x=22) and(y=9) then h := '26%';(x=23) and(y=9) then h := '28%';(x=24) and(y=9) then h := '30%';(x=25) and(y=9) then h := '32%';(x>=5) and (x<20) and(y=9.5) then h := 'меньше 17%';(x=20) and(y=9.5) then h := '18%';(x=21) and(y=9.5) then h := '21%';(x=22) and(y=9.5) then h := '23%';(x=23) and(y=9.5) then h := '25%';(x=24) and(y=9.5) then h := '27%';(x=25) and(y=9.5) then h := '29%';(x>=5)and (x<21) and(y=10) then h := 'меньше 16%';(x=21) and(y=10) then h := '17%';(x=22) and(y=10) then h := '19%';(x=23) and(y=10) then h := '21%';(x=24) and(y=10) then h := '24%';(x=25) and(y=10) then h := '26%';(x>=5) and (x<23) and(y=10.5) then h := 'меньше 17%';(x=23) and(y=10.5) then h := '18%';(x=24) and(y=10.5) then h := '20%';(x=25) and(y=10.5) then h := '22%';(x>=5) and (x<25) and(y=11) then h := 'меньше 18%';(x=25) and(y=11) then h := '19%';+= h;;:= new RealField('Т - сухогоградусника');:= new RealField('Т - мокрогоградусника');:= new Button('Вычислить');: TextBox;MyClick;.Text := ''; res := CalcText(a.Value,b.Value);.AddLine(Format('Темпратурасухогоградусника = {0};',a.Value));.AddLine(Format('Темпратурамокрогоградусника = {0};',b.Value));.AddLine(Format('Влажностьсоставляет {0};',res.ToString));;InitControls;.Title := 'ГигрометрЖуганов';.SetSize(500,350);.CenterOnScreen;.Value := 19.5;.Value := 20;.Click += MyClick;.Dock := DockStyle.Left;.Width := 150;:= MainForm;:= new TextBox;

tb.Dock := DockStyle.Fill;.AddLine('Диапазон измерения относительной влажности в зависимости');.AddLine('от температур от 20% до 90% ');.AddLine('При температуре: от 5 °C до +25 °C. ');.AddLine('Введите температуру градусников');

end;;.


Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!