Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Литералы




Стиль в языках С и Basic

Используйте исчерпывающие проверки.

Не забывайте, что данные с плавающей точкой есть приближенные представления десятичных значений.

Не используйте одни и те же переменные для различных целей.

Объявляйте все переменные явно.

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

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

Не используйте помеченные инструкции, на которые нет ссылок.

Единственный смысл такого применения меток – это дополнительное комментирование. Зачем тогда комментарии языка?

Явное объявление, кроме своей основной функции определения типа объекта программы, позволяет выявить 1 весьма распространенный вид ошибок – описки. Применение подобных имен в тексте вызовет ошибку или предупреждение при трансляции.

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

Для них с осторожностью надо применять операции равно и не равно.

Пример. Цикл с вещественным параметром.

for x=0 to 2 step 0.05

........................

next x

Проход по телу цикла при x=2 может не выполниться. Необходимо записывать так:

for x=0 to 2.02 step 0.05

........................

next x

Если переменная должна принимать значения 1|2|3, не следует полагать, что ее значение равно 3, если оно не равно 1 и не равно 2, т.к. возможны ошибки.

По оценке авторов:

ОВ – весьма важная рекомендация;

В – рекомендация средней важности;

МВ – рекомендация относительно малой важности.

Степень важности рекомендаций определялась на основании оценки их влияния на написание надежной (с минимумом ошибок) программы.

1. (В) Имена. Использовать "паскалевскую" или "венгерскую" нотации.

2. (В) Описатели. Поскольку различные трансляторы языка C отводят данным типа int 2 или 4 байта, использовать для обычных целых тип short, длина элемента которого всегда 2 байта, для длинных целых long – длина всегда 4 байта. Если постановка задачи не требует повышенной точности представления, использовать для данных с плавающей точкой типы float (C) и single (Basic).

(МВ) Для трансляторов языка C, в которых не предусмотрены логические данные, разумно ввести в программу логические литералы.

# define TRUE 1

# define FALSE 0

Не следует забывать, что логические данные в программе на языке Basic занимают в памяти 2 байта, значения хранятся в виде true (-1), false (0), а на языке C они занимают в памяти 1 байт и хранятся в виде true (1), false (0).

(В) Старайтесь избегать в тексте программы литералов, заменяйте их символическими константами с помощью директивы #define (язык C).

4. (В) Массивы.

Для языка C следует отметить такие особенности.

Если возможно изменение размеров массивов, определяйте их размеры с помощью директивы #define.

Пример.

#define PAZM 5

float Matrix[PAZM][PAZM];

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

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


Пример.

Dim Matrix() As Single

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

Пример.

ReDim Matrix(1 To 10, 1 To 10)

Такая инструкция в теле процедуры может использоваться многократно. Более подробно синтаксис и область применения инструкции redim будет изложена ниже.

5. (ОВ) В языке C необходимо помнить об особенностях операторов деления / и остатка % при работе с целыми операндами. При делении целого на целое результат всегда целый. Оператор % используйте только для целых операндов.

6. (В) Для логических операторов && и || в языке C вычисление выражения прекращается, как только результат определен, а для аналогичных операторов and и or в языке Basic проверяются оба операнда.

Пример.

Выражение i<100 && x[ i ]<0 при i=100 в языке C примет значение false и выполнение программы продолжится, тогда как в языке Basic вычисление выражения i<100 and x(i)<0 при тех же условиях вызовет ошибку: Subscript out of range (Индекс вне диапазона), поскольку элемента массива x(100) не существует.

7. (ОВ) В языке C при использовании библиотечных функций не забудьте включить файл прототипов.

Пример.

#include <stdio.h>

#include <math.h>

8.(В) Не забывайте об удобных возможностях языка С: многократном присваивании, операторах: ++ -- <знак>=.

9. (ОВ) Ввод-вывод (C):

- при вводе информации функцией scanf в списке данных необходимо использовать оператор нахождения адреса &;

- не забывайте заканчивать ввод данных инструкции scanf клавишей Enter;

- не забывайте заканчивать управляющую строку инструкции printf символом '\n' (перевод на новую строку);

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




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 315; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.