Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Выполнение 1-ой лабораторной работы




Что надо знать для выполнения работы

Правила программирования алгебраических выражений

1.  Не забываем включать заголовочные файлы.

2.  При программировании «больших» формул придерживаемся подхода «здравого смысла», т.к. запись формулы в виде одного выражения чревата появлением ошибок, как правило, из-за несоответствия скобок, а введение большого числа дополнительных переменных для сохранения промежуточных результатов – также не лучший выход.

3. Не путаем операции = (присвоить) и == (равно).

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

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

6. В выражениях операнды одного типа стараемся группировать вместе.

7. Не забываем о приоритете операций и используем круглые скобки для облегчения чтения и проверки выражения. Круглые скобки в выражениях С++ используются аналогично алгебраическим выражениям. Они имеют наивысший приоритет и их можно использовать для формирования любой необходимой последовательности вычислений. Вложенные круглые скобки вычисляются самыми первыми. Круглые скобки одинакового уровня вычисляются слева направо. Избыточные (не являющиеся необходимыми) скобки возможны: они не влияют на результат, однако делают выражения более ясными, повышая «читабельность» программы.

8. Предварительно анализируем формулу. Повторяющиеся в ней выражения вычисляем заранее.

9. Невозможно определить порядок обработки операндов в коммутативных операциях:
например, в выражении z=(x*5)+((x=10)/2) z  может получить различные значения в зависимости от порядка  вычисления скобок, во избежание двусмысленности следует использовать промежуточную переменную:

     int z, t, x=1; t=x*5; z= t +((x=10)/2);

Заменяем умножением возведение в небольшую степень, стараемся не использовать в этом случае функцию возведения в степень  pow().

11. Замена деления умножением дает выигрыш в скорости (A/5.0 à A*0.2).

12. Литералы в инициализирующих выражениях должны иметь тип, соответствующий типу инициализируемой переменной (double А=0; менее эффективно, чем double А=0.0; double Y=1/x; менее эффективно, чем double Y=1.0/x;.

13. При вводе с помощью функции scanf() не забываем указывать адрес (&) вводимой переменной.

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

15. При выводе с помощью функции printf() правильно задаём спецификатор. Например, для переменной, определенной как double, вывод со спецификатором “%d” даст неверный результат.

16. Если в операторе вывода в поток используется тернарная операция, то условное выражение полностью заключается в скобки.

17. При использовании функции pow() запись вида pow (a+b*b, 1/4) всегда даст значение, равное 1, т.к. 1/4==0. Исправит положение запись второго операнда в виде 1.0/4, 1/4.0, 1.0/4.0 или 0.25.

18. Число в целой степени вычисляется быстрее, чем число в вещественной степени.

19. Следим за наличием точки с запятой перед else  в условном операторе if.

20. Если в какой-либо ветви условного оператора необходимо выполнить более одного оператора, то их следует объединить в составной оператор с помощью фигурных скобок.

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

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

При выполнении операций умножения и сложения над вещественными переменными, в случае выхода значения результата за диапазон значений его типа, произойдет переполнение (будет выведено 1.# INF).

-----------------------------------------------------------------------------------------





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


Дата добавления: 2018-10-15; Мы поможем в написании ваших работ!; просмотров: 261 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Есть только один способ избежать критики: ничего не делайте, ничего не говорите и будьте никем. © Аристотель
==> читать все изречения...

4261 - | 4180 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.