☰ Содержание · Информатика

Логика в электронной таблице: практическое занятие

Уроки 32 · 1 урок · Б. Болтаев, А. Азаматов, А. Аскаров, М. Содиков, Г. Азаматова. Основы информатики и компьютерной техники, 8 класс. Второе издание. Государственное научное издательство «O‘zbekiston milliy ensiklopediyasi», Ташкент, 2015
32

Практическое занятие: логика в электронной таблице

Учебник: с. 134
ЦельПредсказывает результаты формул IF, находит и исправляет ошибки и понимает действие относительных ссылок при копировании.
Новые слова
код ошибки: сообщение в ячейке, например #NAME?, #VALUE! или #DIV/0! · xato kodiотносительная ссылка: адрес, который меняется при копировании формулы · nisbiy murojaatкавычки: знаки, в которые заключается текст в формуле · qo‘shtirnoqтестирование: проверка формулы при нескольких разных входных значениях · tekshirish
Объяснение

На практическом занятии мы сами вычисляем значение формулы до того, как это сделает компьютер, а затем сравниваем. =IF(A1>100; 100; A1) ограничивает балл числом 100: число больше 100 заменяется на 100, а остальные остаются (готовая функция MIN(A1; 100) делает то же самое). Следи за граничным значением: для правила «60 и более – сдал» запись =IF(A1>60; "passed"; "failed") ошибочно даёт «failed» при A1 = 60; верная формула – =IF(A1>=60; "passed"; "failed"). Если мы копируем формулу в другую ячейку, относительные ссылки сдвигаются: =A1*2 в B1 при копировании в B3 становится =A3*2. Частые ошибки: неверно написанное имя функции даёт #NAME?, смешивание текста с числами даёт #VALUE!, деление на ноль даёт #DIV/0!, а текст без кавычек тоже даёт #NAME?; узкий столбец показывает #####. Число скобок должно совпадать, а разделитель (; или ,) должен соответствовать настройкам. Проверяй каждую формулу как минимум на трёх видах значений: например, отрицательное, нулевое и положительное или ниже границы, сама граница и выше неё. Получай программу законно: есть бесплатные LibreOffice и Google Таблицы, поэтому не используй взломанные копии.

Примеры
При A1 = 120, 100, 85 результат =IF(A1>100; 100; A1) равен 100, 100, 85. При A1 = 59, 60, 61 результат =IF(A1>=60; "passed"; "failed") – «failed», «passed», «passed».
A1 = 6, B1 = A1/2+5 → 8, C1 = B1*B1 – 10*A1 → 64 – 60 = 4. =IF(B1>C1; "B1"; "C1") даёт «B1», потому что 8 > 4 – TRUE. Если формулу C1 скопировать в C4, она станет =B4*B4-10*A4 и даст 0 при пустых ячейках.
Работа в классе

«Охотники за ошибками»: учитель даёт 5 неисправных формул (нет кавычек, пропущена скобка, неверное имя функции...); группы находят и исправляют ошибки.

Упражнения
1
Что даёт =IF(A1>100; 100; A1) при A1 = 135?
2
Если A1 = 6, B1 = A1/2+5 и C1 = B1*B1 – 10*A1, чему равно C1?
3
Что даёт MID("informatika"; 3; 4)?
4
Для правила «60 и более – сдал» почему формула =IF(A1>60; "passed"; "failed") неверна и как её исправить?