Информационная система (ИС) — организационно упорядоченная совокупность документов (массивов документов) и информационных технологий, в том числе с использованием средств вычислительной техники и связи, реализующих информационные процессы. Информационные системы предназначены для хранения, обработки, поиска, распространения, передачи и представления информации. Автоматизированная (информационная) система (АС) — совокупность программных и аппаратных средств, предназначенных для хранения и/или управления данными и информацией и производства вычислений и управляемая человеком-оператором (в этом главное отличие автоматизированной системы от автоматической). Многоуровневое представление ИС — модель представления информационной системы в виде совокупности взаимосвязанных уровней, разделенных по функциональному назначению (рис. 1).
Рис. 1. Многоуровневое представление информационных систем.
Классификация программного обеспечения
С точки зрения конечного пользователя такая классификация оправданна и наглядна, для разработчика же более значимым фактором является структура прикладной программы, в общем случае состоящей из нескольких компонентов. Назначение этих компонентов, связи между ними и способность к взаимодействию определяют интеграцию прикладного ПО. Чем теснее связаны программные компоненты, тем выше степень интеграции.
Зубрицкий А.А. рассказывает о программе Управления проектами
Управление содержанием проекта // Как определить содержание проекта? // PMCLUB
В зависимости от степени интеграции многочисленные прикладные программные средства можно классифицировать следующим образом:
Отдельная прикладная программа пишется, как правило, на некотором высокоуровневом языке программирования (Pascal, Basic и т.п.) и предназначается для решения конкретной прикладной задачи. Такая программа может быть реализована в виде набора модулей, каждый из которых выполняет некоторую самостоятельную функцию (например модуль пользовательского интерфейса, модуль обработки ошибок, модуль печати и т.п.). При этом доступ к функциям модулей из внешних программ невозможен.
Библиотека представляет собой набор отдельных программ, каждая из которых решает некоторую прикладную задачу или выполняет определенные вспомогательные функции (управление памятью, обмен с внешними устройствами и т.п.). Библиотеки программ зарекомендовали себя эффективным средством решения вычислительных задач. Они интенсивно используются при решении научных и инженерных задач с помощью ЭВМ. Условно их можно разделить на библиотеки общего назначения и специализированные библиотеки.
Пакет прикладных программ (ППП) — это комплекс взаимосвязанных программ, ориентированный на решение определенного класса задач. Формально такое определение не исключает из числа пакетов и библиотеки программ, однако у ППП, как отдельной категории, есть ряд особенностей, среди которых: ориентация на решение классов задач, унифицированный интерфейс, наличие языковых средств.
Интегрированная программная система — это комплекс программ, элементами которого являются различные пакеты и библиотеки программ. Примером служат системы автоматизированного проектирования, имеющие в своем составе несколько ППП различного назначения. Часто в подобной системе решаются задачи, относящиеся к различным классам или даже к различным предметным областям.
Понятие пакета прикладных программ
Итак, пакет прикладных программ (ППП) – это комплекс взаимосвязанных программ для решения определенного класса задач из конкретной предметной области. На текущем этапе развития информационных технологий именно ППП являются наиболее востребованным видом прикладного ПО. Это связано с упомянутыми ранее особенностями ППП. Рассмотрим их подробней:
Тема 1.1 Введение в предмет. Понятие ППП
Источник: www.4stud.info
Дайте определение понятия «система программирования». Приведите примеры современных систем программирования
Программы – это данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определённого алгоритма.
(Программа —совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств с целью получения определённого результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения.)
Программное обеспечение–все или часть программ, процедур, обработки информации, в основном решает конкретные практические задачи .
Системное программирование — это создание системного программного обеспечения, относятся операционные системы, утилиты, системы программирования, системы управления базами данных.Комплекс программ, которые обеспечивают управление компонентами компьютерной системы, такими как процессор,оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой — приложения пользователя. В отличие от прикладного программного обеспечения, системное не решает конкретные практические задачи, а лишь обеспечивает работу других программ, предоставляя им сервисные функции, абстрагирующие детали аппаратной и микропрограммной реализации вычислительной системы, управляет аппаратными ресурсами вычислительной системы.
Перечислите и опишите этапы подготовки программы.
включает этапы подготовки исходного текста, трансляции, компоновки и отладки.
Подготовка текста программы
Текст программы записывается в один или несколько текстовых файлов. Имена файлов могут быть любыми, но для файлов, содержащих текст программы, принято расширение .asm, а для файлов с определением констант и новых типов – расширение .inc. Эти файлы являются текстовыми, их можно подготовить с помощью стандартных редакторов текста или с использованием интегрированных сред разработки программ.
Ассемблирование программы
Подготовленный текст является исходными данными для специальных программ, называемых ассемблерами. Задача ассемблеров – преобразовать текст программы в форму двоичных команд, которые могут быть выполнены микропроцессором. Если обнаружены синтаксические ошибки, то результирующий код создан не будет. Процесс создания исполняемого файла происходит в две стадии:
.asm —> .obj —> .exe/.dll/.com
Компоновка программы
Следующая стадия (.obj —> .exe/.dll/.com) называется линковкой или компоновкой и служит для замещения символьных имен, используемых программистом, на реальные адреса.
Сравните шестнадцатеричное содержимое OBJ и EXE файла, который у вас получился. В EXE-файле присутствует та же последовательность байтов, что и в OBJ-файле. Но помимо этого еще присутствует: имя ассемблированного файла, версия ассемблера, «имя собственное» сегмента и так далее.
Это «служебная» информация, предназначенная для тех случаев, когда ваш исполнимый файл вы хотите собрать из нескольких. При разработке больших приложений исходный текст состоит, как правило, из нескольких модулей (файлов с исходными текстами), потому что хранить все тексты в одном файле неудобно – в них сложно ориентироваться.
Каждый модуль по раздельности компилируется в отдельный файл с объектным кодом. В каждом из этих файлов прописаны свои сегменты кода/данных/стека, которые затем надо объединить в одно целое. А исполнимый файл нам нужно получить только один – с единым сегментом кода/данных/стека. Именно это LINK и делает: завершает определение адресных ссылок и объединяет, если это требуется, несколько программных модулей в один. И этот один у нас и является исполнимым.
Кроме того, к нашим модулям надо добавить машинный код подпрограмм, реализующих различные стандартные функции (например, вычисляющих математические функции SIN или LN). Такие функции содержатся в библиотеках (файлах со стандартным расширением .LIB), которые либо поставляются вместе с компилятором, либо создаются самостоятельно. Поэтому процесс подготовки обязательно включает в себя этап компоновки, когда определяются все неизвестные при раздельном ассемблировании адреса совместно используемых переменных или функций.
Процесс объединения объектных модулей в один файл осуществляется специальной программой-компоновщиком или сборщиком (программа LINK.EXE фирмы Microsoft и TLINK.EXE фирмы Borland), которая выполняет связывание объектных модулей и машинного кода стандартных функций, находя их в библиотеках, и формирует на выходе работоспособное приложение – исполнимый код для конкретной платформы.
Исполнимый код – это законченная программа с расширением COM, DLL или EXE, которую можно запустить на компьютере с установленной операционной системой, для которой эта программа создавалась. Имя исполняемого файла задастся именем первого .OBJ файла. Для линковки нужно в командной строке набрать:
link prog1.obj prog2.obj или tlink prog1.obj prog2.obj
Содержимое объектного файла анализируется компоновщиком. Он определяет, есть ли в программе внешние ссылки, то есть содержит ли программа команды вызовов процедур, находящихся в одной из библиотек объектных модулей (link library). Компоновщик находит эти ссылки в объектном файле, копирует необходимые процедуры из библиотек, объединяет их вместе с объектным файлом и создает исполняемый файл (executable file). В качестве дополнительных возможностей компоновщик может создать файл перекрестных ссылок, содержащих план полученного исполняемого файла.
Загрузка программы
Компонент операционной системы, называемый загрузчиком (loader), считывает данные из исполняемого файла, загружает программу в память и передает управление по адресу точки входа. В результате программа начинает выполняться.
В тех случаях, когда при написании новой программы на языке ассемблера требуются лишь незначительные изменения машинных кодов, иногда быстрее и удобнее внести изменения непосредственно в объектный файл, а не проходить всю цепочку редактирования исходной программы и осуществлять ее повторную трансляцию с внесенными изменениями. Для этого существуют специальные шестнадцатеричные редакторы (типа Hacker Viewer), которые позволяют рассматривать файлы с бинарным (машинным) кодом в виде последовательности ассемблерных команд. Эту же технологию применяют в тех случаях, если исходный текст программы не доступен (взлом программы).
Источник: studopedia.net
Основные понятия программирования. АЛГОРИТМЫ + ДАННЫЕ = ПРОГРАММЫ Н. Вирт. — презентация
Презентация на тему: » Основные понятия программирования. АЛГОРИТМЫ + ДАННЫЕ = ПРОГРАММЫ Н. Вирт.» — Транскрипт:
1 Основные понятия программирования
2 АЛГОРИТМЫ + ДАННЫЕ = ПРОГРАММЫ Н. Вирт
3 Алгоритм — это совокупность правил для решения некоторого класса задач, последовательное применение которых за конечное число шагов приводит к определенному результату. Мухаммед Аль Хорезми ( ): правила (алгоритмы) десятичной арифметики. ОПРЕДЕЛЕНИЕ АЛГОРИТМА
4 СВОЙСТВА АЛГОРИТМА Универсальность. Конечность. Определенность.
5 Способы описания алгоритма 4 машинная программа 4 программа на алгоритмическом языке 4 программа на псевдокоде 4 блок-схема алгоритма 4 описание на естественном языке
6 Трансляция — процесс перевода программы, написанной на алгоритмическом языке, на машинный язык (в коды компьютера). Транслятор — программа-переводчик. ТРАНСЛЯЦИЯ КОМПИЛЯЦИЯИНТЕРПРЕТАЦИЯ
7 КОМПИЛЯЦИЯ И ИНТЕРПРЕТАЦИЯ Компиляция: процесс трансляции и выполнения программы четко разделены во времени. Интерпретация: последовательно чередуются перевод группы инструкций языка в коды и их выполнение.
8 КОМПИЛЯЦИЯ И ИНТЕРПРЕТАЦИЯ Сравнение: Компиляция выгодней по времени выполнения и памяти. Интерпретация удобней для организации диалоговых программ.
9 Классификация алгоритмических языков по способу трансляции Алгоритмические языки требующие компиляции: СИ ПАСКАЛЬ ФОРТРАН. требующие интерпретации: BASIC LISP
10 Классификация алгоритмических языков по назначению Алгоритмические языки Универсальные СИ системное программирование ПАСКАЛЬ обучение программированию ФОРТРАН вычисления. Логические задачи, проектирование экспертных систем: ПРОЛОГ Диалоговые программы, обработка списков:ЛИСП Проектирован ие больших систем, режим реального времени: АДА. СИ++ ОБЪЕКТНЫЙ ПАСКАЛЬ ВАЖНО НЕ НА КАКОМ ЯЗЫКЕ ПРОГРАММИРОВАТЬ, А КАКИЕ ЗАДАЧИ РЕШАТЬ!
11 Этапы прохождения через ЭВМ программы, требующей компиляции КОМПИЛЯЦИЯ КОМПОНОВКА И ЗАГРУЗКА ВЫПОЛНЕНИЕ исходный модуль (*.c *.cpp *.pas) объектный модуль (*.obj) загрузочный модуль (*.exe) исходные данные результаты ошибки компоновка редактирование связей
12 КЛАССИФИКАЦИЯ ДАННЫХ ПО ФУНКЦИОНАЛЬНОМУ НАЗНАЧЕНИЮ ДАННЫЕ ИСХОДНЫЕВЫХОДНЫЕ ПРОМЕЖУТОЧНЫЕ Исходные данные — начальные значения которых меняются от одного выполнения алгоритма к другому АЛГОРИТМ промежуточные данные Исходные данные Выходные данные (Результаты)
13 КЛАССИФИКАЦИЯ ДАННЫХ ПО ТИПУ ЦЕЛЫЕ (С ФИКСИРОВАННОЙ ТОЧКОЙ) ДАННЫЕ ЧИСЛОВЫЕСИМВОЛЬНЫЕЛОГИЧЕСКИЕ ГРАФИЧЕСКИЕ ВЕЩЕСТВЕННЫЕ (С ПЛАВАЮЩЕЙ ТОЧКОЙ) БЕЗ ЗНАКАСО ЗНАКОМ Однобайтовые Двухбайтовые Четырехбайтовые Восьмибайтовые Однобайтовые Двухбайтовые Четырехбайтовые Восьмибайтовые Четырехбайтовые Шестибайтовы е Восьмибайтовые Десятибайтовые float double int char unsigned int
14 КЛАССИФИКАЦИЯ ДАННЫХ ПО ТИПУ ТИП ДАННЫХ ХАРАКТЕРИЗУЕТ СПОСОБ (ФОРМУ) ПРЕДСТАВЛЕНИЯ ДАННЫХ В ПАМЯТИ КОМПЬЮТЕРА. ТИП — ВНУТРЕННЕЕ ПРЕДСТАВЛЕНИЕ ДАННЫХ.
15 ТИПЫ ДАННЫХ ТИП ДАННЫХ ДИАПАЗОН ДАННЫХ ОПЕРАЦИИ НАД ДАННЫМИ ПРЕДСТАВЛЕНИЕ В ПАМЯТИ ЭВМ
16 ЯЧЕЙКА ПАМЯТИ ЯЧЕЙКА — ОБЛАСТЬ ПАМЯТИ, ХРАНЯЩАЯ ФУНКЦИОНАЛЬНО ЗАВЕРШЕННОЕ ЗНАЧЕНИЕ (Т. Е. ОДНО ДАННОЕ КАКОГО-ЛИБО ТИПА). ЯЧЕЙКА ХАРАКТЕРИЗУЕТСЯ: СОДЕРЖИМЫМ; АДРЕСОМ; ИМЕНЕМ (В АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ).
17 СВОЙСТВА ЯЧЕЙКИ ПАМЯТИ ЯЧЕЙКА ХРАНИТ ДАННОЕ СКОЛЬ УГОДНО ДОЛГО; ПРИ СЧИТЫВАНИИ ДАННОЕ ЯЧЕЙКИ НЕ РАЗРУШАЕТСЯ; ПРИ ЗАПИСИ В ЯЧЕЙКУ НОВОГО ДАННОГО СТАРОЕ СОДЕРЖИМОЕ НЕ СОХРАНЯЕТСЯ; ЗАПИСЬ В ЯЧЕЙКУ НАЗЫВАЕТСЯ ПРИСВАИВАЕНИЕМ; ЕСЛИ В ЯЧЕЙКУ НИЧЕГО НЕ ЗАПИСАНО, ТО ЕЕ СОДЕРЖИМОЕ СЧИТАЕТСЯ НЕОПРЕДЕЛЕННЫМ.
18 КЛАССИФИКАЦИЯ ДАННЫХ ПО СТРУКТУРЕ ДАННЫЕ КОНСТАНТЫ (защита от записи) ПЕРЕМЕННЫЕ ДАННЫЕ ПРОСТЫЕСЛОЖНЫЕ МАССИВСТРУКТУРА. 1 ячейка несколько ячеек
19 СТРУКТУРА ДАННЫХ Массив — это сложная переменная, состоящая из конечного числа упорядоченных компонент, имеющих одно имя, одинаковый тип и расположенных в последовательных ячейках памяти компьютера. Доступ к элементу массива — по его номерам (индексам). Размерность массива — количество индексов у его элементов. Размер — количество значений каждого индекса.
20 СТРУКТУРА ДАННЫХ Одномерный массив А размера 10: A[1], A[2], …, A[10] Двумерный массив (матрица) B размера 3*4: B[1][1] B[1][2] B[1][3] B[1][4] B[2][1] B[2][2] B[2][3] B[2][4] B[3][1] B[3][2] B[3][3] B[3][4 ]
21 СТРУКТУРА ДАННЫХ Структурная переменная, или просто структура, состоит из нескольких переменных (называемых полями), возможно, разного типа. Структура (СИ) = Запись (Паскаль) Отличия структуры и массива: Массив имеет компоненты одного типа, структура может иметь компоненты различного типа. Доступ к компонентам массива — по номеру, к компонентам структуры — по имени.
22 ВАЖНО НЕ НА КАКОМ ЯЗЫКЕ ПРОГРАММИРОВАТЬ, А КАКИЕ ЗАДАЧИ РЕШАТЬ! Структура простейшей программы..Т ипы и структуры данных, имеющиеся в алгоритмическом языке, их описание, допустимые операции..О ператоры преобразования данных:присваивания (преобразования внутренних данных), операторы ввода и вывода. Правила записи алгоритма — программирование основных алгоритмических структур. Сведения, необходимые для написания простейшей программы:
24 Структура простейшей СИ-программы
Источник: www.myshared.ru