Рефераты. Интерпретатор языка Пролог

IsList(<переменная>) - проверяет, является ли переменная списком.

IsStruct(<переменная>) - проверяет, является ли переменная структурой.

IsFree(<переменная>) - проверяет, является ли переменная свободной.

Предикаты для работы с базами данных.

Предикаты открытия, закрытия и создания баз данных отсутствуют, так как объявленные базы данных открываются (и создаются, если не были созданы ранее) при запуске программы.

DBAppendZ(<имя базы>:String, <поле1>, ... , <полеN>) - добавляет запись в конец базы данных. Количество полей и их типы должны в точности совпадать с полями базы данных. Имя базы данных записывается в кавычках.

DBAppendA(<имя базы>:String, <поле1>, ... , <полеN>) - добавляет запись в начало базы данных. Количество полей и их типы должны в точности совпадать с полями базы данных. Имя базы данных записывается в кавычках.

DBDelete(<имя базы>:String, <поле1>, ... , <полеN>) - удаляет из базы данных запись. Количество полей и их типы должны в точности совпадать с полями базы данных. Возможно, удалять сразу группу записей, если какие-либо из полей будут обозначены пустой константой 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 (<Integer, Real>):Real - операция синуса. Аргументом может быть как реальное, так и целое число. Функция возращает реальное число.

Cos (<Integer, Real>) :Real - операция косинуса.

Tan (<Integer, Real>) :Real - операция тангенса.

Exp (<Integer, Real>) :Real - экспонента.

Ln (<Integer, Real>) :Real - натуральный логарифм.

Int (<Integer, Real>) :Integer - выделение целой части числа. Функция используется также для явного преобразования реального числа в целое.

Frac (<Integer, Real>) :Real - выделение дробной части числа.

Abs(<Integer, Real>):<Integer, Real> - взятие модуля числа.

Функции работы со строками.

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(<Integer или Real>):String - превращает число в строку

StrToNumb(String):<Integer или Real> - превращает строку в целое или реальное число, в зависимости от содержания строки. Интерпретатор сначала пытается преобразовать строку в целое число. Если не получается, то пытается превратить строку в реальное число. Если преобразование не удалось, то выводится сообщение об ошибке.

Логические функции.

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 Источники загрязнения

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

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.