Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции (Ведищев) + шпоры к экзамену / лекции по программированию за 1 курс.doc
Скачиваний:
170
Добавлен:
20.06.2014
Размер:
805.38 Кб
Скачать

Введение.

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

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

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

  1. Неструктурный (преобразование машинных кодов на языке Assembler);

  2. Модульные (задачи→подзадачи →алгоритмы→функции);

  3. Логический подход;

  4. Объектно-ориентированный подход;

  5. Функциональный подход;

  6. Смешанный подход;

  7. Компонентно-ориентированный подход;

Транслятор – программа для перевода программы понятных человеку символов в программу машинных кодов.

Понятие формального алгоритма.

Формальный алгоритм – заранее заданная последовательность чётко определённых правил или команд для получения решения задач за конечное число шагов.

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

Эффективность алгоритма – алгоритм или функция эффективно вычислима, если существует алгоритм правильно её вычисляющий и удовлетворяющий следующим требованиям:

  • Состоит из конечного множества простых команд, для которых однозначно определён порядок исполнения;

  • Вычисления должны закончиться и дать результат в конечное число шагов;

  • Если аргумент принадлежит области определения, не должны приводить к результату: аргумент не принадлежит области определения.

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

20-е года ХХв. – машина Тьюринга (Гильберт, Черч (основа понятий рекурсивной функции), Клини, Пост, Тьюринг (описание алгоритмического процесса))

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

Абстрактная машина.

∆Фон Неймана (1945-ЭДВАК 3-хкомпонентная архитектура).

Такая ЭВМ выполняет программу, которая должна храниться в памяти, где хранятся и данные этой программы.

ЗУ и УВВ – прямой доступ в памяти.

Переменная – область в памяти.

Память – последовательность ячеек для хранения порции информации. Доступ к информации осуществляется в соответствии с адресом этой ячейки или в порядке очереди.

Классификация памяти:

  1. постоянная;

  2. оперативная = временная (v ↑)

УУ – для считывания команд данных из памяти и общая координация команд.

АЛУ – для выполнения простейших арифметических и логических операций.

Основные этапы решения задач на ЭВМ.

  1. Осознание проблемы, формулировка задачи;

  2. Формальная постановка задачи (формируется цель, описывается её содержание), что будет делать программа, не указывая как), анализируется характер, сущность всех величин, используемых в задаче, определяется условие, при которых она решается, результатом данного этапа является спецификация программы);

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

  1. Выбор или разработка метода решения задач (с учетом особенностей, метод должен привести задачу к конкретным машинным операциям);

  2. Разработка алгоритма решения задач (процесс обработки разбивается на отдельные относительно самостоятельные блоки);

  3. Разработка структур данных и архитектуры программы (начиная с проектирования архитектуры, общих структур данных);

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

  5. Разработка системы теста, отладка и тестирование программы (поиск и устранение синтаксических и логических ошибок в программе). Синтаксический контроль выполняет транслятор, который выявляет конструкции и сочетания символов, недопустимые с точки зрения языка программирования. После устранения синтаксических ошибок проверяется логика работы в процессе её выполнения с конкретными исходными данными);

  6. Решение поставленной задачи и анализ результатов (выполняется многократное решение задач на ЭВМ для различных наборов исходных данных. Получаемый результат интерпретируется специалистом или пользователем, составившим задачу).

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

Критерии качества ПО.

  1. Функциональные возможности. (Описывает свойства ПО в части полноты удовлетворения требований пользователя. Оценка качества ПО должна начинаться с точного и формального установления предъявляемых требований и поверки соответствия ПО данным требованиям.)

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

  3. Практичность:

  • Простота использования;

  • Модифицируемость (характер трудоемкости внесения изменений в программу при ошибках и др.)

  • Сопровождаемость

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

  • Мобильность - набор атрибутов, относящихся к соотношению между уровнем качества функций ПО и объемом используемых ресурсов при установленных условиях. Характеризуется 2 способами: с учетом v используемой памяти, быстродействия программы.