Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TSPP Ekzamen - Otveti na voprosi 2.0.docx
Скачиваний:
5
Добавлен:
17.04.2019
Размер:
511.02 Кб
Скачать
  1. Стиль программирования. (комментарии, имена переменных и файлов, структурирование).

1. Стиль программирования

Программы должны составляться так, чтобы их могли прочитать люди.

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

2. Комментарии

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

Три типа комментариев:

Вводные комментарии. Минимальная информация в вводных комментариях должна включать:

  • Назначение программы.

  • Указания по вызову программы и ее использованию.

  • Список и назначение основных переменных или массивов.

  • Указание по вводу – выводу. Список всех файлов.

  • Список используемых подпрограмм.

  • Назначение применяемых математических методов.

  • Требуемый объем памяти.

  • Специальные указания оператору.

  • Сведения об авторе.

  • Дату написания программы.

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

Расположение комментариев. Комментарии легче читаются, если они отделяются пустыми строками.

3. Имена переменных и файлов, структурирование

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

Имена файлов:

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

  • Иногда использование префикса, помогает определять, какие поля связаны логически.

  • При выборе имен записей используйте имена, ориентированные на содержание записи, а не на конкретное задание.

  1. Ошибки (виды, характеристика).

Виды ошибок:

Ошибки в описании задачи

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

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

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

Ошибки в выборе алгоритма

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

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

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

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

Во 2 случае обычно имеют место крупные и мелкие логические ошибки, из которых можно назвать:

-Отсутствие заданий начальных значений переменных.

-Неверные условия окончания цикла.

-Неверную индексацию цикла.

-Отсутствие задания условий инициирования цикла.

-Неправильное указание ветви алгоритма для продолжения процесса решения задачи.

Ошибки общего характера

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

Такими ошибками могут быть:

-ошибки из-за недостаточного знания или понимания программистом языка программирования или самой машины

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

Синтаксические ошибки.

Выявление транслятором синтаксических ошибок представляет собой самый важный и необходимый этап отладки программы.

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

В качестве примеров синтаксических ошибок можно назвать:

пропуск необходимого знака пунктуации

несогласованность скобок

пропуск нужных скобок

неправильное формирование оператора

неверное образование имени переменной

неправильное использование арифметических операторов

неверное написание зарезервированных слов

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

Противоречивые команды.

Отсутствие условий окончания цикла.

Дублирование или отсутствие меток.

Отсутствие описания массива.

Запрещенный переход.

Советы по устранению ошибок:

Если ошибок много, то в первую очередь устранить очевидные.

Обратиться к руководству по программированию на данном языке (справка).

Выбрать хороший отладочный компилятор.

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

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

Ошибки в данных

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

Определение начальных значений:

-Присваивание.

-Ввод.

-Чтение из файла.

Разные прогоны программы с одними и теми же данными могут привести к различным результатам.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]