47097 (588464), страница 6
Текст из файла (страница 6)
IsInteger() - предикат является истинным, если поступающая на вход переменная - целочисленная.
IsReal() - проверяет, является ли переменная реальным числом.
IsNumeric() - проверяет, является ли переменная числовой, то есть либо реальной, либо целой. Использование функции IsNumeric предпочтительнее, чем IsInteger и IsReal, так как в ходе некоторых арифметических операций над целыми числами результат получается дробным (например, при делении).
IsString() - проверяет, является ли переменная строкой.
IsBoolean() - проверяет, является ли переменная логической.
IsList() - проверяет, является ли переменная списком.
IsStruct() - проверяет, является ли переменная структурой.
IsFree() - проверяет, является ли переменная свободной.
Предикаты для работы с базами данных.
Предикаты открытия, закрытия и создания баз данных отсутствуют, так как объявленные базы данных открываются (и создаются, если не были созданы ранее) при запуске программы.
DBAppendZ(:String, , ... , ) - добавляет запись в конец базы данных. Количество полей и их типы должны в точности совпадать с полями базы данных. Имя базы данных записывается в кавычках.
DBAppendA(:String, , ... , ) - добавляет запись в начало базы данных. Количество полей и их типы должны в точности совпадать с полями базы данных. Имя базы данных записывается в кавычках.
DBDelete(:String, , ... , ) - удаляет из базы данных запись. Количество полей и их типы должны в точности совпадать с полями базы данных. Возможно, удалять сразу группу записей, если какие-либо из полей будут обозначены пустой константой nil. Тогда будут удалены все записи базы данных, в которых совпадают значения остальных полей (которые имеют значения отличные от nil).
DBClear(:String) - очищает базу данных.
Предикаты работы с файлами.
Данная версия Пролога работает только с текстовыми файлами.
Для идентификации файла при работе программы используется целочисленный номер обработчика файла, по которому можно обращаться к файлу.
FileOpenRead(:String, :Integer) - открыть файл для чтения. Предикат возвращает во втором параметре номер обработчика файла. Во втором параметре предиката должна стоять свободная переменная.
FileOpenWrite(:String, :Integer) - открыть файл для записи. Предикат возвращает во втором параметре номер обработчика файла. Во втором параметре предиката должна стоять свободная переменная.
FileRead(:Integer,) - чтение из файла. Второй параметр должен быть свободной переменной, иначе интерпретатор выдаст ошибку "Неверные параметры при вызове предиката".
FileWrite(:Integer,:String) - запись в файл.
FileClose(:Integer) - закрытие файла. Данный предикат применять не обязательно, так как при завершении программы интерпретатор сам закрывает все открытые файлы.
EOF(:Integer) - проверка конца файла. Предикат истинен, если конец файла достигнут.
Разное.
StringToList (String, ) - превращает строку в список, состоящий из символов этой строки, и возвращает его через параметр .
Fail - предикат всегда возвращает ложь.
3.8 Описание функций
Арифметические функции.
Sin ():Real - операция синуса. Аргументом может быть как реальное, так и целое число. Функция возращает реальное число.
Cos () :Real - операция косинуса.
Tan () :Real - операция тангенса.
Exp () :Real - экспонента.
Ln () :Real - натуральный логарифм.
Int () :Integer - выделение целой части числа. Функция используется также для явного преобразования реального числа в целое.
Frac () :Real - выделение дробной части числа.
Abs(): - взятие модуля числа.
Функции работы со строками.
SubStr(String, N1:Integer, N2:Integer):String - выделение подстроки, начиная с элемента с индексом N1 длиной N2 символов.
FindStr(S1:String, S2:String):Integer - находит позицию подстроки S2 в строке S1 и возвращает индекс первого символа подстроки в строке S1. Если в строке S1 не было найдено подстроки S2, то функция возвращает 0.
Chr(Integer):String - возвращает символ, соответствующий числу по таблице ASCII.
Asc(String):Integer - возвращает ASCII-код первого символа строки.
NumbToStr():String - превращает число в строку
StrToNumb(String): - превращает строку в целое или реальное число, в зависимости от содержания строки. Интерпретатор сначала пытается преобразовать строку в целое число. Если не получается, то пытается превратить строку в реальное число. Если преобразование не удалось, то выводится сообщение об ошибке.
Логические функции.
Not(Boolean):Boolean - инвертирует значение логического выражения. (ВНИМАНИЕ: чтобы инвертировать значение, возвращаемое предикатом или базой данных необходимо перед именем предиката или базы данных поставить символ "~")
4 Организационно-экономическая часть
4.1 Расчет затрат на разработку интерпретатора Пролог
Трудоемкость разработки программного обеспечения рассчитывается по формуле:
ч/м, где (4.1)
L - объем программы в операторах, шт.,
nn - норма производительности труда программиста, представляющая собой объем полезной работы, выполняемой в единицу времени,
Ф - среднемесячный фонд рабочего времени,
Кн - коэффициент новизны,
Кун - коэффициент использования в разработке типовых программ.
L = 10000
nn = 50
Ф = 25
Кн = 0.8
Кун = 0.7
Таким образом, трудоемкость разработки ПО составляет:
Tn = (10000·0.8·0.7)/(25·50) = 4.5 ч/м
Расчет стоимости ч/м программиста:
-
заработная плата программиста составляет 460 руб.
-
дополнительная заработная плата составляет 20% от основной, то есть 92 руб.
-
Начисления на заработную плату ,в целом, составляют 38.5% от основной и дополнительной заработной платы, 212.52 руб.
Итого стоимость ч/м:
460+92+212.52=764.52 руб.
Накладные расходы составляют:
Знакл=0.25·460=115 руб.
Стоимость одного машинного часа с учетом первоначальной стоимости ЭВМ, стоимости потребляемой электроэнергии и износа машины определяетсяпо формуле:
Sмч=Sмаш1+Sэл+Sрем.
Срок службы ЭВМ - 8 лет. Первоначальная стоимость - 20000 руб. Потребляемая мощность 0.2 кВт/ч.
При эксплуатации машины 8 часов в день имеем:
Sмаш1=20000/(8·12·22·8)=1.18 руб/ч.
Принимая стоимость электроэнергии 0.1 руб/КВт, стоимость потребляемой энергии в час равна:
Sэл=0.1·0.2=0.02 руб.
Затраты на профилактическое обслуживание и ремон составляют 20% от стоимости машины:
Sрем=0.2·1.18=0.17руб.
Тогда стоимость одного машинного часа равна
Sмч=1.18+0.2+0.17=1.37 руб/ч.
Себестоимость программного продукта определяется:
, где
Зод - сумма основной и дополнительной заработной платы разработчика программы, начисления на нее и накладные расходы, руб./мес.,
Тап - время затрачиваемое разработчиком на разработку, составление алгоритма и написание программы, мес.,
См - себестоимость одного часа машинного времени, руб.,
Кисп = 0.5 - коэффициент использования ЭВМ.
764.52·4.5+8·4.5·1.37·25·0.5= 4056.84 руб.
5 Промышленная экология и безопасность
5.1 Введение
Охрана труда – система законодательных актов и норм, направленных на обеспечение безопасности труда, и соответствующих им социально-экономических, технических, организационных и санитарно-гигиенических мероприятий.
Полностью безопасных и безвредных производств не бывает. Задача охраны труда – свести к минимуму вероятность поражения или заболевания работающего с одновременным обеспечением комфорта для плодотворного труда.
Современное промышленное производство связано с использованием сложных технологических процессов и разнообразного оборудования, являющих источниками физических, химических и других факторов, оказывающих прямое или косвенное влияние на безопасность, здоровье и работоспособность человека.
Конструктивное несовершенство технических устройств и неправильная организация труда может приводить к действию на человека неблагоприятных психофизических факторов.
Нормализация и оптимизация производственной среды и предупреждение вредных выбросов в окружающую среду является необходимым условием жизнедеятельности человека. Улучшение условий труда, повышение его безопасности и безвредности имеет большее экономическое значение. Оно влияет на производительность труда, качество и себестоимость продукции.
В разделе «Промышленная экология и безопасность» выявляются наиболее существенные факторы, и производится выбор, обоснование и расчеты средств защиты и систем нормализации труда и предотвращения вредных выбросов в окружающую среду.
5.2 анализ характера загрязнения окружающей среды при производстве вычислительной техники
5.2.1 Источники загрязнения
В общем случае вычислительная техника представляет собой некоторую конструкцию, то есть совокупность деталей, находящихся в определенных пространственных, механических, электрических, магнитных и энергетических взаимосвязях. Поэтому в процессе производства вычислительной техники используется целый комплекс технологических приемов, связанных с переработкой различных по своей природе исходных материалов, последующей обработкой и сборкой деталей для получения функционально завершенного изделия.
В технологиях производства ЭВМ используются процессы, отрицательно воздействующие на окружающую среду, такие как литье, термическая, гальваническая и механическая обработка, резка, пайка, сварка и окраска. Источники, объекты первичного отрицательного воздействия и применяемые способы защиты среды обобщены в таблице 5.4.
Литейное производство связано с загрязнением атмосферы пылью, окисью углерода, сернистым ангидридом, а сточных вод механическими взвесями, в виде пыли, флюсов, окалины.
При термической обработке в атмосферу через систему вентиляции могут выбрасываться пары масла, окиси углерода, аммиака, цианистого водорода, а также пыли. Электротермическое оборудование потребляет воду для охлаждения, и в сточных водах могут находиться вредные вещества.
Гальванические работы сопряжены с использованием больших объемов воды для приготовления растворов электролитов и промывных операций. Поэтому сточные воды в этих случаях значительно загрязнены ядовитыми химическими веществами. Кроме того, воздух, удаляемый от технологического гальванического оборудования, содержит большое количество вредных веществ в различных агрегатных состояниях:
-
капельножидким (брызги),
-
тонкодисперсионном аэрозоле,
-
паро- и газообразном.
При механической обработке материалов для охлаждения оборудования и инструмента, промывки деталей, санитарно-гигенической обработки помещений широко используется вода. сточные воды в этих случаях могут быть загрязнены минеральными маслами, мылами, металлической и абразивной пылью, эмульгаторами. Кроме того, при механической обработке металлов в атмосферу через систему вентиляции могут выбрасываться пыль, стружка, туманы масел и эмульсий, а при обработке неметаллических материалов – вредные пары связующих смол и пыль.
Таблица 5.1.
Технологический процесс | Объект отрицательного воздействия | Источник загрязнения | Способ защиты |
Литье | Атмосфера | Пыле- газовыделение | Пылеулавливание, фильтрация |
Гидросфера | Сточные воды | Фильтрование, отстаивание, реагентная обработка | |
Термическая обработка | Атмосфера | Пыле- газовыделение | Пылеулавливание, фильтрация |
Гидросфера | Сточные воды | Фильтрование, отстаивание, реагентная обработка | |
Гальваническая обработка | Атмосфера | Выделение вредных веществ в различном агрегатном состоянии | Очистка |
Гидросфера | Сточные воды | То же | |
Механическая обработка | Атмосфера | Пыле- газовыделение | Пылеулавливание, фильтрация |
Гидросфера | Сточные воды | То же | |
Резка, сварка, пайка | Атмосфера | Пыле- газовыделение | Пылеулавливание, фильтрация |
Гидросфера | Сточные воды | То же | |
Лакокрасочные работы | Атмосфера | Газовыделение, лакокрасочные туманы | Фильтрация |
Гидросфера | Сточные воды | То же | |
Сборка | Гидросфера | Сточные воды | То же |
Газовая и плазменная резка металлов, технологические процессы сварки и пайки сопровождаются выделением пыли и токсичных газов, а сточные воды могут загрязняться механическими примесями, кислотами.