
- •1Информатика Определение. Предмет и задачи
- •2Основные направления в информатике
- •3Формальная постановка задачи. Отображение.
- •4Типовые (простые) схемы алгоритмов
- •5 Программирование вложенных циклов
- •6Алгоритмизация. Абстрактный вычислительный алгоритм
- •7Способы задания алгоритмов
- •8Структурный подход к проектированию алгоритмов и программ
- •9Теорема о структуризации
- •10Обращение неструктурированных программ в структурированные
- •11Метод дублирования процессов
- •12Метод булевского признака
- •13Программирование. Общие понятия
- •14Основные этапы решения задач на эвм, пример.
- •15Состав языков программирования: алфавит,синтаксис, семантика
- •17Простейшие типы данных: номинальный, перечислимый, ограниченный (???)(нужен номинальный)
- •18Векторы и алгебра векторов
- •19Конструктор-селектор вектора в различных языках программирования
- •20Матрицы и матричное исчисление
- •21Конструктор-селектор матриц в различных языках программирования
- •22Множества и алгебра множеств
- •16Типы и структуры данных. Конструктор-селектор
- •25Символьный тип данных
- •26Строковый тип. Операция конкатенации
- •23Операции над множествами и их свойства
- •24Множественный тип данных
- •27Функции и процедуры над строковыми данными
- •28Математическая модель комбинированного типа данных
- •29Записи. Вариантные записи
- •32Понятие модели данных
- •33Иерархическая модель данных
- •34Сетевая модель данных
- •35Реляционная модель данных
- •36Реляционная алгебра. Основные операции
- •37Пример программирования треугольника Паскаля
6Алгоритмизация. Абстрактный вычислительный алгоритм
Алгоритм – точное предписание, которое определяет процесс, ведущий от исходных данных к требуемому конечному результату
Абстрактный алгоритм применяется к мат. объектам и не связан с конкретным языком программирования
Свойства: конечность, определенность(однозначная трактовка), результативность, массовость.
Алгоритмизация: на данном этапе составляется алгоритм решения задачи согласно действиям, задаваемым выбранным методом решения. Процесс обработки данных разбивается на отдельные относительно самостоятельные блоки, и устанавливается последовательность выполнения блоков. Разрабатывается блок-схема алгоритма.
7Способы задания алгоритмов
словесная (запись на естественном языке);
графическая (изображения из графических символов);
псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
программная (тексты на языках программирования). Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке. Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида).
Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи. При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков,каждый из которых соответствует выполнению одного или нескольких действий. Такое графическое представление называется блок-схемой. В блок-схеме каждому типу действий соответствует геометрическая фигура называемых блоками. Блоки соединяются линиями переходов (называемых ветвью алгоритма), определяющими очередность выполнения действий. Псевдокод занимает промежуточное место между естественным и формальным языками. С одной стороны, он близок к обычному естественному языку, поэтому алгоритмы могут на нем записываться и читаться как обычный текст. С другой строны, в псевдокоде используются некоторые формальные конструкции и математическая символика, что приближает запись алгоритма к общепринятой математической записи. В псевдокоде не приняты строгие синтаксические правила для записи команд, присущие формальным языкам, что облегчает запись алгоритма на стадии его проектирования и дает возможность использовать более широкий набор команд, рассчитанный на абстрактного исполнителя. Однако в псевдокоде обычно имеются некоторые конструкции, присущие формальным языкам, что облегчает переход от записи на псевдокоде к записи алгоритма на формальном языке.
8Структурный подход к проектированию алгоритмов и программ
Структурное программирование - методология разработки программного обеспечения. Фундаментом структурного программирования является доказанная Бемом и Джекопинитеорема о структурировании. Эта теорема устанавливает, что как бы сложна ни была задача, блок-схема соответствующей программы (читай - "соответствующего алгоритма") всегда может быть представлена с использованием весьма ограниченного числа элементарных управляющих структур (последовательность, ветвление, цикл).
Главная идея доказательства этой теоремы состоит в преобразовании каждой части алгоритма в одну из трех основных структур или их комбинацию так, чтобы неструктурированная часть алгоритма уменьшилась. После достаточного числа таких преобразований оставшаяся неструктурированной часть либо исчезнет, либо станет ненужной. Доказывается, что в результате получится алгоритм, эквивалентный исходному и использующий лишь упомянутые управляющие структуры.
Цель структурного программирования - выбор структуры программы путем расчленения исходной задачи на подзадачи. Программы должны иметь простую структуру. Сложные, запутанные программы, как правило, являются неработоспособными, а их тестирование требует больших затрат.