Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 24 Языки и алгоритмы программирования.doc
Скачиваний:
1
Добавлен:
05.08.2019
Размер:
78.85 Кб
Скачать

Раздел 3. Основы алгоритмизации и программирования

ЛЕКЦИЯ №10. Языки и алгоритмы программирования

Вопросы:

  1. Основные понятия программирования и алгоритмов.

  2. Алгоритмические языки. Классификация языков программирования

  3. Системы программирования.

  4. Модульное программирование

  1. Основные понятия программирования и алгоритмов.

Определение 1. ПРОГРАММА – это логически упорядоченная последовательность команд, необходимых для управления компьютером при решении определенной задачи или комплекса задач.

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

Управление компьютером происходит по определенному алгоритму.

Определение 2. АЛГОРИТМ – это последовательность операций конкретного способа решения задачи.

Этапы решения задач на ЭВМ:

  1. Постановка задачи (словесное описание задачи, определение целей, искомых и исходных данных).

  2. Формализация задачи (от словесной формулировки к мат. Модели)

  3. Выбор метода решения задачи.

  4. Описание алгоритма и построение его блок-схемы

  5. Программирование задачи (выбор языка программирования и написание программы)

  6. Ввод программы в компьютер и ее отладка

  7. Получение и анализ результатов.

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

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

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

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

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

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

Блок-схема алгоритма - графическое представление алгоритма с помощью определенных обозначений.

Основные типы вычислительных процессов.

  1. Линейным называется такой вычислительный процесс, в котором самостоятельные этапы вычислений выполняются в линейной последовательности их записи (т.е. в естественном порядке).

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

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

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

В начале всегда разрабатывается способ решения задачи и по нему определяется алгоритм действия, а затем этот алгоритм записывается на одном из языков, понятном компьютеру. В итоге получается законченное и детальное описание алгоритма на языке программирования. Затем текст этой программы специальными служебными программами, которые называются ТРАНСЛЯТОРАМИ, переводится в машинный код и исполняется.

Определение 3. Язык программирования – это искусственный язык с ограниченным числом слов, значения которых строго и однозначно фиксированы транслятором и подчинены строгим правилам записи команд.

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

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

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

Если программа не переводится в машинный код, сразу происходит исполнение ее команд, то для осуществления такой операции служат программы – интерпретаторы.

В реальных машинах технологии компиляции и интерпретации перемешаны или обобщены одной программой – транслятором.

Алгоритмические языки. Классификация языков программирования

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

Язык программирования - формализованный язык для описания алгоритма решения задачи на компьютере.

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

Примером языка низкого уровня является язык АССЕМБЛЕР, созданный по принципу: «одна инструкция – одна строка».

Определение. 6 . Язык программирования высокого уровня ближе и понятен человеку и особенности архитектуры конкретных вычислительных систем в нем не учитываются.

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

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

  • машинные языки- языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);

  • машинно-ориентированные языки- языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);

  • алгоритмические языки - не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Бейсик, Фортран и др.);

  • процедурно-ориентированные языки- языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм);

  • проблемно-ориентированные языки- языки программирования, предназначенные для решения задач определенного класса (Лисп, РПГ, Симула и др.);

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

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

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

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

Algol (алгол) - компилируемый язык предназначался для замены фортрана, но из-за более сложной структуры не получил широкого распространения.

Pascal (паскаль) - во многом похож на Алгол, но имеет более жесткие требования к структуре программы и имеет более широкие возможности по созданию крупных проектов

Basik (бэйсик) – язык, имеющий и компиляторы и интерпретаторы , занимающий первое место по популярности.

C (Си) – создан был для замены ассемблера с целью создания программ независимо от типа используемого процессора.

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

Языки программирования баз данных

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

При работе с базами данных часто используются следующие операции:

1. Сохранение и удаление таблиц или их частей.

2. Поиск и сортировка записанной информации по различным признакам

  1. Изменение существующих записей.

Для работы с базами данных созданы следующие языки:

СУБД – система управления базами данных, предназначен для управления и эффективной обработки баз данных.

SQL - структурированный язык запросов, манипулирующий группами записей.

Языки программирования для Интернета

Эти языки имеют интерпретаторы и разработаны специально для Интернета, называются скрипт-языками.

Примеры языков Интернета:

НТМL – Язык для оформления документов.

Perl – язык для работы с массивами данных и системной информацией.