Основы информатики
Формы представления информации. Представление чисел в двоичном коде. Переход из одной системы счисления в другую. Булева алгебра и логические схемы компьютера. Текстовые редакторы, процессоры. Текстовый процессор Word. Прикладное программное обеспечение.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | шпаргалка |
Язык | русский |
Дата добавления | 13.07.2011 |
Размер файла | 387,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Драйвер устройства выполняет несколько функций:
1) обработку абстрактных запросов чтения и записи независимого от устройств и расположенного над ними программного обеспечения;
2) инициализацию устройства;
3) управление энергопотреблением устройства и регистрацией событий;
4) проверку входных параметров. Если они не удовлетворяют определенным критериям, драйвер возвращает ошибку. В противном случае драйвер преобразует абстрактные термины в конкретные. Например, дисковый драйвер может преобразовывать линейный номер блока в номера головки, дорожки и секторы;
5) проверку использования устройства в данный
14. Служебные программы. Прикладное программное обеспечение. Классификация прикладного программного обеспечения
компьютер текстовый редактор программный
Служебные программы (утилиты) -- это программы, используемые при работе или техническом обслуживании компьютера для выполнения вспомогательных функций, таких как работа с файлами и каталогами, диагностирование аппаратуры, просмотр и конвертация файлов, оптимизация дискового пространства, восстановление поврежденной информации, антивирусные средства (раздел 8.4.) и другие. Прикладное программное обеспечение (ППО) составляют программы конечного пользователя. Это самый обширный класс программного обеспечения. Прикладное программное обеспечение общего назначения используется для решения наиболее общих задач информационного характера в любой сфере человеческой деятельности. Оно объединяет в себе широко используемые программы большинством пользователей персональных компьютеров, например, текстовые редакторы, электронные таблицы, графические системы, игры, развлечения.\ Классификация прикладного программного обеспечения
ППО, классифицируя по назначению, можно разделить на прикладные программы общего назначения и прикладные программы специального назначения (рис. 4.1). Классификация весьма условна потому, что некоторые типы программ (например, программы, обрабатывающие тексты) имеют своих представителей и в классе общего назначения (редакторы и процессоры) и в классе профессиональных программ (издательские системы).
15. Текстовые редакторы, процессоры. Текстовый процессор Word.
В связи с многообразием возможностей создания и оформления текстовых документов, пользователю предоставляется многообразие программных продуктов по работе с этими документами. Условно их можно разбить на текстовые редакторы и текстовые процессоры. Текстовые редакторы -- это программы для создания и редактирования текстовых документов. Редактирование текста -- это комплекс операций по внутренней (смысловой) и внешней (оформительской) работе над текстом. Текстовые редакторы обеспечивают основные возможности по подготовке небольших и несложных документов. Сюда входят следующие простые операции:
* ввод алфавитно-цифровой информации;
* перемещение по набранному тексту;
* вставка или удаление символов.
А также более сложные операции по работе с блоками
(фрагментами) текста:
* выделение блока;
* удаление блока;
* копирование, перемещение, вставка блока;
* дополнительные удобства (возможность поиска фрагмента, поиск с заменой, печать документа и т.д.).
Текстовые процессоры -- это программы, предоставляющие более широкий круг (в сравнении с редакторами) возможностей форматирования (шрифты, таблицы, формулы), создания документов, содержащих данные разных типов (вставка графических, звуковых данных), создания электронных документов. Типичным представителем этой группы является текстовый процессор Word.
Существует еще одна отдельная группа текстовых процессоров -- это настольные издательские системы. Текстовый процессор Word сейчас один из самых популярных программных продуктов в мире. Его последние версии представляют мощный программный конгломерат, объединяющий около тысячи различных возможностей по работе с текстовыми и электронными документами. Ранние версии (а именно -- до Word 5.0) работали под управлением операционной системы MS-DOS. Начиная с версии Word6.0 был воплощен принцип эквивалентности экранного и печатного изображения WYSIWYG. Рабочее окно текстового процессора внешне сходно с рабочим окном WordPad, состоит из строки меню, по умолчанию двух панелей инструментов, а вообще их шестнадцать, рабочего поля, строки состояния. В зависимости от настроек, вид рабочего окна может изменяться.
Режимы отображения документов на экране. В меню ВИД имеются команды ОБЫЧНЫЙ, WEB-ДОКУМЕНТА, РАЗМЕТКА СТРАНИЦЫ, СТРУКТУРА, которые устанавливают режим отображения документа.
16. Электронные таблицы. Общие сведения о табличном процессоре Excel. Создание таблиц
Работа с формулами, диаграммами, списками. электронными таблицами, объединяющими в себе возможности:
* текстовых процессоров по созданию и форматированию таблиц;
* математической обработки табличных данных;
* визуализации результатов в форме таблиц, диаграмм, графиков.
История развития программ обработки электронных таблиц насчитывает около двадцати лет, налицо огромный прогресс в этой области программного обеспечения. Примерами программ электронных таблиц являются Lotus 1-2-3 (Lotus), Microsoft Excel. В настоящее время наибольшее распространение получил программный комплекс Microsoft Excel. Документом Excel является рабочая книга -- это файл с произвольным именем и расширением .xls. Рабочая книга состоит из рабочих листов (в количестве от 1 до 256, каждый имеет свое имя). Один из рабочих листов является активным, т.е. в настоящий момент с ним работает пользователь. Рабочий лист представляет собой таблицу, в которой может содержаться до 65536 строк и до 256 столбцов. Строки нумеруются числами (от 1 до 65536), столбцы -- латинскими буквами А, В, С, ..., Y, Z, АА, АВ, АС, .., AZ, ВА, ..., IV. Ячейки. На пересечении столбцов и строк находятся ячейки. Каждая ячейка имеет адрес, состоящий из указания столбца и строки, на пересечении которых она находится, например Al, B5, АВ234. Адреса ячеек используются при обращении к их содержимому. Диапазоны. Иногда в Excel требуется работать не с одной ячейкой, а с группой ячеек в виде прямоугольника, такая группа называется диапазон. Ввод формул. Возможность работы с формулами и встроенными функциями является важнейшей особенностью электронных таблиц. Логика использования табличного процессора требует применять формулы везде, где значения одних ячеек зависят от значений других, так как если значения ячеек с исходными данными изменяются, то автоматически изменяются значения всех зависимых ячеек. Как известно, ввод формулы начинается со знака равенства, сопровождается появлением формулы в ячейке и дублировании набора в строке формул, завершается нажатием клавиши Enter, после чего в ячейке появляется результат вычисления (при настройках процессора по умолчанию), а саму же формулу теперь можно увидеть в строке формул, если активизировать ячейку. Автозаполнение ячеек формулами.. Ссылки на другие листы и книги. Копирование ячеек, содержащих формулы. Диаграмма -- это представление данных таблицы в графическом виде, которое используется для анализа и сравнения данных. На диаграмме числовые данные ячеек изображаются в виде точек, линий, полос, столбиков, секторов и в другой форме. Группы элементов данных, отражающих содержимое ячеек одной строки или столбца на рабочем листе, составляют ряд данных. Строятся диаграммы с помощью Мастера диаграмм. Списки позволяют эффективно работать с большими упорядоченными наборами данных, имеющих одинаковую структуру Например, списком является телефонный справочник, в котором в большом количестве строк приведены фамилии абонентов и номера их телефонов. Каждый элемент списка занимает одну строку, в которой данные распределяются по нескольким полям (столбцам). В табличном процессоре имеются операции для их обработки (сортировка, фильтрация). В первой строке рабочего листа обычно помещаются названия отдельных полей списка. Эта строка используется в качестве строки заголовков списка. Начиная со следующей строки, вводятся данные.
17. Системы компьютерной графики. Растровый редактор Paint
Системы компьютерной графики -- это отдельные программы и аппаратно-программные комплексы, создающие и обрабатывающие различные изображения на экране монитора. Как уже было сказано, все изображения, создаваемые с помощью компьютеров, можно разделить на два класса -- растровые и векторные. В растровой графике изображение какого-либо графического объекта описывается конкретным расположением и цветом точек (пикселей), привязанных к сетке (растру, см. главу 1), т.е. оно создается, как в мозаике. В настоящее время распространены следующие форматы растровой графики .bmp, .pcx, .gif, .tif, jpg, .png и др.
В векторной графике изображения описываются с помощью кривых линий, называемых векторами (каждая кривая аппроксимируется многочленом третьего порядка, т.е. массивом коэффициентов -- многомерным вектором), а также параметров, описывающих их цвета и расположение. Paint -- простейший графический редактор (разработчик Microsoft), предназначенный для создания и редактирования растровых графических изображений в основном формате Windows (BMP) и форматах Интернета (GIF и JPEG). Он приемлем для создания простейших графических иллюстраций, в основном схем, диаграмм и графиков, которые можно встраивать в текстовые документы. В Paint можно создавать рекламу, буклеты, объявления, приглашения, поздравления и др.Основные возможности Paint:
* Проведение прямых и кривых линий различной толщины и цвета.
* Использование кистей различной формы, ширины и цвета.
* Построение различных фигур -- прямоугольников, многоугольников, овалов, эллипсов -- закрашенных и незакрашенных.
* Помещение текста на рисунок.
* Использование преобразований -- поворотов, отражений, растяжений и наклона.
18. Элементы языка Си
Множество символов используемых в языке СИ можно разделить на пять групп.
1. Символы, используемые для образования ключевых слов и идентификаторов (табл.1). В эту группу входят прописные и строчные буквы английского алфавита, а также символ подчеркивания. Следует отметить, что одинаковые прописные и строчные буквы считаются различными символами, так как имеют различные коды. 2. Группа прописных и строчных букв русского алфавита и арабские цифры 3. Знаки нумерации и специальные символы (табл. 3). Эти символы используются с одной стороны для организации процесса вычислений, а с другой - для передачи компилятору определенного набора инструкций. 4. Управляющие и разделительные символы. К той группе символов относятся: пробел, символы табуляции, перевода строки, возврата каретки, новая страница и новая строка. Эти символы отделяют друг от друга объекты, определяемые пользователем, к которым относятся константы и идентификаторы. Последовательность разделительных символов рассматривается компилятором как один символ (последовательность пробелов). 5. Кроме выделенных групп символов в языке СИ широко используются так называемые, управляющие последовательности, т.е. специальные символьные комбинации, используемые в функциях ввода и вывода информации. Управляющая последовательность строится на основе использования обратной дробной черты (\) (обязательный первый символ) и комбинацией латинских букв и цифр (табл.4). Константами называются перечисление величин в программе. В языке СИ разделяют четыре типа констант: целые константы, константы с плавающей запятой, символьные константы и строковыми литералы.
Целая константа: это десятичное, восьмеричное или шестнадцатеричное число, которое представляет целую величину в одной из следующих форм: десятичной, восьмеричной или шестнадцатеричной.
Десятичная константа состоит из одной или нескольких десятичных цифр, причем первая цифра не должна быть нулем (в противном случае число будет воспринято как восьмеричное).
Восьмеричная константа состоит из обязательного нуля и одной или нескольких восьмеричных цифр (среди цифр должны отсутствовать восьмерка и девятка, так как эти цифры не входят в восьмеричную систему счисления).
Шестнадцатеричная константа начинается с обязательной последовательности 0х или 0Х и содержит одну или несколько шестнадцатеричных цифр (цифры представляющие собой набор цифр шеснадцатеричной системы счисления: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
19. Типы данных в Си
Чтобы реализовать алгоритм, программам необходимо работать с данными -- числами, символами, т.е. объектами, которые несут в себе информацию, предназначенную для использования. Некоторые данные устанавливаются равными определенным значениям еще до того, как программа начинает выполняться, а после ее запуска такие значения сохраняются неизменными на всем протяжении работы программ. Эти данные называются константами. Данные, которые могут изменяться, или же им могут быть присвоены значения во время выполнения программы, называются переменными. Различие между переменной и константой очевидно: во время выполнения программы значение переменной может быть изменено (например с помощью присваивания), а значение константы изменить нельзя.
Кроме различия между переменными и константами существует еще различие между типами данных. Некоторые данные в программе являются числами, некоторые -- символами. Компилятор должен уметь идентифицировать и обрабатывать данные любого типа. В языке Си предусмотрено использование нескольких основных типов данных. Если величина есть константа, то компилятор может распознать ее тип только по тому виду, в котором она присутствует в программе. В случае переменной необходимо, чтобы ее тип был объявлен в операторе описания. В стандарте языка Си используется семь ключевых слов, указывающих на различные типы данных:
int
long
short
unsigned
char
float
double
Первые четыре ключевых слова используются для представления целых, т.е. целых чисел без десятичной, дробной части. Если мы хотим подчеркнуть, что целое не может быть отрицательным, то нужно к целому подписывать ключевое слово unsigned, например, unsigned short. char предназначено для указания на буквы и другие символы. float, double используются для представления чисел с десятичной точкой.
20. Константы в Си. Функции
Константами называются перечисление величин в программе. В языке СИ разделяют четыре типа констант: целые константы, константы с плавающей запятой, символьные константы и строковыми литералы.
Целые константы. Согласно правилам языка Си, число без десятичной точки и без показателя степени рассматривается как целое. Поэтому компилятор по записи константы определяет, целая она или вещественная. Если нужно ввести константу типа long, то нужно указать признак L или l в конце числа. Если при записи константы целое начинается с цифры 0, то эта константа интерпретируется как восьмеричное число, если же целое начинается с символа 0x или 0X -- как шестнадцатеричное число.
Целая константа: это десятичное, восьмеричное или шестнадцатеричное число, которое представляет целую величину в одной из следующих форм: десятичной, восьмеричной или шестнадцатеричной.
Десятичная константа состоит из одной или нескольких десятичных цифр, причем первая цифра не должна быть нулем (в противном случае число будет воспринято как восьмеричное).
Восьмеричная константа состоит из обязательного нуля и одной или нескольких восьмеричных цифр (среди цифр должны отсутствовать восьмерка и девятка, так как эти цифры не входят в восьмеричную систему счисления).
Шестнадцатеричная константа начинается с обязательной последовательности 0х или 0Х и содержит одну или несколько шестнадцатеричных цифр (цифры представляющие собой набор цифр шеснадцатеричной системы счисления: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
Примеры целых констант:
Десятичная Восьмеричная Шестнадцатеричная
константа константа константа
16 020 0x10
127 0117 0x2B
240 0360 0XF0
Если требуется сформировать отрицательную целую константу, то используют знак "-" перед записью константы (который будет называться унарным минусом). Например: -0x2A, -088, -16 .
Каждой целой константе присваивается тип, определяющий преобразования, которые должны быть выполнены, если константа используется в выражениях. Тип константы определяется следующим образом:
- десятичные константы рассматриваются как величины со знаком, и им присваивается тип int (целая) или long (длинная целая) в соответствии со значением константы. Если константа меньше 32768, то ей присваивается тип int в противном случае long.
- восьмеричным и шестнадцатеричным константам присваивается тип int, unsigned int (беззнаковая целая), long или unsigned long в зависимости от значения константы согласно.
Функция - это самостоятельная единица программы, созданная для решения конкретной задачи. Функция в языке С играет ту же роль, что и подпрограммы или процедуры в других языках. Функция оформляется так же, как процедура: заголовок и тело функции в фигурных скобках.
* Перед именем процедуры ставится тип результата (int, float, char, и т.д.) -- это означает, что она возвращает значение указанного типа. Логическая функция - это функция, возвращающая 1 (если ответ «Да») или 0 (если ответ «Нет»).
Логические функции используются в основном в двух случаях:
* Если надо проанализировать ситуацию и ответить на вопрос, от которого зависят дальнейшие действия программы.
* Если надо выполнить какие-то сложные операции и определить, была ли при этом какая-то ошибка. По определению функция может вернуть только одно значение-результат. Если надо вернуть два и больше результатов, приходится использовать специальный прием -- передачу параметров по ссылке
21. Рекурсия в Си
Рекурсия является одним из наиболее мощных средств в арсенале программиста. Рекурсивные структуры данных и рекурсивные методы широко используются при построении программных систем. Рекурсивные методы, как правило, наиболее всего удобны при работе с рекурсивными структурами данных - списками, деревьями. Рекурсивные методы обхода деревьев служат классическим примером.
Определение 6 (рекурсивного метода): метод P (процедура или функция) называется рекурсивным, если при выполнении тела метода происходит вызов метода P.
Рекурсия может быть прямой, если вызов P происходит непосредственно в теле метода P. Рекурсия может быть косвенной, если в теле P вызывается метод Q (эта цепочка может быть продолжена), в теле которого вызывается метод P. Определения методов P и Q взаимно рекурсивны, если в теле метода Q вызывается метод P, вызывающий, в свою очередь, метод Q.
Для того чтобы рекурсия не приводила к зацикливанию, в тело нормального рекурсивного метода всегда встраивается оператор выбора, одна из ветвей которого не содержит рекурсивных вызовов. Если в теле рекурсивного метода рекурсивный вызов встречается только один раз, значит, что рекурсию можно заменить обычным циклом, что приводит к более эффективной программе, поскольку реализация рекурсии требует временных затрат и работы со стековой памятью. Приведу вначале простейший пример рекурсивного определения функции, вычисляющей факториал целого числа:
public long factorial(int n)
{
if (n<=1) return(1);
else return(n*factorial(n-1));
}//factorial
Функция factorial является примером прямого рекурсивного определения - в ее теле она сама себя вызывает.
22. Основы алгоритмизации и технологии программирования. Понятие алгоритма и его свойства. Способы описания алгоритмов
Алгоритм -- описанная на некотором языке точная конечная система правил, определяющая содержание и порядок действий над некоторыми объектами, строгое выполнение которых дает решение поставленной задачи. Понятие алгоритма, являющееся фундаментальным в математике и информатике, возникло задолго до появления средств вычислительной техники. алгоритм существует не сам по себе, а предназначен для определенного исполнителя (человека, робота, компьютера, языка программирования и т.д.). Свойством, характеризующим любого исполнителя, является то, что он умеет выполнять некоторые команды. Совокупность команд, которые данный исполнитель умеет выполнять, называется системой команд исполнителя. Алгоритм описывается в командах исполнителя, который будет его реализовы- вать. Объекты, над которыми исполнитель может совершать действия, образуют так называемую среду исполнителя. Исходные данные и результаты любого алгоритма всегда принадлежат среде того исполнителя, для которого предназначен алгоритм.
Значение слова «алгоритм» очень схоже со значениями слов «рецепт», «метод», «процесс». Однако, в отличие от рецепта или процесса, алгоритм характеризуется следующими свойствами: дискретностью, массовостью, определенностью, результативностью, формальностью.
Дискретность (разрывность -- противоположно непрерывности)-- это свойство алгоритма, характеризующее его структуру: каждый алгоритм состоит из отдельных законченных действий, говорят: «Делится на шаги». Массовость -- применимость алгоритма ко всем задачам рассматриваемого типа, при любых исходных данных. Определенность (детерминированность, точность) -- свойство алгоритма, указывающее на то, что каждый шаг алгоритма должен быть строго определен и не допускать различных толкований; Результативность -- свойство, состоящее в том, что любой алгоритм должен завершаться за конечное (может быть очень большое) число шагов. Вопрос о рассмотрении бесконечных алгоритмов остается за рамками теории алгоритмов.
Формальность - это свойство указывает на то, что любой исполнитель, способный воспринимать и выполнять инструкции алгоритма, действует формально. Рассмотрим следующие способы описания алгоритма: словесное описание, псевдокод, блок-схема, программа.
Словесное описание представляет структуру алгоритма на естественном языке. Например, любой прибор бытовой техники (утюг, электропила, дрель и т.п.) имеет инструкцию по эксплуатации, т.е. словесное описания алгоритма, в соответствии которому данный прибор должен использоваться. Псевдокод -- описание структуры алгоритма на естественном, частично формализованном языке, позволяющее выявить основные этапы решения задачи, перед точной его записью на языке программирования. Блок-схема -- описание структуры алгоритма с помощью геометрических фигур с линиями-связями, показывающими порядок выполнения отдельных инструкций. Программа -- описание структуры алгоритма на языке алгоритмического программирования.
23. Основные алгоритмические конструкции. Линейная алгоритмическая конструкция. Разветвляющаяся алгоритмическая конструкция
Элементарные шаги алгоритма можно объединить в следующие алгоритмические конструкции: линейные (последовательные), разветвляющиеся, циклические и рекурсивные.
Линейной называют алгоритмическую конструкцию, реализованную в виде последовательности действий (шагов), в которой каждое действие (шаг) алгоритма выполняется ровно один раз, причем после каждого /-го действия (шага) выполняется (/+1)-е действие (шаг), если /-е действие -- не конец алгоритма. Пример 6.1. Опишем алгоритм сложения двух чисел на псевдокоде в виде блок-схемы (рис. 6.1).
Псевдокод:
1. Ввод двух чисел a, b.
2. Вычисляем сумму S = а + b.
3. Вывод S.
4. Конец.
Разветвляющейся (или ветвящейся) называется алгоритмическая конструкция, обеспечивающая выбор между двумя альтернативами в зависимости от значения входных данных. При каждом конкретном наборе входных данных разветвляющийся алгоритм сводится к линейному. Различают неполное {если -- то) и полное (если -- то -- иначе) ветвления. Полное ветвление позволяет организовать две ветви в алгоритме (то или иначе), каждая из которых ведет к общей точке их слияния, так что выполнение алгоритма продолжается независимо от того, какой путь был выбран (рис. 6.2). Неполное ветвление предполагает наличие некоторых действий алгоритма только на одной ветви (то), вторая ветвь отсутствует, т.е. для одного из результатов проверки никаких действий выполнять не надо, управление сразу переходит к точке слияния (рис. 6.3).
Пример 6.2.
Вывести значение наибольшего из двух чисел.
Псевдокод:
1. Ввод двух чисел а, Ь.
2. ЕСЛИ а > Ь, ТО «выводим а», ИНАЧЕ «выводим Ь».
3. Конец.
24. Алгоритмическая конструкция «Цикл». Рекурсивный алгоритм
Алгоритмическоя конструкция «Цикл»
Циклической (или циклом) называют алгоритмическую
конструкцию, в которой некая, идущая подряд группа действий (шагов) алгоритма может выполняться несколько раз, в зависимости от входных данных или условия задачи. Группа повторяющихся действий на каждом шагу цикла называется телом цикла. Любая циклическая конструкция содержит в себе элементы ветвящейся алгоритмической конструкции. Рассмотрим три типа циклических алгоритмов: цикл с параметром (который называют арифметическим циклом), цикл с предусловием и цикл с постусловием (их называют итерационными).6.3.4. Рекурсивный алгоритм
Рекурсивным называется алгоритм, организованный таким образом, что в процессе выполнения команд на каком-либо шаге он прямо или косвенно обращается сам к себе.
25. Языки программирования. Компиляторы и интерпретаторы. Системы программирования. Классификация и обзор языков программирования
Языки программирования -- это формальные искусственные языки. Как и естественные языки, они имеют алфавит, словарный запас, грамматику и синтаксис, а также семантику. Взаимодействие синтаксических и семантических правил определяет основные понятия языка, такие как операторы, идентификаторы, константы, переменные, функции, процедуры и т.д. В отличие от естественных, язык программирования имеет ограниченный запас слов (операторов) и строгие правила их написания, а правила грамматики и семантики, как и для любого формального языка, явно однозначно и четко сформулированы. Языки программирования, ориентированные на команды процессора и учитывающие его особенности, называют языками низкого уровня. «Низкий уровень» не означает неразвитый, имеется в виду, что операторы этого языка близки к машинному коду и ориентированы на конкретные команды процессора. Языком самого низкого уровня является ассемблер. Программа, написанная на нем, представляет последовательность команд машинных кодов, но записанных с помощью символьных мнемоник. С помощью языков низкого уровня создаются компактные оптимальные программы, так как программист получает доступ ко всем возможностям процессора. С помощью языка программирования создается текст программы, описывающий разработанный алгоритм. Чтобы программа была выполнена, надо либо весь ее текст перевести в машинный код (это действие и выполняет программа -- компилятор) и затем передать на исполнение процессору, либо сразу выполнять команды языка, переводя на машинный язык и исполняя каждую команду поочередно (этим занимаются программы -- интерпретаторы). Интерпретатор функционирует следующим образом: берет оче- редной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет. После успешного выполнения текущей команды интерпретатор переходит к анализу и исполнению следующей. Если один и тот же оператор в программе выполняется несколько раз, интерпретатор всякий раз воспринимает его так, будто встретил впервые. Поэтому программы, в которых требуется произвести большой объем повторяющихся вычислений, будут работать медленно. Для выполнения программы на другом компьютере также необходимо установить интерпретатор, так как без него программа представляет собой набор слов и работать не может. Компиляторы полностью обрабатывают весь текст программы (его называют исходным кодом или source code). Они осуществляют поиск синтаксических ошибок, выполняют семантический анализ и только затем, если текст программы в точности соответствует правилам языка, его автоматически переводят (транслируют) на машинный язык (говорят: генерируют объектный код или object code). Нередко при этом выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы. Сгенерированный объектный код обрабатывается специальной программой
-- сборщиком или редактором связей, который производит связывание объектного и машинного кодов. Текст программы преобразуется в готовый к исполнению ЕХЕ-файл {исполнимый код), его можно сохранить в памяти компьютера или на диске. Этот файл имеет самостоятельное значение и может работать под управлением операционной системы. Его можно перенести на другие компьютеры с процессором, поддерживающим соответствующий машинный код.
Основной недостаток компиляторов -- трудоемкость трансляции языков программирования, ориентированных на обработку данных сложной структуры, заранее неизвестной или динамически меняющейся во время работы программы.
Процедурное или императивное (от лат. imperativus -- повелительный) программирование есть отражение фон Неймановской архитектуры компьютера. Программа, написанная на этом языке, представляет собой последовательность команд, определяющих алгоритм решения задачи. Основной командой является команда присвоения, предназначенная для определения и изменения содержимого памяти компьютера. Одним из первых процедурных языков программирования высоко- го уровня стал Фортран (FORmula TIMNslation), созданный в начале 50-х гг. в США фирмой IBM. Первая публикация о нем появилась в 1954 г. Основное назначение языка -- программирование научно-технических задач. Кобол (COmmon Business Oriented Language -- общепринятый деловой язык) -- язык программирования, ориентированный на решение задач обработки данных. Широко используется для решения учетно-экономических и управленческих задач. Алгол (ALGOrithmic Language) разработан группой зарубежных специалистов в 1960 г., явился результатом международного сотрудничества конца 50-х гг. (Алгол-60). Алгол предназначался для записи алгоритмов, построенных в виде последовательности процедур, применяемых при решении поставленных задач. Паскаль (Pascal) является одним из наиболее популярных процедурных языков программирования, особенно для персональных компьютеров. Фундаментальная идея процедурного программирования -- использование памяти компьютера для хранения данных. Основой объектно-ориентированного программирования (ООП) является понятие объект. Его суть состоит в том, что объект объединяет в себе структуры данных и характерные только для него процедуры (методы) их обработки. К наиболее распространенным современным языкам программирования относятся C++ и Java. VBA (Visual Basic for Application) является общей языковой платформой для приложений Microsoft Office (Excel, Word, Power Point и др.). VBA соблюдает основной синтаксис и правила программирования языков Бейсик-диалектов.
26. Этапы подготовки и решения задач на компьютере. Основы информационных систем
Компьютер предназначен для решения разнообразных задач: научно-технических, инженерных, разработки системного программного обеспечения, обучения, управления производственными процессами и т.д. В процессе подготовки и решения на компьютере научно-технических задач можно выделить следующие этапы:
1. Постановка задачи -- формулируется цель решения задачи, подробно описывается ее содержание; проводится анализ условий, при которых решается поставленная задача, выявляется область определения входных параметров задачи. 2. Формальное построение модели задачи -- предполагает построение модели с характеристиками, адекватными оригиналу, на основе какого-либо его физического или информационного принципа; анализируется характер и сущность величин, используемых в задаче. 3. Построение математической модели задачи -- характеризуется математической формализацией задачи, при которой существующие взаимосвязи между величинами выражаются с помощью математических соотношений. Как правило , математическая модель строится с определенной точностью, допущениями и ограничениями.
4. Выбор и обоснование метода решения -- модель решения задачи реализуется на основе конкретных приемов и методов решения. В большинстве случаев математическое описание задачи трудно перевести на машинный язык. Выбор и использование метода решения позволяет свести решение задачи к конкретному набору машинных команд. При обосновании метода решения рассматриваются вопросы влияния различных факторов и условий на конечный результат, в том числе на точность вычислений, время решения задачи на компьютере, требуемый объем памяти и др.
5. Построение алгоритма -- на данном этапе составляется алгоритм решения задачи, в соответствии с выбранным методом решения. Процесс обработки данных разбивается на отдельные относительно самостоятельные блоки, определяется последовательность выполнения этих блоков. 6. Составление программы -- алгоритм решения переводится на конкретный язык программирования.
7. Отладка программы -- процесс устранения синтаксических и логических ошибок в программе. В процессе трансляции программы с помощью синтаксического и семантического контроля выявляются недопустимые конструкции и символы (или сочетания символов) для данного языка программирования. Компьютер выдает сообщение об ошибках в форме, соответствующей этому языку.
8. Решение задачи на компьютере и анализ результатов. Теперь программу можно использовать для решения поставленной задачи. Первоначально выполняется многократное решение задачи на компьютере для различных наборов исходных данных
Первое связано с выполнением больших численных расчетов, которые трудно или невозможно произвести вручную. Развитие этой области способствовало ускорению развития методов математического моделирования, численных методов, языков программирования высокого уровня, рассчитанных на удобное представление вычислительных алгоритмов.
Второе направление связано с использованием вычислительной техники для создания, хранения и обработки больших массивов данных. Такие задачи решают информационные системы (в дальнейшем -- ИС). К ним относятся поисковые, справочные, банковские системы, автоматизированные системы управления предприятием. Предметом настоящего рассмотрения являются программные продукты второй области применения -информационные системы. Информационная система представляет собой аппаратно-программный комплекс, обеспечивающий выполнение следующих функций:
* ввод данных об объектах некоторой предметной области;
* надежное хранение и защита данных во внешней памяти вычислительной системы;
* дополнение, удаление, изменение данных;
* сортировка, выборка данных по запросам пользователей;
* выполнение специфических для данной предметной области преобразований информации;
* предоставление пользователям удобного интерфейса;
* обобщение данных и составление отчетов. Объем данных в ИС может исчисляться миллиардами байт.
Отсюда необходимость устройств, хранящих большие объемы данных во внешней памяти. Число пользователей ИС может достигать десятков тысяч, что создает немало проблем в реализации эффективных алгоритмов функционирования ИС. Успешно решаются эти задачи, если данные в информационной системеструктурированы.
27. Базы данных . Основные понятия. Классификация баз данных
Совокупность взаимосвязанных данных называется структурой данных. Совокупность структурированных данных, относящихся к одной предметной области, называется базой данных (БД). Совокупность программ, реализующих в БД функции ИС в удобной для пользователя форме, называется системой управления базой данных (СУБД). Программы, производящие специфическую обработку данных в БД, составляют пакет прикладных программ (ППП). Можно заключить, что ИС -- это организационное объединение аппаратного обеспечения (АО), одной или нескольких баз данных (БД), системы управления базами данных (СУБД) и пакетов прикладных программ (ППП).По технологии обработки данных БД подразделяются на централизованные и распределенные.
Централизованная БД хранится целиком в памяти одной вычислительной системы. Если система входит в состав сети, то возможен доступ к этой БД других систем.
Распределенная БД состоит из нескольких, возможно пересекающихся или дублирующих друг друга БД, хранимых в памяти разных вычислительных систем, объединенных в сеть. По способу доступа к данным БД распределяются на локальный и удаленный (сетевой) доступ. Локальный доступ предполагает, что СУБД обрабатывает БД, которая хранится на том же компьютере.
Удаленный доступ -- это обращение к БД, которая хранится на одном из компьютеров, входящих в компьютерную сеть. Удаленный доступ может быть выполнен по принципу файл-сервер или клиент-сервер. Архитектура файл-сервер предполагает выделение одного из компьютеров сети (сервер) для хранения централизованной БД. Все остальные компьютеры сети (клиенты) исполняют роль рабочих станций, которые копируют требуемую часть централизованной БД в свою память, где и происходит обработка. Архитектура клиент-сервер предполагает, что сервер, выделенный для хранения централизованной БД, дополнительно производит обработку клиентских запросов. Клиенты получают по сети уже обработанные данные.
28. Модели данных. Проектирование баз данных
Для реализации основных функций в ИС используются различные принципы описания данных. Ядром любой БД является модель представления данных. Подробному описанию различных моделей посвящена следующая глава. Пока же рассмотрим реляционную модель данных, ориентированную на организацию данных в виде двумерных таблиц. Реляционная модель данных является наиболее универсальной, к ней могут быть сведены другие модели. Важнейшим понятием реляционных моделей данных является сущность. Сущность -- это объект любой природы, данные о котором хранятся в БД. Данные о сущности хранятся в двумерных таблицах, которые называют реляционными. Каждая реляционная таблица должна обладать следующими свойствами:
* один элемент таблицы -- один элемент данных;
* все столбцы таблицы содержат однородные по типу данные (целочисленный, числовой, текстовый, и т.д.);
* каждый столбец имеет уникальное имя;
* число столбцов задается при создании таблицы;
* порядок записей в отношении может быть произвольным;
* записи не должны повторяться;
* количество записей в отношении не ограничено.
Объекты, их взаимосвязи и отношения представлены в виде таблиц. Формальное построение таблиц связано с фундаментальным понятием отношение (термин реляционная исходит от английского слова relation -- отношение). Проектирование базы данных является одним из этапов жизненного цикла ИС. Ввиду сложности этот этап выполняется, как правило, коллективом разработчиков и включает следующие работы:
* анализ предметной области;
* проектирование и непосредственно кодирование (создание запросов и приложений);
* тестирование и сопровождение.
Анализ предметной области Проектирование баз данных начинается с анализа предметной области, в которой будет работать ИС. Как правило, этот этап выполняется разработчиками ИС совместно с заказчиком. Обычным языком описываются информационные объекты, их свойства, их взаимосвязи, описываются пожелания будущих пользователей. Результатом такой работы является техническое задание на разработку ИС.
В техническом задании более строго указывается список исходных данных, список запросов к ИС, список выходных данных, оговаривается интерфейс, определяющий переход от представления данных в БД к представлению, принятому среди пользователей, и обратно. В общем случае пользователи представляют данные в виде документов различных видов, от произвольных текстов до справок и таблиц фиксированного формата. Затем собственно и начинается проектирование базы данных.
Проектирование баз данных осуществляется на двух уровнях -- физическом и логическом. На физическом уровне решаются вопросы размещения данных на внешних носителях. Во многом эта работа выполняется СУБД автоматически без участия разработчика. На логическом уровне составляется общий список полей, который может насчитывать от единиц до тысяч. Описывают каждое поле по типу данных. Общий список полей разбивается на основные таблицы. Дальнейшее рассмотрение информационной структуры приводит к разбиению -- нормализации -- основных таблиц на более мелкие с целью избежания многократно повторяющихся данных в записях, что уменьшает объем памяти, занимаемый базой данных на диске, и обеспечивает непротиворечивость данных в БД. -
29. Компьютерные сети. Назначение и классификация компьютерных сетей. Типы сетей
Объединение компьютеров и средств коммуникации оказало существенное влияние на принципы организации компьютерных систем. Модель, в которой один компьютер выполнял всю необходимую работу по обработке данных, уступила место модели, представляющей собой большое количество отдельных, но связанных между собой компьютеров. Такие системы называются компьютерными сетями. Два или более компьютера называются связанными между собой, если они могут обмениваться информацией. Для каких же целей используются компьютерные сети?
* Первая цель -- предоставление доступа к программам, оборудованию и особенно данным для любого пользователя сети. Это называется совместным использованием ресурсов.
* Вторая цель -- обеспечение высокой надежности при помощи альтернативных источников информации. Например, все файлы могут быть расположены на двух или трех машинах одновременно, так что, если одна из них недоступна по какой-либо причине, то используются другие копии. Возможность продолжать работу, несмотря на аппаратные проблемы, имеет большое значение для военных и банковских задач, воздушного транспорта, безопасности ядерного реактора и т.п.
* Третья цель -- экономия средств. Небольшие компьютеры обладают значительно лучшим соотношением цена--производительность, нежели большие. Это обстоятельство заставляет раз- работников создавать системы на основе модели клиент-сервер.
Обмен информацией в модели клиент-сервер обычно принимает форму запроса серверу на выполнение каких-либо действий. Сервер выполняет работу и отсылает ответ клиенту. Обычно в сети количество клиентов значительно больше числа используемых ими серверов.
* Четвертая цель -- масштабируемость, т.е. способность увеличивать производительность системы по мере роста нагрузки. В случае модели клиент-сервер новые клиенты и новые серверы могут добавляться по мере необходимости.
* Пятая цель -- ускорение передачи информации. Компьютерная сеть является мощным средством связи между удаленными друг от друга пользователями. Если один из них изменяет документ, находящийся на сервере, в режиме on-line, остальные могут немедленно увидеть эти изменения. Имеется два важнейших параметра классификации сетей: технология передачи и размеры.
Существуют два типа технологии передачи:
* широковещательные сети;
* сети с передачей от узла к узлу.
Широковещательные сети обладают единым каналом связи, совместно используемым всеми машинами сети. Короткие сообщения, называемые пакетами, посылаемые одной машиной, принимаются всеми машинами. Сети с передачей от узла к узлу состоят из большого количества соединенных пар машин. В такой сети пакету необходимо пройти через ряд промежуточных машин, чтобы добраться до пункта назначения. Локальными сетями (ЛВС -- локальные вычислительные сети или
LAN -- Local Area Network) называют сети, размещающиеся, как правило, в одном здании или на территории какой-либо организации размерами до нескольких километров. Их часто используют для предоставления совместного доступа компьютеров к ресурсам (например, принтерам) и обмена информацией. Локальные сети отличаются от других сетей тремя характеристиками: размерами, технологией передачи данных и топологией. Обычные ЛВС имеют пропускную способность канала связи от 10 до 100 Мбит/с, небольшую задержку -- десятые доли мкс и очень мало ошибок. Муниципальные или региональные сети (MAN -- Metropolitan AN) являются увеличенными версиями локальных сетей и обычно используют схожие технологии. Такая сеть может объединять несколько предприятий корпорации или город. Муниципальная сеть может поддерживать передачу цифровых данных, звука и включать в себя кабельное телевидение. Обычно муниципальная сеть не содержит переключающих элементов для переадресации пакетов во внешние линии, что упрощает структуру сети. Глобальные сети (Wide AN или ГВС) охватывают значительную территорию, часто целую страну или даже континент. Они объединяют множество машин, предназначенных для выполнения приложений. Эти машины называются хостами. Хосты соединяются коммуникационными подсетями или просто подсетями. Задачей подсети является передача сообщений от хоста хосту, подобно тому, как телефонная система переносит слова говорящего слушающему. То есть коммуникативный аспект сети -- подсеть отделен от прикладного аспекта -- хостов, что значительно упрощает структуру сети.
30. Топология сетей. Сетевые компоненты. Сетевые стандарты. Эталонная модель OSI. Стандарт IEEE Project 802
Термин топология сети характеризует способ организации физических связей компьютеров и других сетевых компонентов. Выбор той или иной топологии влияет на состав необходимого сетевого оборудования, возможности расширения сети и способ управления сетью. Топология -- это стандартный термин. Все сети строятся на основе базовых топологий: шина, звезда, кольцо, ячеистая. Сами по себе базовые топологии не сложны, однако на практике часто встречаются довольно сложные их комбинации.
Шина. Эту топологию (рис. 7.1) часто называют линейной шиной. Она наиболее простая из всех топологий и весьма распространенная. В ней используется один кабель, называемый магистралью или сегментом, вдоль которого подключены все компьютеры.
В сети с топологией шина данные в виде электрических сигналов передаются всем компьютерам сети, но принимает их тот, адрес которого совпадает с адресом получателя, зашифрованном в этих сигналах. Шина -- пассивная топология: компьютеры только слушают передаваемые по сети данные, но не перемещают их от отправителя к получателю. Поэтому выход одного или нескольких компьютеров из строя никак не сказывается на работе сети.
Звезда. При топологии звезда (рис. 7.2) все компьютеры с помощью сегментов кабеля подключаются к центральному устройству, называемому концентратором (hub). Сигналы от передающего компьютера поступают через концентратор ко всем остальным. Рис. 7. 2. Топология звезда В настоящее время концентратор стал одним из стандартных компонентов сетей. В сетях с топологией звезда он, например, служит центральным узлом. Концентраторы делятся на активные и пассивные. Активные регенерируют и передают сигналы так же, как репитеры. Их называют многопортовыми повторителями. Обычно они имеют от 8 до 12 портов для подключения компьютеров. Активные концентраторы следует подключать к электрической сети. К пассивным концентраторам относятся монтажные или коммутирующие панели. Недостатки этой топологии: дополнительный расход кабеля, установка концентратора.
Кольцо. Компьютеры подключаются к кабелю, замкнутому в кольцо (рис. 7.3). Сигналы передаются по кольцу в одном направлении и проходят через каждый компьютер. В отличие от пассивной топологии шина, здесь каждый компьютер выступает в роли репитера (повторителя), усиливая сигналы и передавая их следующему компьютеру. Поэтому выход из строя хотя бы одного компьютера приводит к падению сети.
Способ передачи данных по кольцу называется передачей маркера. Ячеистая топология. Сеть с ячеистой топологией обладает высокой избыточностью и надежностью, так как каждый компьютер в такой сети соединен с каждым другим отдельным кабелем
Кроме базовых топологий существуют их комбинации -- комбинированные топологии. Чаще всего используются две комбинированные топологии: звезда-шина и звезда-кольцо. Звезда-шина -- несколько сетей с топологией звезда объединяются при помощи магистральной линейной шины (к концентратору подключены компьютеры, а сами концентраторы соединены шиной).
В большинстве сетей применяются три основные группы кабелей:
* коаксиальный кабель;
* витая пара (twisted pair), неэкранированная (unshielded) и экранированная (shielded);
* оптоволоконный кабель.
Коаксиальный кабель до недавнего времени был самым распространенным. Недорогой, легкий, гибкий, удобный, безопасный и простой в установке. Толстый -- жесткий, диаметр 1,27 см (0,5"). Его иногда называют стандартный Ethernet (первый кабель в популярной сетевой архитектуре). Для подключения к толстому коаксиальному кабелю применяется специальное устройство - трансивер (transceiver - приемопередатчик). Он снабжен коннектором, который называется вампир или пронзающий ответвитель. Витая пара -- это два перевитых изолированных медных провода. Несколько витых пар проводов часто помещают в одну защитную оболочку. Неэкранированная витая пара (UTP) широко используется в ЛВС, максимальная длина 100 м. UTP определена особым стандартом, в котором указаны нормативные характеристики кабелей для различных применений, что гарантирует единообразие продукции. Экранированная витая пара (STP) помещена в медную оплетку. Кроме того, пары проводов обмотаны фольгой. Поэтому STP меньше подвержены влиянию электрических помех и может передавать сигналы с более высокой скоростью и на большие расстояния. В оптоволоконном кабеле цифровые данные распространяются по оптическим волокнам в виде модулированных световых импульсов.
Это надежный способ передачи, так как электрические сигналы при этом не передаются. Для передачи по кабелю кодированных сигналов используют две технологии -- немодулированную и модулированную передачу.
Немодулированные системы передают данные в виде цифровых сигналов, которые представляют собой дискретные электрические или световые импульсы. При таком способе цифровой сигнал использует всю полосу пропускания кабеля (полоса пропускания -- разница между максимальной и минимальной частотой, которую можно передать по кабелю). Модулированные системы передают данные в виде аналогового сигнала (электрического или светового), занимающего некоторую полосу частот. Словосочетание беспроводная среда не означает полное отсутствие проводов в сети. Обычно беспроводные компоненты взаимодействуют с сетью, в которой в качестве среды передачи используется кабель. Такие сети называют гибридными. Беспроводная среда обеспечивает временное подключение к сушествующей кабельной сети, гарантирует определенный уровень мобильности и снижает ограничения на протяженность сети.
Применяется в служебных помещениях, где у сотрудников нет постоянного рабочего места, в изолированных помещениях и зданиях, в строениях, где прокладка кабелей запрещена. Существуют следующие типы беспроводных сетей: ЛВС, расширенные ЛВС и мобильные сети (переносные компьютеры). Основные различия между ними - параметры передачи. ЛВС и расширенные ЛВС используют передатчики и приемники той организации, в которой функционирует сеть. Для переносных компьютеров средой передачи служат общедоступные сети (например, телефонная или Internet). Платы сетевого адаптера (СА) выступают в качестве физического интерфейса, или соединения, между компьютером и сетевым кабелем. Платы вставляются в слоты расширения материнской платы всех сетевых компьютеров и серверов или интегрируются на материнскую плату.
Подобные документы
Разновидности систем счисления данных, особенности позиционной системы. Порядок перехода между основными системами счисления и реализации целочисленных операций. Представление отрицательных чисел. Представление отрицательных чисел в двоичном коде.
лабораторная работа [142,3 K], добавлен 06.07.2009Понятие и классификация систем счисления. Перевод чисел из одной системы счисления в другую. Перевод правильных и неправильных дробей. Выбор системы счисления для применения в ЭВМ. Навыки обращения с двоичными числами. Точность представления чисел в ЭВМ.
реферат [62,0 K], добавлен 13.01.2011Этапы развития информатики и вычислительной техники. Аппаратная часть персональных компьютеров. Внешние запоминающие устройства персонального компьютера. Прикладное программное обеспечение персональных компьютеров. Текстовые и графические редакторы.
контрольная работа [32,8 K], добавлен 28.09.2012Определение понятия и видов систем счисления - символического метода записи чисел, представления чисел с помощью письменных знаков. Двоичные, смешанные системы счисления. Перевод из одной системы счисления в другую и простейшие арифметические операции.
курсовая работа [232,6 K], добавлен 16.01.2012Непрерывная и дискретная информация. Кодирование как процесс представления информации в виде кода. Особенности процедуры дискретизации непрерывного сообщения. Позиционные и непозиционные системы счисления. Представление информации в двоичном коде.
реферат [117,3 K], добавлен 11.06.2010Основное программное обеспечение для автоматизации производства. Финансовые и коммуникационные системы. Системы планирования и управления. Текстовые редакторы и табличные процессоры. Финансовое программное обеспечение. Шрифтовые технологии в документах.
шпаргалка [551,9 K], добавлен 16.08.2010Формы представлений информации: непрерывная и дискретная. Стандартный стиль работы с Windows. Текстовые процессоры Microsoft Word, Microsoft Excel. Программа для создания презентаций Power Point, СУБД Access. Диалоговое окно "Пользовательская настройка".
контрольная работа [70,0 K], добавлен 24.07.2009Понятие "информация" и ее определения. Общая структура информатики. Классификация задач, решаемых на ЭВМ. Архитектура персонального компьютера. Основные концепции построения вычислительных систем. Подготовка текстовых документов. Текстовый процессор Word.
курс лекций [1008,0 K], добавлен 16.10.2010Роль и практическое значение автоматизации вычислений и обработки данных. Представление информации в компьютере, сущность системы счисления. Перевод числа из одной системы счисления в другую. Арифметические операции в позиционных системах счисления.
контрольная работа [1,2 M], добавлен 23.10.2009Общее представление о системах счисления. Перевод чисел в двоичную, восьмеричную и шестнадцатеричную системы счисления. Разбивка чисел на тройки и четверки цифр. Разряды символов числа. Перевод из шестнадцатеричной системы счисления в десятичную.
практическая работа [15,5 K], добавлен 19.04.2011