Главная страница
Навигация по странице:

  • Basic и С

  • Лекции. Основные понятия и определения


    Скачать 1.94 Mb.
    НазваниеОсновные понятия и определения
    Дата27.03.2018
    Размер1.94 Mb.
    Формат файлаdocx
    Имя файлаЛекции.docx
    ТипКонтрольные вопросы
    #39570
    страница23 из 58
    1   ...   19   20   21   22   23   24   25   26   ...   58

    9.3. Имена

    Имена объектов программы должны быть осмысленными.

    Пример.

    tip razmer adres

    Hе надо!

    xx aa a1 a2

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

    Сишная” нотация: field_name

    Пример.

    BegKm EndKm FieldName

    В "венгерской" нотации перед именем записывается тип объекта программы.

    Пример.

    intBegKm intEndKm charFieldName
    Не используйте в программе сходные имена!

    Пример.

    value values

    ax1 axi

    k K
    Если имя содержит цифры, записывайте их в конце.

    Пример.

    fund1 Tab15
    Имя не должно совпадать с ключевым словом или с именем библиотечной или встроенной функции.

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

    Пример. Язык PL/1.

    if if = then then

    then=else;

    else

    else=if;

    9.4. Язык и приемы программирования

    1. Активно используйте удобные и понятные особенности языка.

    Пример.

    Ca=b=0; k++; x+=c; //Многократное присваивание – это удобно!

    Basic→ x=5 : y=x^3-2 '2-3 связанные короткие инструкции в 1 строку
    2. Изучайте и используйте библиотечные функции. Малоупотребительные комментируйте.

    Пример.

    // pow(x,n) – возведение x в степень n
    3. Не применяйте трюки!

    Пример. Формирование единичной матрицы.

    for(k=0; k

    for(m=0; m

    x[k][m]=((k+1)/(m+1))*((m+1)/(k+1)); // Это трюк!

    }

    }

    То же самое можно записать так.

    for(k=0; k

    for(m=0; m

    x[k][m]=0;

    }

    x[k][k]=1;

    }
    4. Не игнорируйте предупреждения и старайтесь их ликвидировать!

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

    Conversion may lose signicant digitsПри преобразовании могут быть потеряны значащие цифры. Возникает, например, при попытке присваивания short=long или Integer=Long (Basic).

    Parameter 'doc' is never used Параметр 'doc' никогда не используется. Чаще всего возникает после модификации выполняемых инструкций программы, когда необходимость в параметре doc отпала, а в объявлении или в списке параметров процедуры он сохранился.
    5. Избегайте промежуточных переменных. Формулы следует записывать в том же виде, как это принято в математике.

    Пример.

    y=2*(a+b) / sqrt((a+b)*(a+b)+(c+d)*(c+d));
    6. Не изменяйте значение параметра цикла внутри тела цикла.

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

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

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

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

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

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

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

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

    For x=0 To 2 Step 0.05

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

    Next x

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

    For x=0 To 2.02 Step 0.05

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

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

    Если переменная должна принимать значения 1|2|3, не следует полагать, что ее значение равно 3, если оно не равно 1 и не равно 2, т.к. возможны ошибки.
    1   ...   19   20   21   22   23   24   25   26   ...   58


    написать администратору сайта