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

Инструмента́льное програ́ммное обеспе́чение - программное обеспечение, предназначенное для использования в ходе проектирования, разработки и сопровождения программ, в отличие от прикладного и системного программного обеспечения.

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

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

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

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

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

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

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

Наиболее распространёнными языками подобного типа являются C++ , Visual Basic , Java , Python , Ruby , Perl , Delphi , PHP .


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

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

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

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

Разделение на компилируемые и интерпретируемые языки является несколько условным. Так, для любого традиционно компилируемого языка, как, например, Паскаль , можно написать интерпретатор. Кроме того, большинство современных «чистых» интерпретаторов не исполняют конструкции языка непосредственно, а компилируют их в некоторое высокоуровневое промежуточное представление (например, с разыменованием переменных и раскрытием макросов).

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

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

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

Некоторые языки, например, Java и C# , находятся между компилируемыми и интерпретируемыми. А именно, программа компилируется не в машинный язык, а в машинно-независимый код низкого уровня, байт-код . Далее байт-код выполняется виртуальной машиной. Для выполнения байт-кода обычно используется интерпретация, хотя отдельные его части для ускорения работы программы могут быть транслированы в машинный код непосредственно во время выполнения программы по технологии компиляции «на лету» (Just-in-time compilation ). Для Java байт-код исполняется виртуальной машиной Java (Java Virtual Machine ), для C# - Common Language Runtime .

Классы языков программирования. Условно, языки программирования можно разделить на следующие классы (рис. 2.).

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

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

· краткость и простота;

· строгая типизация;

· модульность;

· функции - объекты вычисления;

· чистота (отсутствие побочных эффектов);

· отложенные (ленивые) вычисления.


Рис. 2. Классы языков программирования

Примеры языков функционального программирования: Лисп, Haskell, Clean, ML и др.

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

Примеры процедурных языков программирования: Ада, Бейсик, Си, Си++, Паскаль, Visual Basic, Dilphi и др.

Язык описания интерфейсов или IDL (англ. Interface Description Language ) - чисто описательный компьютерный язык, синтаксически похожий на C++.

Примеры языков описания интерфейсов: CORBA IDL (разработан OMG для описания интерфейсов распределённых объектов - названий методов и типов переменных-аргументов), COM IDL (аналогичная CORBA IDL разработка Microsoft, созданная для описания интерфейсов между модулями COM).

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

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

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

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

Типизация . Позволяет устранить многие ошибки на момент компиляции, операции проводятся только над объектами подходящего типа.

Примеры ОО-языков программирования: Си++, Delphi (Object Pascal), С#, Java и др.

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

Скриптовый язык (англ. scripting language , также называют язык сценариев ) - язык программирования, разработанный для записи «сценариев», последовательностей операций, которые пользователь может выполнять на компьютере. Простые скриптовые языки раньше часто называли языками пакетной обработки (batch languages ). Сценарии всегда интерпретируются, а не компилируются.

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

Примеры скриптовых языков программирования: VBA (Visual Basic Application), AutoLISP, 3DMAX Script, JCL, JavaScript и др.

В настоящее время, широкое использование компьютерных систем с кластерными и GRID-архитектурами поставило задачу создания высокоуровневых, мощных и лёгких для использования языков программирования, которые бы позволили создавать сложные, но в то же время быстрые приложения, эффективно использующие параллельные вычисления . Одним из таких языков в настоящее время является MC# (высокоуровневый объектно-ориентированный язык программирования для платформы.NET, поддерживающий создание программ, работающих в распределённой среде с асинхронными вызовами).

Вопросы для самопроверки:

1. Программное обеспечение.

2. Базовый уровень.

3. Системный уровень программного обеспечения.

4. Служебный уровень программного обеспечения.

5. Прикладной уровень программного обеспечения.

6. Что называется драйверами устройств?

7. Что называется утилитами?

8. Дайте определение языка программирования.

9. Что такое интерпретатор?

10. Что такое компилятор?

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

12. Какие классы языков программирования можно выделить? Приведите примеры для каждого класса.

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

14. Назовите какие методы используются в современных объектно-ориентированных языках программирования.

15. Что такое сценарий (скрипт)?

МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ

ФГБОУ ВПО «Воронежский государственный аграрный университет имени императора Петра I»

Кафедра информационного обеспечения

И моделирования агроэкономических систем

Контрольная работа

По дисциплине

«Экономическая информатика»

Выполнил: студент ЭПс-1

заочного отделения

Мамычев Д.А.

Шифр УЭэко-15126

Проверил:_________________

Воронеж 2016

1. Инструментальные программные средства. Трансляторы и их типы. Системы программирования.

2. Пакеты обработки графической информации.

3. Глобальная компьютерная сеть internet: основные понятия.

4. Список литературы.

Инструментальные программные средства. Трансляторы и их типы. Системы программирования.

Инструментальные программные средства – программы позволяющие модифицировать мультимедийные файлы и создавать мультимедийные приложения.

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

− редакторы неподвижных графических изображений,

− средства создания анимированных GIF-файлов,

− средства аудио- и видеомонтажа,

− средства создания презентаций,



− средства распознавания текстов, введенных со сканера,

− средства создания обучающих программ,

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

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

Трансляторы и их типы.

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

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

В настоящее время трансляторы разделяются на три основные группы: ассемблеры, компиляторы и интерпретаторы.

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

Компилятор - это обслуживающая программа, выполняющая трансляцию на машинный язык программы, записанной на исходном языке программирования. Также как и ассемблер, компилятор обеспечивает преобразование программы с одного языка на другой (чаще всего, в язык конкретного компьютера). Вместе с тем, команды исходного языка значительно отличаются по организации и мощности от команд машинного языка. Существуют языки, в которых одна команда исходного языка транслируется в 7-10 машинных команд. Однако есть и такие языки, в которых каждой команде может соответствовать 100 и более машинных команд (например, Пролог). Кроме того, в исходных языках достаточно часто используется строгая типизация данных, осуществляемая через их предварительное описание. Программирование может опираться не на кодирование алгоритма, а на тщательное обдумывание структур данных или классов. Процесс трансляции с таких языков обычно называется компиляцией, а исходные языки обычно относятся к языкам программирования высокого уровня (или высокоуровневым языкам). Абстрагирование языка программирования от системы команд компьютера привело к независимому созданию самых разнообразных языков, ориентированных на решение конкретных задач. Появились языки для научных расчетов, экономических расчетов, доступа к базам данных и другие.

Интерпретатор - программа или устройство, осуществляющее пооператорную трансляцию и выполнение исходной программы. В отличие от компилятора, интерпретатор не порождает на выходе программу на машинном языке. Распознав команду исходного языка, он тут же выполняет ее. Как в компиляторах, так и в интерпретаторах используются одинаковые методы анализа исходного текста программы. Но интерпретатор позволяет начать обработку данных после написания даже одной команды. Это делает процесс разработки и отладки программ более гибким. Кроме того, отсутствие выходного машинного кода позволяет не "захламлять" внешние устройства дополнительными файлами, а сам интерпретатор можно достаточно легко адаптировать к любым машинным архитектурам, разработав его только один раз на широко распространенном языке программирования. Поэтому, интерпретируемые языки, типа Java Script, VB Script, получили широкое распространение. Недостатком интерпретаторов является низкая скорость выполнения программ. Обычно интерпретируемые программы выполняются в 50-100 раз медленнее программ, написанных в машинных кодах.

Любой транслятор выполняет следующие основные задачи:

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

Генерирует выходную программу (ее часто называют объектной) на языке машинных команд;

Распределяет память для объектной программы.

Системы программирования.

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

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

Трансляторы с языков высокого уровня;

Средства редактирования, компоновки и загрузки программ;

Макроассемблеры (машинно-ориентированные языки);

Отладчики машинных программ.

Системы программирования, как правило, включают в себя:

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

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

Запускатель программ (Run), осуществляющий процесс выполнения программы;

Компилятор (Compile), предназначенный для компиляции или интерпретации исходного текста программы в машинный код с диагностикой синтаксических и семантических (логических) ошибок;

Отладчик (Debug), выполняющий сервисные функции по отладке и тестированию программы;

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

2.Пакеты обработки графической информации.

Программные средства создания и обработки графической информации подразделяются на:

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

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

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

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

Все компьютерные изображения разделяют на два типа: растровые и векторные.

Растровая графика. Растровые графические изображения формируются в процессе преобразования графической информации из аналоговой формы в цифровую.

Можно создать растровое графическое изображение и непосредственно на компьютере с использованием графического редактора, загрузить с CD-ROM или DVD-ROM дисков, или «скачать» из Интернета.

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

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

Растровые графические изображения многоцветных фотографий и иллюстраций получают с помощью сканера. Такие изображения обычно имеют большой размер и большую глубину цвета (24 или 36 бит на точку). В результате файлы, хранящие растровые изображения, имеют большой информационный объем.

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

Векторная графика. Векторные графические изображения являются оптимальным средством для хранения высокоточных графических объектов (чертежи, схемы и т.д.), для которых имеет значение сохранение четких и ясных контуров. Системы компьютерного черчения и автоматизированного проектирования (САПР), программы обработки трехмерной графики базируются на векторной графике.

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

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

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

Графический редактор – это программа, предназначенная для создания различного рода изображений, начиная с простейших и заканчивая видеоматериалами.

Растровые графические редакторы (PaintBrush, PhotoShop) основаны на битовом методе передачи изображений. Они обрабатывают достаточно подробные сканируемые образы. Выполняя ретуширование, изменение цветов, их оттенков и контрастов, растирание и штриховку, изменение направления тени и контуров. Длина битовых файлов велика из-за большого количества обрабатываемых экранных точек, что позволяет использовать большое количество цветов и детально редактировать изображение. Сканирование образа может быть осуществлено в черно-белом изображении, в серых оттенкахи тонах и цветным образом. Для растровых графических редакторов необходимо подобрать угол и тип растра (блочный, линейный, точечный и т.д.), разрешающую способность. Для цветных изображений регулируют яркость и контраст по каждому из цветов, составляющих гамму графического изображения. Готовые рисунки хранятся в отдельных файлах и могут быть доступны для использования.

Векторные графические редакторы (Adobe Fireworks, ConceptDraw PRO, CorelDRAW)

Для создания сложных рисунков с точными, сложными и четкими границами используют главным образом векторный редактор, одним из основных инструментов которого являются кривые Безье, позволяющие рисовать кривые (ломаные, прямые и гладкие) по сегментам с точным размещением узловых (опорных) точек и контролем над формой каждого сегмента. Кривую Безье можно представить как результат поступательной детализации формы многоугольника, выстраиваемого последовательным соединением определяющих форму контрольных точек. Кривая, направляясь от начальной точки многоугольника к ее конечной точке, притягивается, как магнитом к промежуточным, определяющим форму опорным точкам, через которые сама не проходит. Благодаря особым свойствам, простоте задания и возможности манипулировать, кривые Безье широко используются для моделирования гладких линий в компьютерной графике. В арсенале инструментов, которым обладает каждый редактор векторной графики, обязательно присутствуют "Заливка", "Текст", "Карандаш" и базовый набор геометрических фигур (т. н. примитивов), которые составляет основу большинства графических конструкций.

3.Глобальная компьютерная сеть internet: основные понятия.

Интернет (от англ. inter - «между» и net - «сеть, паутина») представляет собой совокупность компьютерных сетей, связывающих военные, правительственные, образовательные, коммерческие институты, а также отдельных граждан.

Сервером сети Интернет (web-сервером или http-сервером) называется программно-аппаратный комплекс, установленный на компьютере, подключенном к высокоскоростной магистрали Интернета. Такие компьютеры также называют серверами. Основная функция сервера - поиск и передача на пользовательский компьютер информации, запрашиваемой клиентскими программами, в частности браузерами.

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

Браузер представляет собой клиентскую программу для работы в Интернете, которая обращается к серверу, читает документ, сверстанный средствами HTML, интерпретирует полученную информацию и отображает содержание документа. Наиболее известными в России браузерами являются Internet Explorer, Opera, Google Chrome, Mozilla Firefox и др.

Web-сайт (от англ. site - «участок») - это набор web-страниц, связанных между собой ссылками и хранящихся на одном сервере. Набор Web-сайтов, которые связаны между собой ссылками и хранятся на разных серверах, называется Web-порталом.

Функционирование технологии сети Интернет напрямую зависит от протокола - набора правил, оговаривающих все, что связано с работой в сети. Технология передачи данных в Интернете базируется на протоколе TCP/IP (IP (Internet Protocol) - «протокол Интернета», TCP (Transmission Control Protocol) - «протокол управления передачей») - общепринятом стандарте, описывающем правила отправки и приема информации между несколькими подключенными к сети компьютерами.

TCP/IP для каждого работающего в Интернете компьютера определяет собственный IP-адрес, состоящий из четырех числовых последовательностей, разделенных точкой (например 195.85.105.160). В любой позиции каждое значение может изменяться от 0 до 255. Для удобства пользователей в Интернете разработана система доменных имен - DNS (Domain Name System). Служба доменных имен осуществляет преобразование доменного имени в числовой IP- адрес. Компьютеры, выполняющие такое преобразование, называются DNS- серверами.

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

Com, .biz - коммерческие предприятия;

Net - изначально присваивалось организациям, отвечающим за поддержку сети Интернет, сейчас также используются для коммерческих хозяйствующих субъектов;

Edu - образовательные учреждения;

Org - некоммерческие и общественные организации;

Gov - правительственные учреждения;

Mil - военные учреждения;

Int - международные организации, которые созданы на основании договоров или являются частью инфраструктуры Интернет;

Name - частные лица;

Info - не лимитируется;

Ru, .ua и др. - сокращения для стран, принятые комитетом по стандартам ISO.

Ступенью ниже в иерархии DNS стоят домены второго уровня, которые непосредственно зависят от домена первого уровня. Домены второго уровня принадлежат муниципальными или коммерческим организациям (например, spb.ru, ifmo.ru).

Домен второго уровня может содержать только 22 символа (буквы, числа и тире). При этом нельзя зарегистрировать уже существующее доменное имя.

Существуют также домены третьего уровня, входящие в состав вышестоящего домена, (например, условный домен name.spb.ru). Также можно встретить домены четвертого, пятого и т.д. уровней.

URL (Uniform Resource Locator) представляет собой универсальное обозначение местонахождения ресурса (например, www.ifmo.ru).

Таким образом, в Интернете используются несколько разновидностей адресов:

1) IP-адрес - основной сетевой адрес, который присваивается каждому компьютеру при входе в сеть. Это глобальная нумерация, так как компьютер, подключенный к Интернету, имеет свой уникальный IP-адрес. IP-адреса делятся на классы в соответствии с масштабом сети, к которой подключается пользователь.

2) доменный адрес. Перевод доменного адреса в IP-адрес происходит автоматически с помощью DNS системы.

3) URL-адрес - универсальный адрес, который применяется для обозначения имени каждого объекта хранения в Интернете.

Хостинг (от англ. hosting) - услуга по предоставлению дискового пространства для физического размещения информации на сервере, постоянно находящегося в сети. Как правило, в услугу хостинга входит предоставление места для почтовой корреспонденции, баз данных, DNS, файлового хранилища и т. п., а также поддержка функционирования соответствующих сервисов.

Электронные доски объявлений (BBS - Bulletin Board System) создают специализированные сетевые службы, деятельность которых посвящена определенной теме. BBS обычно содержит файлы с информацией, представляющей интерес для определенных групп пользователей, а также средства, позволяющие пользователям доски объявлений обмениваться информацией по интересующим их вопросам. Через BBS осуществляется техническое обслуживание: пользователи посылают вопросы, а персонал отвечает на них.

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

Электронная почта (от англ. E-mail, email, сокр. от electronic mail) - способ передачи информации в компьютерных сетях, широко использующийся в Интернете. Основная особенность электронной почты заключается в том, что информация отправляется получателю не напрямую, а через промежуточное звено - электронный почтовый ящик, который представляет собой место на сервере, где сообщение хранится, пока его не запросит получатель. В большинстве случаев для доступа к почтовому ящику требуется наличие пароля. Доступ к почтовому серверу может предоставляться как через специальные почтовые программы (Microsoft Outlook, The Bat и др.), так и через web-интерфейс.

ICQ (акроним от англ. I seek you - «я ищу тебя») - служба, которая позволяет пользователям сети обмениваться сообщениями в реальном масштабе времени, а также организовывать чат, передавать файлы и др. Программа работает по протоколу OSCAR, который обеспечивает обмен мгновенными и оффлайновыми текстовыми сообщениями. В настоящее время служба принадлежит инвестиционному фонду Mail.ru Group (российская инвестиционная группа, специализирующаяся на инвестициях в интернет-проекты).

IRC (от англ. Internet Relay Chat - «ретранслируемый интернет-чат») - служба, в которой обмен сообщениями ведется без задержек.

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

Skype - бесплатное проприетарное программное обеспечение с закрытым кодом, обеспечивающее шифрованную голосовую связь через Интернет между компьютерами, а также платные услуги для связи с абонентами обычной телефонной сети. Создателями Skype являются Никлас Зеннстрём (Niklas Zennstrom) и Янус Фриис (Janus Friis). Первый релиз программы и сайт появились в сентябре 2003 года.

Таблица 1. Расчет прибыли фирмы

№ п/п Показатели Год Итого за год
1 кв. 2 кв. 3 кв. 4 кв.
Торговые доходы
Торговые расходы
Валовая прибыль
Расходы на зарплату
Расходы на рекламу
Накладные расходы
Общие затраты
Производственная прибыль
Удельная валовая прибыль 0,099010177 0,118613565 0,074808144 0,121404967 0,4138369

Таблица 2. Структура затрат фирмы

Диаграмма 1. Структура затрат фирмы

Список используемой литературы:

1. Интернет ресурс http://eclib.net/

2. Интернет ресурс https://ru.wikipedia.org/

3. Интернет ресурс http://studopedia.ru/

1. Классификация программного обеспечения

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

В первом приближении все программы, работающие на компьютере, можно условно разделить на три категории (смотри рисунок) :

1. прикладные программы , непосредственно обеспечивающие выполнение необходимых пользователям работ;

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

    управление ресурсами компьютера;

    создание копий используемой информации;

    проверка работоспособности устройств компьютера;

    выдача справочной информации о компьютере и др.;

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

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

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

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

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

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

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

    операционные системы и оболочки;

    системы программирования (трансляторы, библиотеки подпрограмм, отладчики и т.д.);

    инструментальные системы;

    интегрированные пакеты программ;

    динамические электронные таблицы;

    системы машинной графики;

    системы управления базами данных (СУБД);

    прикладное программное обеспечение.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для управления внешними устройствами компьютера используются специальные системные программы - драйверы. Драйверы стандартных устройств образуют в совокупности базовую систему ввода-вывода (BIOS), которая обычно заносится в постоянное ЗУ компьютера.

Современные операционные системы для ПЭВМ отличаются друг от друга, прежде всего ориентацией на машины определенного класса, поддерживаемыми ими режимами обработки, предоставляемыми сервисными возможностями. Примерами ОС для ПЭВМ являются СР/М, MS DOS, OS/2 Warp (IBM), Windows 95 (Microsoft).

Инструментальные программные средства - это программы, которые используются в ходе разработки, корректировки или развития других прикладных или системных программ.

По своему назначению они близки системам программирования. К инструментальным программам, например, относятся:

    редакторы;

    средства компоновки программ;

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

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

    графические пакеты программ и т.п.

Инструментальные программные средства могут оказать помощь на всех стадиях разработки ПО.

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

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

Для организации более удобного и наглядного интерфейса пользователя с компьютером используются программные оболочки операционных систем – программы, которые позволяют пользователю отличными от предоставляемых ОС средствами (более понятными и эффективными) осуществлять действия по управлению ресурсами компьютера. К числу наиболее популярных оболочек относятся пакеты Norton Commander (Symantec), FAR (File and Archive manageR).

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

11.Инструментальное программное обеспечение.

К инструментальному программному обеспечению относят: системы программирования – для разработки новых программ, например, Паскаль, Бейсик. Обычно они включают: редактор текстов, обеспечивающий создание и редактирование программ на исходном языке программирования (исходных программ), транслятор, а также библиотеки подпрограмм; инструментальные среды для разработки приложений, например, C++, Delphi, Visual Basic, Java, которые включают средства визуального программирования; системы моделирования, например, система имитационного моделирования MatLab, системы моделирования бизнес-процессов BpWin и баз данных ErWin и другие.

Транслятор (англ. translator – переводчик) – это программа-переводчик, которая преобразует программу с языка высокого уровня в программу, состоящую из машинных команд. Трансляторы реализуются в виде компиляторов или интерпретаторов, которые существенно различаются по принципам работы.

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

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

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

12.Прикладное программное обеспечение.

Прикладное программное обеспечение (ППО) предназначено для решения задач пользователя. В его состав входят прикладные программы пользователей и пакеты прикладных программ (ППП) различного назначения.

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

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

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

Текстовые редакторы (например, MS Word, Word Perfect, Лексикон);

Табличные процессоры (например, MS Excel, Lotus 1-2-3, Quattro Pro);

Системы динамических презентаций (например, MS Power Point, Freelance Graphics, Harvard Graphics);

Системы управления базами данных (например, MS Access, Oracle, MS SQL Server, Informix);

Графические редакторы (например, Сorel Draw, Adobe Photoshop);

Издательские системы (например, Page Maker, Venture Publisher);

Системы автоматизации проектирования (например, BPWin, ERWin);

Электронные словари и системы перевода (например, Prompt, Сократ, Лингво, Контекст);

Системы распознавания текста (например, Fine Reader, Cunei Form).

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

· методо-ориентированные ППП, в основе которых лежит реализация математических методов решения задач. К ним относятся, например, системы математической обработки данных (Mathematica, MathCad, Maple), системы статистической обработки данных (Statistica, Stat).;

· проблемно-ориентированные ППП предназначены для решения определенной задачи в конкретной предметной области. Например, информационно-правовые системы ЮрЭксперт, ЮрИнформ; пакеты бухгалтерского учета и контроля 1С: Бухгалтерия, Галактика, Анжелика; в области маркетинга –Касатка, Marketing Expert; банковская система СТБанк;

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

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

Инструментальное ПО или системы программирования - это системы для автоматизации разработки новых программ на языке программирования. В самом общем случае для создания программы на выбранном языке программирования (языке системного программирования) нужно иметь следующие компоненты: 1. Текстовый редактор для создания файла с исходным текстом программы. 2. Компилятор или интерпретатор. Исходный текст с помощью программы-компилятора переводится в промежуточный объектный код. Исходный текст большой программы состоит из нескольких модулей (файлов с исходными текстами). Каждый модуль компилируется в отдельный файл с объектным кодом, которые затем надо объединить в одно целое. 3. Редактор связей или сборщик, который выполняет связывание объектных модулей и формирует на выходе работоспособное приложение – исполнимый код. Исполнимый код – это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение.ЕХЕ или.СОМ. 4. В последнее время получили распространение визуальный методы программирования (с помощью языков описания сценариев), ориентированные на создание Windows-приложений. Этот процесс автоматизирован в средах быстрого проектирования. При этом используются готовые визуальные компоненты, которые настраиваются с помощью специальных редакторов. Наиболее популярные редакторы (системы программирования программ с использованием визуальных средств) визуального проектирования:

 Borland Delphi - предназначен для решения практически любых задачи прикладного программирования

 Borland C++ Builder – это отличное средство для разработки DOS и Windows приложений

 Microsoft Visual Basic – это популярный инструмент для создания Windows-программ

 Microsoft Visual C++ - это средство позволяет разрабатывать любые приложения, выполняющиеся в среде ОС типа Microsoft Windows

1.3.2. Файловые системы

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

 Функции для работы с файлами (создание, удаление, переименование файлов и т.д.)

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

Известно, что файлы используются для организации и хранения данных на машинных носителях. Файл – это последовательность произвольного числа байтов, обладающая уникальным собственным именем или поименованная область на машинных носителях. Структурирование множества файлов на машинных носителях осуществляется с помощью каталогов, в которых хранятся атрибуты (параметры и реквизиты) файлов. Каталог может включать множество подкаталогов, в результате чего на дисках образуются разветвленные файловые структуры.Организация файлов в виде древовидной структуры называется файловой системой. Принцип организации файловой системы – табличный. Данные о том, в каком месте на диске записан файл, хранится в таблице размещения файлов (File Allocation Table, FAT). Эта таблица размещается в начале тома. В целях защиты тома на нем хранятся две копии FAT. В случае повреждения первой копии FAT дисковые утилиты могут воспользоваться второй копией для восстановления тома. По принципу построения FAT похожа на оглавление книги, так как операционная система использует ее для поиска файла и определения кластеров, которые этот файл занимает на жестком диске. Наименьшей физической единицей хранения данных является сектор. Размер сектора 512 байт. Поскольку размер FAT – таблицы ограничен, то для дисков, размер которых превышает 32 Мбайт, обеспечить адресацию к каждому отдельному сектору не представляется возможным. В связи с этим группы секторов условно объединяются в кластеры. Кластер является наименьшей единицей адресации к данным. Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска.

Сначала для дискет и небольших жестких дисков (менее 16 Мбайт) использовалась 12-разрядная версия FAT (так называемая FAT12). Затем в MS-DOS была введена 16-разрядная версия FAT для более крупных дисков. Операционные системы MS DOS, Win 95, Win NT реализуют 16 – разрядные поля в таблицах размещения файлов. Файловая система FAT32 была введена в Windows 95 OSR2 и поддерживается в Windows 98 и Windows 2000. FAT32 представляет собой усовершенствованную версию FAT, предназначенную для использования на томах, объем которых превышает 2 Гбайт. FAT32 обеспечивает поддержку дисков размером до 2 Тбайт и более эффективное расходование дискового пространства. FAT32 использует более мелкие кластеры, что позволяет повысить эффективность использования дискового пространства. В Windows XP применяется FAT32 и NTFS. Более перспективным направлением в развитии файловых систем стал переход к NTFS (New Technology File System – файловая система новой технологии)с длинными именами файлов и надежной системой безопасности. Объем раздела NTFS не ограничен. В NTFS минимизируется объем дискового пространства, теряемый вследствие записи небольших файлов в крупные кластеры. Кроме того, NTFS позволяет экономить место на диске, сжимая сам диск, отдельные папки и файлы.

По способам именования файлов различают “короткое” и “длинное” имя. Согласно соглашению, принятому в MS-DOS, способом именования файлов на компьютерах IBM PC было соглашение 8.3., т.е. имя файла состоит из двух частей: собственно имени и расширения имени. На имя файла отводится 8 символов, а на его расширение – 3 символа. Имя от расширения отделяется точкой. Как имя, так и расширение могут включать только алфавитно-цифровые символы латинского алфавита. Имена файлов, записанные в соответствии с соглашением 8.3, считаются “короткими”. С появлением операционной системы Windows 95 было введено понятие “длинного” имени. Такое имя может содержать до 256 символов. Этого вполне достаточно для создания содержательных имен файлов. “Длинное” имя может содержать любые символы, кроме девяти специальных: \ / : * ? “ < > |. В имени разрешается использовать пробелы и несколько точек. Имя файла заканчивается расширением, состоящим из трех символов. Расширение используется для классификации файлов по типу. Уникальность имени файла обеспечивается тем, что полным именем файла считается собственное имя файла вместе с путем доступа к нему. Путь доступа к файлу начинается с имени устройства и включает все имена каталогов (папок), через которые проходит. В качестве разделителя используется символ “\” (обратный слеш - обратная косая черта).Например: D:\Documents and Settings\ТВА\Мои документы\lessons-tva\ robots.txt Несмотря на то, что данные о местоположении файлов хранятся в табличной структуре, пользователю они представляются в виде иерархической структуры – людям так удобнее, а все необходимые преобразования берет на себя операционная система. К функции обслуживания файловой структуры относятся следующие операции, происходящие под управлением операционной системы:

 создание файлов и присвоение им имен;

 создание каталогов (папок) и присвоение им имен;

 переименование файлов и каталогов (папок);

 копирование и перемещение файлов между дисками компьютера и между катало­гами (папками) одного диска;

 удаление файлов и каталогов (папок);

 навигация по файловой структуре с целью доступа к заданному файлу, каталогу (папке);

 управление атрибутами файлов.