1625914891-62d0978a4faa71912bcf30efde0ff3e3 (843827), страница 10
Текст из файла (страница 10)
Оптимизация может быть на разных уровнях иэтапах, напр. над промежуточным кодом или надконечным машинным кодом.ИнтерпретаторИнтерпретатор — программа дляинтерпретации, т.е. непосредственногоисполнения программ (производствавычислений, предписываемых этимипрограммами) из исходного кода наопределённом языке.Интерпретируемые ЯПДостоинстваБо́ льшая независимость от платформы исполнения по сравнению скомпилируемыми средами, так как интерпретатор не создает машинногокода;Упрощается построчная отладка программы;Более совершенные и наглядные средства диагностики ошибок в программе.НедостаткиПрограммы выполняются более медленно: декодирование элементовпрограммы занимает больше времени, чем выполнение машинного кода;Программа занимает больше места в памяти: кроме самой программы и ееданных память также отводится под частично декодированную форму,таблицу символов и сам интерпретатор;Программа не может выполняться отдельно без интерпретатора;Практически отсутствует оптимизация кода, что приводит к дополнительномуудлинению времени работы программы.Байт-код (псевдокод)Байт-код или байтко́ д (псевдоко́ д) —машинно-независимый код низкого уровня,генерируемый транслятором и исполняемыйинтерпретатором.
Большинство инструкцийбайт-кода эквивалентны одной или несколькимкомандам ассемблера. Трансляция в байт-кодзанимает промежуточное положение междукомпиляцией в машинный код иинтерпретацией.Классы языков программированияИмперативное программирование – технологияпрограммирования, характеризующаясяпринципом последовательного изменениясостояния вычислителя пошаговым образом. Приэтом управление изменениями полностьюопределено и полностью контролируемо.Декларативное программирование –технология программирования, построенная: на описании данных; на описании искомого результата.Классы ЯПИмперативные Процедурные Объектно-ориентированные СкриптовыеДекларативные Функциональные Логические Языки разметкиОбъектно-ориентированные ЯПОбъектно-ориентированное программирование(ООП) — парадигма программирования, в которойосновными концепциями являются понятия объектов иклассов.Класс (class) – абстрактный тип данных,характеризующий структуру и поведение егоэкземпляров.Объект (object, экземпляр класса) – конкретнаяреализация класса, обладающая характеристикамисостояния, поведения и индивидуальности.Объектно-ориентированные ЯПАбстрагирование (abstraction) – метод решения задачи, при которомобъекты разного рода объединяются общим понятием (концепцией), азатем сгруппированные сущности рассматриваются как элементыединой категории.Абстрагирование позволяет отделить логический смысл фрагментапрограммы от проблемы его реализации, разделив внешнее описание(интерфейс) объекта и его внутреннюю организацию (реализацию).Инкапсуляция (encapsulation) – техника, при которойнесущественная с точки зрения интерфейса объекта информацияпрячется внутри него.Наследование (inheritance) – свойство объектов, посредствомкоторого экземпляры класса получают доступ к данным и методамклассов-предков без их повторного определения.Полиморфизм (polymorphism) – свойство, позволяющееиспользовать один и тот же интерфейс для различных действий;полиморфной переменной, например, может соответствоватьнесколько различных методов.Hello worldБейсикPRINT "Hello, world!"C#include <stdio.h>int main (void) {printf ("Hello, world!\n"); return 0;}C++#include <iostream>C#using namespace std;int main() { cout << "Hello, World!" << endl; }public class ExampleClass {public static void Main() {System.Console.WriteLine("Hello, world!");}}Hello worldPascalprogram HelloWorld;beginWriteLn('Hello, world!');end.PHP<?php echo 'Hello, world!';?>Javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, world!");}}Hello world: LISP(defun bottles-of-bier (n)(case n(0'(No more bottles of beer on the wall no more bottles of beer.Go to the store and buy some more 99 bottles of beer on the wall.))(1`(1 bottle of beer on the wall 1 bottle of beer.Take one down and pass it around no more bottles of beer on the wall.,@(bottles-of-bier 0)))(2`(2 bottles of beer on the wall 2 bottles of beer.Take one down and pass it around 1 bottle of beer on the wall.,@(bottles-of-bier 1)))(t`(,n bottles of beer on the wall ,n bottles of beer.Take one down and pass it around,(1- n) bottles of beer on the wall.,@(bottles-of-bier (1- n))))))Hello World:эзотерические языкиPiet:BrainFuck++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.
------.--------.>+.>.QR-кодQR-код (Quick Response) — матричный код (двухмерныйштрихкод), разработанный и представленный японскойкомпанией «Denso-Wave в 1994 году.Максимальное количество символов, которые помещаются водин QR-код: Цифры – 7089 Цифры и буквы(включая кириллицу) – 4296 Двоичный код – 2953 байт Иероглифы – 1817Шаблоны проектированияШаблоны проектирования (паттерн, pattern) — это эффективныеспособы решения характерных задач проектирования, в частностипроектирования компьютерных программ.На рис. шаблон проектирования MVC:Model-View-ControllerModel предоставляет данные,реагирует на запросы контроллера,изменяя своё состояние.View отвечает за отображение данных.Controller интерпретирует данные, введённые пользователем, иинформирует модель и представление о необходимостисоответствующей реакции.Антипаттерны1.2.3.4.5.6.Программирование методом copy-pasteМагические числаСпагетти-кодТаинственный кодИзобретение квадратного колесаЖёсткое кодированиеЛекция окончена!Благодарю за внимание!27Системное и прикладное ПРОГРАММНОЕОБЕСПЕЧЕНИЕЛекция №11.Прикладное ПОГуськов Андрей Евгеньевичhttp://web.ict.nsc.ru/~guskov/courses/software/guskov (dog) ict.nsc.ru2009 г.1Лекция №11.
Содержание1.2.3.Оболочка операционной системы.Системные команды UnixОфисные приложенияКорпоративные информационныесистемы2Оболочка ОСОболочка операционной системы (shell) —интерпретатор команд операционной системы (ОС),обеспечивающий интерфейс для взаимодействияпользователя с функциями системы.В общем случае, различают оболочки с двумя типамиинтерфейса для взаимодействия с пользователем: интерфейс командной строки (CLI); графический пользовательский интерфейс (GUI).Unix-командыФайловые системы:Файлы и каталоги:Процессы:Пользователи:Сеть:Текст:Другие:df, mountcat, cd, chmod, chown, ln, ls, mkdir, mv, rmcrontab, kill, nice, ps, sleep, topadduser, passwd, su, whoamifinger, ifconfig, netstat, nslookup, ssh, traceroutehead, less, tail, vi, wcecho, find, grep, manКлассификация прикладного ПО1.2.3.4.5.6.7.Офисные приложенияПрограммы-клиенты для доступа к интернетсервисамКорпоративные информационные системыСистемы проектирования и производстваМультимедиаГеоинформационные системыПрочие…Microsoft Visio 2003Организационные диаграммыПланировка офисовMicrosoft Visio 2003Карты структуры сетейКарты сайтовАльтернатива: OpenOffice.orgWriter (текстовый процессор и редакторHTML).Calc (табличный процессор).Draw (графический редактор).Impress (система презентаций).Редактор формул.Microsoft ProjectКорпоративныеинформационные системы1.2.3.4.5.6.Бухгалтерские программыКадровые программыEnterprise Resource Planning (ERP)Client Relationships Management (CRM)Корпоративные порталыСистема управления ITинфраструктуройERP-системыERP-система (Enterprise Resource Planning System — Система планированияресурсов предприятия) — корпоративная информационная система,предназначенная для автоматизации учёта и управления.Как правило, ERP-системы строятся по модульному принципу, и в той илииной степени охватывают все ключевые процессы деятельности компании.ERP может управлять:обработкой,логистикой,дистрибуцией,запасами,доставкой,выставлением счетов-фактур,бухгалтерским учётом.В целом, ERP-системы нацелены на максимальное удовлетворениепотребностей компаний в средствах управления бизнесом.По сути ERP-система являет собой виртуальную проекцию компании.ERP-системыОсновные сложности на этапе внедрения ERP-систем возникают по следующимпричинам:Недоверие владельцев компаний высокотехнологичным решениями, в итоге слабая поддержка проекта с их стороны, что делает осуществление проектатруднореализуемым.Сопротивление департаментов в предоставлении конфиденциальной информацииуменьшает эффективность системы.Недостаточное инвестирования в обучение персоналаНедоработанность политики занесения и поддержки актуальности данных в ERP.Ограничения при внедрении ERP-систем:Небольшие компании не могут позволить себе инвестировать достаточно денег вERP и адекватно обучить всех сотрудников.Внедрение является достаточно дорогимСистема может страдать от проблемы «слабого звена» — эффективность всейсистемы может быть нарушена одним департаментом или партнёром.Проблема совместимости с прежними системами.CRM-системыСистема управления взаимодействием с клиентами (Customer Relationship Management System)— корпоративная информационная система, предназначенная для целей автоматизацииCRM-стратегии компании (организации), в частности для улучшения обслуживания клиентовпутём сохранения информации о клиентах (контрагентах) и истории взаимоотношений склиентами, установления и улучшения бизнес-процедур на основе сохранённойинформации и последующей оценки их эффективности.Основные принципы:наличие единого хранилища информации со сведениями обо всех случаях взаимодействия склиентами;синхронизированность управления множественными каналами взаимодействия;постоянный анализ собранной информации о клиентах и принятии соответствующихорганизационных решений.Классифицируют возможности (модули) CRM по функциональности и уровням обработкиинформации.
По функциональности выделяют блоки:ПродажиМаркетингСервисное обслуживаниеКак отдельную функциональность выделяют call-центры — центры обработки входящихвызовов. Первоначально это были телефонные звонки, в последнее время сюдавключаются все каналы взаимодействия.Система автоматизациипроектных работСАПР — автоматизированная система, реализующаяинформационную технологию выполнения функцийпроектирования.Классификация САПР по ГОСТSCADA-системыSCADA (Supervisory Control And Data Acquisition) — диспетчерское управление и сбор данных.Под термином SCADA понимают инструментальную программу для разработки программногообеспечения систем управления технологическими процессами в реальном времени исбора данных.
Реже термин SCADA-система используют для обозначения программноаппаратного комплекса сбора данных (телемеханического комплекса).Основные задачи, решаемые SCADA-системами:1.Обмен данными с промышленными контроллерами и платами ввода/вывода в реальномвремени через драйверы.2.Обработка информации в реальном времени.3.Отображение информации на экране монитора в понятной для человека форме.4.Ведение базы данных реального времени с технологической информацией.5.Аварийная сигнализация и управление тревожными сообщениями.6.Подготовка и генерирование отчетов о ходе технологического процесса.7.Осуществление сетевого взаимодействия между SCADA ПК.8.Обеспечение связи с внешними приложениями (СУБД, электронные таблицы, текстовыепроцессоры и т.д.).SCADA-системыВиды лицензий напрограммное обеспечениеFreeware (GNU GPL)SharewareOpen sourceAdwareCommercialboxrentorderservice (cloud)Кодекс профессиональной этикипрограммных инженеров1.