У вас вопросы?
У нас ответы:) SamZan.net

конспект лекций в 2х частях

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.4.2025

II семестр

0. Содержание курса

Лекций -2; Семинаров -0 (2); Лабораторных -2;

До 1 апреля 10 баллов на F (кто не успел - 15 баллов до 15 апреля).

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

Май - защита курсовых работ.

Июнь – экзамен (теоретический материал 1 и 2 семестров).

  1.  Фигурнов В.Э. IBM PC для пользователей. – М.: 2007.
  2.  Фаронов В.В. Турбо-Паскаль 7.0. Начальный курс. Учебное пособие. М. 1997.
  3.  Ветошкин А.М., Корольков А.В. Информатика. Электронный конспект лекций в 2-х частях.
  4.  Ветошкин А.М., Корольков А.В. Электронный задачник по программированию.
  5.  Йенсен К., Вирт Н. Паскаль: руководство для пользователя. – М.: Финансы и статистика, 1989
  6.  Вирт Н. Алгоритмы и структуры данных. – С-П, 2001.
  7.  Программирование на языке Паскаль. Задачник. Под ред. О.Ф.Кусковой. Питер, 2002.
  8.  Ван Тассел Д. Стиль, разработка, эффективность и испытания программ. -М.: Мир. 1985
  9.  Дал У., Дейкстра Э., Хоар К. Структурное программирование. - М.: Мир, 1975
  10.  Д.Э. Кнут. «Искусство программирования». (Электронная версия)
  11.  H.Bupm. АЛГОРИТМЫ + СТРУКТУРЫ ДАННЫХ = ПРОГРАММЫ (Электронная версия)
  12.  Описание языка MS FORTRAN (Электронная версия)
  13.  А. Шень. Программирование: теоремы и задачи. (Электронная версия)
  14.  П.В. Соловьев. Fortran для персонального компьютера (Справочное пособие). М 1991.
  15.  З.С. Брич, Д.В. Капилевич, Н.А. Клецкова. Фортран 77 для ПЭВМ. М, «Ф и С», 1991.
  16.  Горелик А.М.,  Ушакова В.Л.,  Шура-Бура М.Р.  Мобильность программ на Фортране. "Ф и С", 1984
  17.  Боровин Г.К., Комаров М.М., Ярошевский В.С. Ошибки-ловушки при программировании на Фортране. Статистика, 1989

Что нужно повторить

  1.  Массивы
  2.  Записи
  3.  Подпрограммы (процедуры и функции)
  4.  Рекурсия
  5.  Динамическая память, указатели.

Лекция 1

1.1 Cтруктуры данных

1.1.1 Основные понятия

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

Задача для ЭВМ = вычислительная часть + обработка информации.

  1.  Информация – совокупность сведений или знаний.
  2.  Данные - информация, пригодная для обработки.
  3.  Система – совокупность взаимосвязанных объектов, подчиненных определенной (единой) цели.
  4.  Автоматизированные информационные системы (АИС) - системы обработки данных.
  5.  Базы данных (БД) - совокупность взаимосвязанных данных.
  6.  Структура - взаимосвязь отдельных элементов.
  7.  Запись - совокупность (группа) элементов (полей).

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

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

Три уровня абстракции описания структур данных:

  1.  Набор функциональных спецификаций;
  2.  Логическое описание (типы данных);
  3.  Физическое представление.

1.1.2 Классификация структур данных

Линейные

Нелинейные

Прямоугольные

Структуры ряда

Списковые

Древовидные

Графы

Мульти

графы

Массивы, таблицы

Строки, очереди, стеки, деки

Линейный список

n-дерево, бинарное дерево, дерево двоичного поиска

Указатель (на запись) – переменная, в которой хранится адрес начала записи.

1.1.3 Обозначения и договоренности

Пусть Т1, Т2, ..., Тn - имена известных типов данных

Т=record N1:T1; N2:T2; ...; Nn:Tn end - новый тип - запись, Ni - имена полей, i=1,2,...,n.

Пусть t:T, ti:Ti, i=1,2,...,n; инициализация t.N1:=t1; t.N2:=t2; ..., t.Nn:=tn; если tt:T, то можно tt:=t (присваивание).

Пример:

type

Comp=record {Комплексное число}

Re:real;

Im:real

end;

var

z:Comp;

zz:Comp;

В секции действий

z.Re:=3.14; z.Im:=1.0;{инициализация}

zz:=z (присваивание).

Глобальный тип: Inf - информационная часть (часть данных, не влияющих на структуру).

1.1.4 Множества.

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

Имя операции

Функциональные спецификации

Аргументы

Результат

Описание

Создать

U

Создается пустое множ

Включить

TUU

t, u

{xTxu или x=t}

К u добавляется t, если он не принадлежит u

Принадлежит?

TUBoolean

t, u

Истина, если tu

Принадлежит ли элемент t множеству u?

Исключить

TUU

t, u

{xTxu и xt}

Удалить элемент t из множества u

Пусто?

UBoolean

u

Истина, если u=

Пусто ли множество u?

Объединение

UUU

u1, u2

{xTxu1 или xu2}

Объединение u1 и u2

Пересечение

UUU

u1, u2

{xTxu1 и xu2}

Пересечение u1 и u2

Разность

UUU

u1, u2

{xTxu1 и xu2}

Разность u1 и u2

Дополнение

UU

u

{xT xu}

Дополнение к u

Здесь Т – базовый тип множества, U – тип множество, t – данное базового типа (t:T или tT), u, u1, u2 – данные типа U.

1.1.5 Прямоугольные структуры. Массивы

Массив - конечное упорядоченное множество элементов (записей) одного типа. Индекс (номер по порядку) указывает относительное положение элемента (отсчет ведется от первого элемента). В языках программирования структура данных "массив" поддерживается транслятором. Пусть Т - базовый тип, т.е. тип элементов, I – индексный тип (множество допустимых индексов). Тогда можно определить новый тип данных М = array[I]of Т.

Над массивом определены следующие операции:

  1.  создание массива (это делает транслятор),
  2.  инициализация элемента,
  3.  чтение значение элемента

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

Создание массива М,

Инициализация массива МITМ,

Чтение значения элемента массива МIT.




1. вариантов контрольных заданий Варианты Вопросы
2. Тема- составление квартального финансового плана предприятия ОАО
3. Рынок ценных бумаг тенденции и перспективы
4. Учет основных средств автотранспортного предприятия
5. ревизионное ВВЕДЕНИЕ Объем реализованной продукции выполненных работ оказанных услуг
6. Данные 2 Информация и документы 3
7. ТЕМА- Моніторинг стану грунтів
8. моему такая погода и подталкивает людей на безумные поступки или наоборот заставляет слишком сильно задум
9. Обеспечение организации персоналом
10. . Библиотечная функция qsort include[cstdlib] void qsortvoid bufsizet numsizet sizeint compreconst voidconst void ; Функция qsort упор