рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Лекция 12. Алгоритмы. Свойства алгоритмов. Языки программирования.

Лекция 12. Алгоритмы. Свойства алгоритмов. Языки программирования. - Лекция, раздел Информатика, Понятие информации, общая характеристика процессов сбора, передачи, обработки и накопления информации План Лекции: Алгоритм, Численные И Логические Алгоритмы. Свой...

План лекции:

Алгоритм, численные и логические алгоритмы. Свойства алгоритмов, дискретность, определенность, понятность, результативность. Формы записи алгоритма, блок-схемы, основные элементы блок схем. Базовые структуры алгоритмов, линейные, разветвляющиеся, циклические алгоритмы. Данные и их типы. Логические основы алгоритмизации. Языки программирования, эволюция, классификация. Языки программирования высокого и низкого уровня. Компилируемые языки. Интерпретируемые языки. Объектно-ориентированные языки. Модульный принцип программирования. Принципы проектирования программ сверху-вниз и снизу-вверх. Системы программирования, схема разработки прикладных программ в среде системы программирования, трансляция (компиляция), исполнимый код.

Краткий конспект лекции

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

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

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

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

Языки программирования низкого уровня: Машинный язык и ассемблер

Языки программирования высокого уровня представляют специальный набор инструкций, использующих ключевые слова и синтаксис, похожий на английский:. Visual Basic, Visual Fortran, Cobol, Delphi, С++.

Текст программы на языке программирования называется исходным кодом, а конечная программа в машинных кодах - объектным кодом. Для получения объектного кода используются трансляторы.

Трансляторы делятся на два типа: интерпретаторы и компиляторы.

Интерпретатор переводит в машинный код и выполняет очередной оператор программы, используется для языка программирования Basic.

Компилятор переводит в машинный код исходный текст программы целиком, используется для языков программирования Pascal, С и др.

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

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

Лексический анализ – выявляются отдельные составляющие текста программы и определяется их тип. Например, названия операторов, имена переменных, разделители (скобки, знаки препинания и т.д.). Лексемы заменяются кодом их типа. Контролируется использование недопустимых символов.

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

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

Генерация и оптимизация промежуточного кода – перевод текста программы в язык ассемблера и устранение "лишнего" кода.

Генерация внутреннего представления – создание объектного (машинного) кода с использованием относительных адресов памяти (начиная с 1h).

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

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

Исполняемый файл - программа, готовая к запуску на компьютере (обычно файл с расширением .exe).

Программирование – процесс, включающий стадии проектирования, кодирования, отладки, тестирования и документирования программы.

- Проектирование программы – определение входных данных, процедур обработки данных и выходных данных.

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

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

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

Процесс отладки программы начинается с выявления:

- синтаксических ошибок в тексте (неверно записанных операторов),

- ошибок при выполнении программы (недопустимые математические действия, операции с числами, превосходящими предельные значения),

- алгоритмических ошибок (неверно составлен или запрограммирован алгоритм).

- Документирование программы - создание подробного руководства по программе: описание вводимых и выводимых данных, тестовые примеры расчета.

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

Слово «алгоритм» происходит от латинской формы написания имени арабского математика Аль Хорезми. Известно, что он родился до 800 г., а умер после 847 г., жил и работал в Багдаде - крупном научном центре и влиятельной столице Древнего Востока. Аль Хорезми использовал индийскую позиционную систему счисления с нулём и сформировал правила четырёх арифметических действий над многозначными числами.

Формы записи алгоритмов: графическая запись (блок-схемы); словесная запись (псевдокоды); язык программирования.

Свойства алгоритмов

— Дискретность - разбиение алгоритма на ряд отдельных законченных действий – шагов

— Определенность (детерминированность) - однозначные указания, применение алгоритма к одним и тем же исходным данным должно приводить к одному и тому же результату

— Понятность - однозначное понимание и исполнение каждого шага алгоритма его исполнителем

— Результативность - обязательное получение результата за конечное число шагов

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

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

Графическая запись алгоритма представляется в виде блок-схемы. Конфигурация и размеры блоков, а также порядок графического оформления блок-схем регламентированы ГОСТ 19002-80 и ГОСТ 19003-80 "Схемы алгоритмов и программ". Пример блок-схемы:  

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

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

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

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

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

2) модуль представляет собой «черный ящик» с одним входом и одним выходом. Это позволяет безболезненно производить модернизацию программы в процессе ее эксплуатации, облегчает ее сопровождение, а также позволяет разрабатывать части программодного проекта на разных языках программирования;

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

4) исходный текст модуля должен иметь заголовок и интерфейсную часть, где отражаются назначение модуля и все его внешние связи;

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

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

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

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

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

Вопросы по данной теме:

1. Что такое алгоритм?

2. Что такое блок-схема?

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

4. Опишите базовые управляющие конструкции алгоритмов.

5. Перечислите основные методы современной технологии проектирования алгоритмов.

Литература по теме:

1. Информатика. Общий курс / Под ред. В.И. Колесникова. - 2-е изд. - М.: Дашков и К; Наука-Пресс, 2008. - 400 с.

2. Игошин В.И. Математическая логика и теория алгоритмов: Уч. пос. - М.: Академия, 2004. - 448с.

3. Микрюков В.Ю. Алгоритмизация и программирование: Учебн. пос.- Ростов н/Д: Феникс, 2007.

 

 

– Конец работы –

Эта тема принадлежит разделу:

Понятие информации, общая характеристика процессов сбора, передачи, обработки и накопления информации

Тематика лекций Наименование темы Количество часов Очная лет Заочная лет мес г м СПО...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Лекция 12. Алгоритмы. Свойства алгоритмов. Языки программирования.

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Лекция 1. Понятие данные и информация
План лекции: Информатика и информация. Общее представление об информации. Свойства информации. Качество информации. Схема информационных процессов. Источники и потребители информаци

Свойства информации
Будучи объектом преобразования и использования, информация характеризуется следующими свойствами: · синтаксис — свойство, определяющее способ представления информации на носителе (в

Качества информации
• полнота — свойство информации исчерпывающе (для данного потребителя) характеризовать отображаемый объект или процесс • актуальность — способность информации соответствовать

Лекция 2. Представление информации в компьютере.
План лекции: Кодирование информации. Единицы измерения информации. Количественная мера: биты, байты, Килобайты и т.д., машинное слово. Статистический и семантический подходы к измер

Кодирование графических данных
Графика на экране монитора представляется в виде изображения, которое формируется из точек (пикселей). Цветные изображения могут иметь различную глубину цвета (бит на точку: 4, 8, 16, 24). Каждый ц

Кодирование звуковых данных
можно выделить два основных направления. Метод FM (Frequency Modulation). Звуковой сигнал - это непрерывная волна с изменяющейся амплитудой и частотой. Чем больше амплитуда сигнала, тем он

Формула Шеннона
  где Ii – количество информации, содержащееся в сообщении об i-ом исходе события, Если количество информации I для N количества исходов некоторого события, то математическое

Лекция 3. Информационно-логические основы построения ПК
План лекции: Компьютерная логика. Логические переменные. Основные операции и законы логической (булевой) алгебры, таблицы истинности. Вычисления в ЭВМ. Устройства для вычисления – п

Законы логических операций
Коммутативность (перестановка) А*В=В*А Ассоциативность (сочетание) А*(В*С)=(А*В)*С Дистрибутивность (распред

Логические элементы ЭВМ
    S1=¬А·В+ A·¬B P1= А·В   Cумматор (P0 – перенос разряда из преды

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

Многопроцессорные системы
Симметричное мультипроцессирование (Symmetric Multiprocessing) SMP — архитектура многопроцессорных компьютеров, в которой два или более одинаковых процессоров подключаются к общей памяти. Бо

Архитектура ПК
  Контроллер можно рассматривать как специализированный процессор, управляющий работой "вверенного ему" внешнего устройства по специальным встроенным программам обмена. Тако

Лекция 5. Состав и назначение основных узлов персонального компьютера. Их характеристики
План лекции: Аппаратные основы персонального компьютера. Элементы компьютера: системный блок, монитор, клавиатура, периферия. Системный блок: блок питания, системная плата, платы ра

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

Лекция 6. Устройства передачи данных в ПК. Виды памяти ПК. Устройства ввода/вывода информации в ПК
План лекции: Шины. Оперативная память - RAM. Принцип работы. Производительность и объем памяти. Базовая система ввода-вывода – BIOS. Адаптер. Слоты расширения. Модемы. Виды, назначе

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

Внешняя память ПК
Накопители на магнитных и оптических дисках - содержат информацию для обработки и программы для хранения и использования. Информация, хранимая на магнитном диске, может многократно стирать

Устройства вывода информации из компьютера
-монитор (совместно с видеоадаптером). Монитор (дисплей) представляет устройство типа ЭЛТ или ЖК. В графическом режиме изображение формируется из точек или пикселов (pixel). Видео

Файловые системы
FAT (File Allocation Table - таблица распределения файлов) - отображает использование всего дискового пространства в области файлов и подкаталогов. Каждый диск или раздел жесткого

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

Лекция 9. Электронные таблицы. Специализированные программные средства и системы программирования.
План лекции: Электронные таблицы. Вид электронной таблицы. Представление данных в электронной таблице. Типы данных. Ввод и редактирование данных. Расчеты по формулам. Ссылки на ячей

Лекция 10. Защита информации. Компьютерные вирусы. Антивирусные программы. Архивация, методы сжатия. Методы шифрования.
План лекции: Информационная безопасность и ее составляющие. Угрозы безопасности информации и их классификация. Законодательные и правовые акты РФ, регулирующие правовые отношения в

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

Лекция 11. Методы шифрования базы данных и СУБД. Реляционные базы данных.
План лекции: Базы данных и СУБД. Определение базы данных и СУБД. Концепция баз данных. Основные задачи СУБД. Этапы проектирования БД, инфологическая модель, даталогическая модель, ф

Лекция 13. Объектно-ориентированный подход к программированию.
План лекции: Объектно-ориентированный подход к программированию. Массовое промышленное программирование и методы построения программ. Структурное программирование, процедура, процед

Характеристики ООП
- Все является объектом. - Вычисления осуществляются путем взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некое действие. Об

Принципы ООП
Абстракция данных - это выделение существенных характеристик некоторого объекта, которые отличают его от всех других видов объектов и, таким образом, четко определяют его конце

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

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

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

Объектно-ориентированное и визуальное программирование
Современные языки программирования являются объектно-ориентированными, что означает использование объектов при написании программного кода. Объекты являются экземплярами классов. Таким образом, объ

Лекция 16. Программирование на языке VISUAL BASIC
План лекции: Программирование на языке VISUAL BASIC. Алфавит языка. Переменные и типы данных. Операции. Стандартные функции. Инструкции VISUAL BASIC. Операторы языка, оператор присв

Приоритеты операций
Visual Basic выполняет операции в соответствии с их приоритетами (P). P Операция P Операция P Операция

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

Вызов функций и процедур
Вызов процедуры можно произвести несколькими способами. 1. ИмяПроцедуры СписокФактическихПараметров 2. Call ИмяПроцедуры (СписокФактическихПараметров) Инструкцию Call мож

Область видимости переменной
Существуют три типа области видимости переменной. 1. Локальные переменные описываются внутри процедуры при помощи инструкций Dim или Static и распознаются только в процедуре, в которой они

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

Лекция 17. Среда разработки приложений VISUAL BASIC.
План лекции: Среда разработки приложений Visual Basic и ее возможности, создание, компиляция, тестирование и редактирование программ (приложений, проектов). Интерфейсные объекты сре

Интегрированная среда разработки приложений Visual Basic
Разработанная корпорацией Microsoft интегрированная среда разработки приложений Visual Basic объединяет в себе множество функций, позволяющих выполнять визуальное проектирование интерфейса приложен

Настройки редактора кода
    Параметры Code Settings Назначение параметров Auto Syntax Check (Автоматический контроль синта

Панель элементов управления
Панель элементов управления General открывается командой меню View, Toolbox (Вид, Панель элементов управления), либо кнопкой Toolbox на стандартной панели инструментов.  

Лекция 20. Моделирование объектов и систем
План лекции: Моделирование как метод познания. Значение моделирования при решении задач в профессиональной области. Модели данных в профессиональной области и обзор технологий их ис

Лекция 21. Локальные сети ЭВМ
План лекции: Компьютерные сети. Телекоммуникационные сети. Локальная, корпоративная и глобальная сети. Элементы компьютерной сети: узлы (компьютеры), каналы связи. Сервер, клиент. С

Типы локальных сетей
Вычислительные сети по размерам подразделяются на глобальные, региональные, корпоративные и локальные. Локальная (ЛВС) - это совокупность компьютеров и других средств вычислительной техник

Архитектура (Топология) ЛВС
Различают три наиболее распространенные сетевые архитектуры, которые используют и для одноранговых сетей, и для сетей с выделенным файл-сервером. Это так называемые шинная, кольцевая и звездообразн

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

Администрирование сети
Сетевое администрирование распространяется на пять основных областей, с которыми должен быть хорошо знаком администратор сети: 1. управление пользователями — создание и поддержка учетных з

Лекция 22. Глобальные сети ЭВМ
План лекции: Глобальные сети ЭВМ. Виды подключения к сети: коммутируемый канал, выделенный канал. Модем. Маршрутизаторы, мосты, концентраторы. Передача данных по сети. Функции пакет

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

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

Беспроводные сети
Wi-Fi – стандартизированная технология высокоскоростного беспроводного обмена информацией на радиочастотах с упрощенным частотным регулированием, который объединяет несколько протоко

Семейство протоколов TCP/IP
Семейство протоколов TCP/IP (Transmission Control Protocol/Internet Protocol - Протокол управления передачей данных/Протокол Интернета) - это множество коммуникационных протоколов, которые о

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги