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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

 

Классификация языков программирования

 

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Пример: Написать программу "Сложить а=5 и b=7".

Машинный язык: 00 0101 0111, где 00 – код команды "Сложить", 01012 = 510, 01112=710

Ассемблер: add a,b, где регистр а=0101, b = 0111, результат – в регистр b.

ЯВУ: y=a+b.

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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