Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

информатика

.docx
Скачиваний:
94
Добавлен:
09.02.2015
Размер:
119.36 Кб
Скачать

1 Информатика определение предмет и задачи

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

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

1)Отрасль народного хозяйства

-Производство тех. Средств;

-Производство ПО;

-Разработка технологий переработки инфор.

2) фундаментальная наука:

-разработка методологии создания операционного обеспеч.

3) прикладная дисциплина:

-изучением закономерностей в информационных процессах;

-созданием информационных моделей коммуникаций;

-разработкой информационных систем и технологий.

Задачи информатики состоят в следующем:

- исследование информационных процессов любой природы;

- разработка информационной техники и создание новейшей технологии переработки информации

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

2 Основные направления

В информатике выделяют восемь основных направлений:

  1. Теоретическая информатика

  2. Кибернетика

  3. Программирование

  4. Искусственный интеллект

  5. Информационные системы

  6. Вычислительная техника

  7. Информатика в обществе

  8. Информатика в природе

  1. Занимается моделями обработки и передачи информации

2)создания и использования автоматизированных систем управления разной степени сложности в объектах различной природы.

  • Распознавание уникальных объектов, образов

  • Создание автоматических систем управления

3)созданием программ для разного рода информационных систем.

4)занимается теор. и прикладными вопросами, связанными с построением реально действующих интеллектуальных систем.

  • Семиотика

5) Информационные системы (сети хранения данных(терминалы))

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

7) Информатика в обществе - информационное общество, интернет, накопление и продажа информации, онлайн реклама, продажи...

8) биокибернетика

бионика.

Биогеоценология – проблема сохранения равновесия природных систем.

5 Программирование вложенных циклов

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

Организация цикла начинается с самого внешнего цикла в тело которого помещается вложенные циклы.

Каждый вложенный цикл управляет своими условиями окончания.

Проверка окончания циклов начинается с самого внутреннего цикла в порядке возрастания их вложения.

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

Циклы не должны пересекаться.

PROGRAM Tabul1; VAR x0, xk, y0, yk, x, y, z, x2: integer; BEGIN readln (x0,xk,y0,yk); FOR x:=x0 TO xk DO BEGIN x2:=sqr (x); FOR y:=y0 TO yk DO BEGIN z:=x2+sqr(y); writeln ('x=',x,',y=',y,',z=',z); END; END; END.

3 Формальная постановка задачи .

Один из этапов программирования

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

Отображение.

Закон, по которому элемент некоторого заданного множества X ставит в соответствие вполне определённый элемент другого множества Y.

F:(x->y) X-область определения отображения. Y-множество значений:

Y = {y=f(x), xX}

4 Типовые простые схемы алгоритмов

Типовые (простые) схемы алгоритмов.

Простая программа:

- имеет один вход и один выход

- через каждый узел проходит путь от вода к выходу (необязательно единственный).

Ну и самые простые схемы алгоритмов это

Линейный ветвление и цикл..

6 Алгоритмизация. Абстрактный вычислительный алгоритм.

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

Алгоритмизация:

  • преобразование формул

  • проектирование схем

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

Абстрактный выч. алгоритм – применяется к мат. Объектам записывается в общепринятых мат. терминах и не связан с конкретным языком програмирования.

Основные свойства:

  • Дискретность - определённые законы действия

  • Определённость - должен быть однозначным, не требовать никаких дополнительных указаний

  • Результативность - должен приводить к результату за конечно количество шагов

  • Понятность - алгоритм должен быть понятен для исполнителя

  • Эффективность

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

  • Массовость — алгоритм решения задачи разрабатывается в общем виде, то есть он должен быть применим для некоторого класса задач.

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

Определенность состоит в совпадении получаемых результатов независимо от пользователя и применяемых технических средств.

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

7 Способы задания алгоритмов

Способы задания алгоритмов:

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

— словесная (запись на естественном языке); Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задаётся в про­извольном изложении на естественном языке.

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

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

Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов.

не приняты строгие синтаксические правила

в псевдокоде обычно имеются некоторые конструкции,

есть служебные слова, смысл которых однозначно определён

алг название алгоритма (аргументы и результаты)

дано условия применимости алгоритма

надо цель выполнения алгоритма

— Языки программирования

Программный способ записи алгоритмов

(тексты на языках программирования

Алгоритм, предназначенный для исполнения на компьютере, должен быть записан на понятном ему языке. В этом случае язык для записи ал­горитмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке — программой.

8 Структурный подход к проектированию алгоритмов и программ

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

• последовательность двух или более операций;

• выбор направления;

• повторение.

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

• линейные;

• ветвящиеся;

• циклические.

Типовые схемы алгоритма:

      • Ветвление

      • цикл

      • следование

9 теорема о струкоторизации

В 60-е годы оператор goto, который позволяет передавать управление в очень широких пределах.

Исследование Бома и Джакопини показало, что программы могут быть написаны без использования оператора goto.

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

1. Следования.

2. Если-то-иначе.

3. Цикл с предусловием.

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

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

10 Обращение неструктурных программ в структурированые

В основе с.п. лежит одно требование :каждый модуль алгоритма или программы должен иметь один вход и один выход.

Логическая структура программы может быть выражена при помощи комбинаций трех структур. 1. Функциональный блок; 2. Конструкция принятия двоичного решения; 3. Конструкции обобщенного цикла.

Функциональный блок – это последовательность вычислений или отдельный вычислительный оператор с единственным входом и единственным выходом. Изо

11 Метод дублирования процессов

Метод дублирования кодов программы, как способ преобразования неструктурированных программ в структурированные рассмотрим на примере. 

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

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

12 Метод булевого признака

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

. . .

. . .

FLAG = 0

. . .

. . .

WHILE FLAG = 0 DO

BEGIN

. . .

. . .

IF X = Y THEN FLAG=I

. . .

. . .

END

13 Программирование. Общие понятия

Программирование - процесс создания последовательности действий для получения ожидаемого результата.

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

Требования, предъявляемые к программе

1. Минимальные требования к компьютеру, на котором работает программа.

2. Ясность входных и выходных данных и простота программы.

3. Минимальное время создания программы и простота ее изменения.

4. Минимальное время работы программы, минимум занимаемой памяти и минимум использованных в программе операторов.

Свойства программ:

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

Мобильность - возможность переноса программы на другой тип компьютеров.

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

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

14 Основные этапы решения задач на ЭВМ.

1. Постановка задачи:

•   сбор информации о задаче;

•   формулировка условия задачи;

•   определение конечных целей решения задачи;

•   определение формы выдачи результатов;

•   описание данных (их типов, диапазонов величин, структуры и т. п.).

2. Анализ и исследование задачи, модели:

•   анализ существующих аналогов;

•   анализ технических и программных средств;

•   разработка математической модели;

•   разработка структур данных.

3. Разработка алгоритма:

•   выбор метода проектирования алгоритма;

•    выбор формы записи алгоритма (блок-схемы, псевдокод и др.);

•    выбор тестов и метода тестирования;

•    проектирование алгоритма.

4. Программирование:

•   выбор языка программирования;

•   уточнение способов организации данных;

•   запись алгоритма на выбранном языке

программирования.

5. Тестирование и отладка:

•   синтаксическая отладка;

•   отладка семантики и логической структуры;

•    тестовые расчеты и анализ результатов тестирования;

•   совершенствование программы.

6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5.

7. Сопровождение программы:

•   доработка программы для решения конкретных задач;

•   составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию.

15 Состав языков программирования: алфавит, синтаксис, семантика.

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

Описание каждого элемента языка задается его синтаксисом и семантикой.

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

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

16 Типы и структуры данных.

В языке Паскаль существуют скалярные и структурированные типы данных.

К скалярным типам относятся стандартные типы и типы, определяемые пользователем.

Иерархия типов в языке Паскаль такая:

  • Простые

  1. Порядковые

  • Целые

  • Логические

  • Символьные

  • Перечисляемые

  • Интервальные

  1. Вещественные

  • Структуированные

  1. Массивы

  2. Строки

  3. Множества

  4. Записи

  5. Файлы

  • Указатели

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

18 Векторы и Алгебра векторов.

Вектор – упорядочная система «n» - элементов.

Вектор в программировании— одномерный массив.

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

Вектор—это элемент векторного пространства. С точки зрения математики, после выбора базиса пространства, вектор представляет собой набор величин (координат вектора), которые меняются строго определённым образом при изменении базиса и системы координат,

транспонированием

Нулевым вектором называется вектор, все элементы которого раны нулю. Он обозначается 0.

Два вектора одинаковой размерности N можно перемножить.

Норма вектора

Скалярное произведение вектора самого на себя называется скалярным квадратом. Эта величина определяет квадрат длины вектора x.

Скалярное произведение определяет и угол φ между двумя векторами x и yЕсли вектора ортогональны, то cosφ = 0 и φ = π/2, а если они колинеарны, то cosφ = 1 и φ = 0.

19 Конструктор-селектор вектора в различных языках программирования

Описание массива в Паскале.

В языке Паскаль тип массива задается с использованием специального слова array (англ. – массив), и его объявление в программе выглядит следующим образом:

Type < имя _ типа >= array [ I ] of T;

Вот, например, объявление двух типов: vector в виде массива Паскаля из 10 целых чисел и stroka в виде массива из 256 символов:

Type

Vector=array [1..10] of integer;

Stroka=array [0..255] of char;

В языке С++

vector<int> myVector; // Пустой вектор из элементов типа int

vector<float> myVector(10) // Вектор из 10-и элементов типа float

vector<char> myVector(5, ' ') // Вектор, состоящий из 5-и пробелов

Обрещение к элементам вектора

myVector [i]

20 Матрицы и матричное исчисление.

Матрица – двумерный масив

Array [1..10,1..10] of real

a [ i , j ]

Простейшие операции с матрицами

  • Матрицы можно умножать на числа. При этом каждый элемент умножается на это число.

  • Две матрицы одинаковой размерности можно поэлементно складывать и вычитать.

  • Матрицу можно транспонировать. При этой операции матрица переворачивается, т.е. строки и столбцы меняются местами.

  • Матрицы можно перемножать, но только в том случае, когда они имеют соответствующие размерности.

  • Матрица называется диагональной, если все ее элементы, кроме диагональных (aii) равны нулю.

  • Матрица A называется верхней треугольной, если все ее элементы, лежащие ниже диагонали, равны нулю, т.е. aij = 0, при i>j. Например

  • Матрица A называется симметричной, если At = A. Иными словами aij = aji. Например

  • Матрица называется нормальной если

  • AtA = AAt.

  • Следом квадратной матрицы A (обозначается Tr(A) или Sp(A)) называется сумма ее диагональных элементов,

  • Другой важной характеристикой квадратной матрицы является ее определитель (обозначается det

21 конструктор-селектор вектора в разных языках программирования

На языка Pascal

var a: array[1..10] of integer; {одномерный массив(матрица)}

На языке C++

int Matrix[a][b] = { //при а и b равное 2

(),

()

};

22 Множества и алгебра множеств

Множество есть совокупность различных элементов, мыслимая как единое целое

Задаётся перечислением тех объектов которые входят в множества.

В Турбо Паскале множество может содержать от 0 до 255 элементов

23 Операции над множествами и их свойства

Принадлежность элемента множеству:

Где a - элемент и A-- множество

 Объединение множеств:.

 Пересечение множеств: .

 Разность множеств:A\B.

 Симметрическая разность множеств:.

 Дополнение множества: .

Если предположим, что множество A является подмножеством некоторого универсального множества U тогда определяется операция дополнения:

 Вхождение одного множества в другое множество:.

 Не вхождение одного множества в другое множество:.

24 Множественный тип данных.

Множественный тип данных – состоит из нескольких значений базового типа.

Var<идентификатор>: Set Of <базовый тип>

Var A,D: Set Of Byte;

Определение. Под множеством в Паскале понимается конечная совокупность элементов, принадлежащих некоторому базовому типу.

Некоторые моменты математического аппарата этой теории реализованы в Паскале через множественный тип данных.

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

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

25 Символьный тип данных

Символьный тип (Char) Символьный тип (Сhar) — простой тип данных, предназначенный для хранения одного символа в определённой кодировке.

Символьная константа может записываться в тексте программы тремя способами:

– как один символ, заключенный в апострофы, например:'A'

– с помощью конструкции вида #K, где K – код соответствующего символа, при этом значение K должно находиться в пределах 0…255;

– с помощью конструкции вида ^C, где C – код соответствующего управляющего символа, при этом значение C должно быть на 64 больше кода управляющего символа.

К величинам символьного типа применимы все операции отношения.

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

Ord(C), Chr(K).

Первая функция определяет порядковый номер символа С в наборе символов, вторая определяет по порядковому номеру К символ, стоящий на К-м месте в наборе символов. Порядковый номер имеет целый тип.

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

Pred(C), Succ(C), Pred('F') = 'E', Succ('Y') = 'Z'.

26 Строковый тип операция конкатенации

Строка — это последовательность символов. Каждый символ занимает 1 байт памяти (код ASCII). Количество символов в строке называется ее длиной. Длина строки может находиться в диапазоне от 0 до 255. Строковые величины могут быть константами и переменными. Особенностью строки в Turbo Pascal является то, что с ней можно работать как с массивом символов, с одной стороны, и как с единым объектом, — с другой. 

Var <идентификатор> :string[<максимальная длина строки>];

Конкатена́ция (сцепле́ние) — операция склеивания объектов линейной структуры, обычно строк. Например, конкатенация слов «микро» и «мир» даст слово «микромир». (пример s:=concat(s1,s2))

27 Функции и процедуры над строковыми данными.

length(s) определить длину s

copy(s1) копировать значение s1

concat(s1,s2) объединить строки s1 и s2

delete(s,n,k) удалить символы (s – откуда, n – начиная с какого, k – сколько)

insert(k,s,n) вставить текст (k – что, s – куда, n – после какого символа)

pos(k,s) найти номер символа (k – какого, s – где)

28 математическая модель комбинированного типа данных

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

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

Комбинированный тип данных — это составной тип данных, содержащий набор элементов разных

типов. Составляющие запись элементы называются ее полями. В записи каждое поле имеет свое собственное имя. Чтобы описать запись, необходимо указать ее имя, имена объектов, составляющих запись и их типы. Общий вид такой:

Туре <имя записи> = Record

<поле 1>:<ТИП 1>;

<поле 2>:<тип 2>;

……………………..

<поле п>:<тип п>

Type date=Record

Dyear: 1583..3000;

Dmonth: 1..12;

Dday:1 ..31;

End

29 Записи вариантные записи.

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

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

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

Type

VR = Record

s: string;

Case byte of { Безымянный селектор }

1: (i: integer); { или значение типа Integer }

2: (f: double); { или значение типа Double, причем оба значения,

i и f начинаются по одному и тому же адресу,

хотя и имеют разную длину }

end;

Синтаксис определения вариантной части

<вариантная часть>::= case <поле признака> <имя типа> of <вариант>{;<вариант>}

<вариант>::=<список меток варианта>:(<список полей>) _ <пусто> <список меток

варианта>::=<метка варианта>{;<метка варианта>} <метка варианта>::=<константа>

<поле признака>::=<имя>: <пусто>

30 Синтаксические диаграммы комбинированного типа данных.

Синтаксис записей, содержащих вариантную часть (записей с вариантами), мы

определим ниже.

Комбинированный тип (запись) определяет структуру данных, состоящую из фик-

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

личного вида.

В определении типа записи задается имя и тип каждого поля записи. Тип записи

определяется в разделе типов, а переменные этого типа – в разделе переменных в соот-

ветствии со следующими определениями:

<комбинированный тип>::= RECORD

< список полей >

END

< список полей >::= < фиксированная часть >

< фиксированная часть >;< вариантная часть >

< вариантная часть >

< фиксированная часть >::= < секция записи > {,< секция записи >}

< секция записи >::= < имя поля >{,< имя поля >}:< тип > < пусто >

Синтаксис записей, содержащих вариантную часть (записей с вариантами), мы

определим ниже. Различные синтаксические диаграммы могут определять один и тот же синтаксис:

Запись может входить в состав данных более сложной структуры. Можно говорить,

например, о массивах и файлах, состоящих из записей. Запись может быть полем дру-

гой записи.

33 Иерархическая модель данных

ИМД базируется на двух формах – графическая и табличная.

Вершина – сущность, дуги – отношение

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

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

Иерархическая БД состоит из упорядоченного набора деревьев; более точно, из упорядоченного набора нескольких экземпляров одного типа дерева. Тип дерева состоит из одного «корневого» типа записи и упорядоченного набора из нуля или более типов поддеревьев (каждое из которых является некоторым типом дерева). Тип дерева в целом представляет собой иерархически организованный набор типов записи.

31 Селектор записи

И пример использования данного поля-селектора:

var R: VR;

R.i := 10; { <--- устанавливаем целочисленное значение в 10 }

R.style := stInteger; { <--- и ставим соотв. признак }

{

Теперь, анализируя поле-селектор, можно точно сказать, какое именно значение было сохранено -

целочисленное, или вещественное, и корректно работать с данными (к примеру, формат вывода для

целочисленных и вещественных значений различен, выбираем правильный):

}

case R.style of

stInteger: writeln('В записи хранится целое число: ', R.i:5);

stDouble: writeln('В записи - вещественное значение: ', R.f:10:5);

end;

...

тип селектора может быть любым, главное условие - чтобы он был перечислимым, и чтобы его емкость была не меньше числа вариантов в записи... Например, селектор типа Boolean, = 2

Type

VR = Record

s: string;

Case Boolean of { Безымянный селектор }

False: (i: integer);

True: (f: double);

end;

, т.е. метки должны быть того же типа, что и селектор...

32 понятие модели данных.

Модель данных - формальная теория представления и обработки данных в системе управления базами данных (СУБД), которая включает, по меньшей мере, три аспекта:

а) структуры: методы описания типов и логических структур данных в базе данных;

б) манипуляции: методы манипулирования данными;

в) целостности: методы описания и поддержки целостности базы данных.

Аспект структуры определяет, что из себя логически представляет база данных.

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

Аспект целостности определяет средства описаний корректных состояний базы данных.

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

Каждая БД и СУБД строится на основе некоторой явной или неявной модели данных.

36 Реляционная алгебра. Основные операции

Реляционная алгебра — формальная система манипулирования отношениями в реляционной модели данных.

Реляционная алгебра — замкнутая система операций над отношениями в реляционной модели данных.

  • ПРОЕКЦИЯ

  • ВЫБОРКА

  • ОБЪЕДИНЕНИЕ

  • ПЕРЕСЕЧЕНИЕ

  • РАЗНОСТЬ

  • ДЕКАРТОВО ПРОИЗВЕДЕНИЕ

  • СОЕДИНЕНИЕ

  • ДЕЛЕНИЕ

37 Понятие базы данных

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

38 Архитектура банка данных

Архитектура представлена тремя уровнями:

  • Внутренним

  • Концептуальным

  • Внешним.

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

Внешний уровень является уровнем пользователей СУБД, т.к. он является уровнем восприятия каждого пользователя, для каждого пользователя создается свой внешний уровень (схема - модель с соответствующим языком описания данных). Типичным воплощением внешнего уровня является использование представлений (VIEW) в языке SQL.

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

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

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Memo1->Clear();

int i,d,a;

double s,e,x;

s=0;

i=1;

d=1;

a=atoi(Edit1->Text.c_str());

if (a==0)

{

a=1;

ShowMessage("Ошибка: альфа должна быть больше 0");

Edit1->Text="1";

}

AnsiString q;

q="0,"+Edit2 -> Text;

e=q.ToDouble();

do

{

x=(1/pow(i,a))*d;

s=s+x;

d=-d;

i=i+1;

}

while(abs(x)>e);

Memo1->Lines->Add(s);

}