Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
диплом1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.74 Mб
Скачать

2.2. Реализация ветвящихся и циклических алгоритмов в ms Excel

Реализация ветвящихся алгоритмов

Задачи с условием решают с помощью алгоритма ветвления. Базовая алгоритмическая структура “развилка” (ветвящаяся алгоритмическая структура) реализуется при помощи встроенной функции:     =ЕСЛИ (условие; действие1; действие2).

Условная функция, записанная в ячейку таблицы, выполняется так: если условие истинно, то значение данной ячейки определяется значением <действие1>, в противном случае – значением <действие2>.

При использовании условной функции ЕСЛИ в MS Excel можно применять следующие операторы сравнения:

  • больше (>);

  • меньше (<);

  • больше или равно (>=);

  • меньше или равно (<=);

  • равно (=);

  • не равно (< >).

Такие выражения еще называют простыми условиями.

Пример: сравнить два числа А и В.

 

В ячейки А2 и В2 можно вводить любые числа. К примеру, введем в ячейку А2 цифру 105, а в ячейку В2 – число 93.

В ячейку со значением С пишем формулу: =ЕСЛИ(А2<В2; «число А больше»; «число В больше»). То есть программа будет сравнивать значение в ячейке А2 со значением в ячейке В2 и выводить правильное текстовое сообщение. (Табл.1)

Таблица № 1

Второй пример: вычислить арифметическое выражение    

(a2+d*3-b3)/(a-b) 

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

Вводим в ячейки А2, В2 и С2 соответственные значения a, b и с. В ячейку Е2 формулу: =ЕСЛИ(a< >b;(a*a+d*3-b*b*b)/(a-b);"знаменатель pавен нулю"). Если а не равно b, то вычисляется (a2+d*3-b3)/(a-b), иначе выводим текстовое сообщение "знаменатель pавен нулю". (Табл. 2).

Таблица № 2

Следующий пример: есть список студентов, а также их оценки, которые они получили по экзамену: 5, 4, 3 и 2. Условие задачи заключается в том, что нужно для каждого студента прописать текстовый комментарий «сдал» или «не сдал». То есть если студент получил оценку 3 и выше, то он сдал экзамен, в противном случае — не сдал. Для решения этой задачи можно написать так: =ЕСЛИ(C1<3; «не сдал»; «сдал»). MS Excel будет сравнивать оценку каждого студента, и когда она будет меньше 3 (т.е. двойка), то в соответствующем поле будет написан комментарий «не сдал». Если же оценка будет 3 или выше, то в ячейке будет отмечено, что этот студент сдал экзамен. 

Таблица № 3

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

 Таблица № 4

Ниже приведены примеры задач, которых можно предложить учащимся на уроках при изучении темы «Реализация ветвящихся алгоритмов в MS Excel», а также для самостоятельной работы.

 Задача № 1

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

 Задача № 2

В школу танцев принимаются девушки и юноши, имеющие рост не ниже 168 см и не выше 178 см. Их вес должен соотноситься с ростом по формуле: значение веса < значение роста - 115. Определите, кто из списка поступающих будет принят в школу.

 Задача № 3

Рис расфасован в два пакета. Вес первого - М кг, второго - N кг. Определить:

А) какой пакет тяжелее?

Б) вес более тяжелого пакета.

 Задача № 4

Составить программу, по которой компьютер выполняет роль электронной няньки, заботящейся о здоровье школьника. Приводятся два варианта развития сценария, в зависимости от ответа ребенка. Нормальная  температура человека: от 36.30C до 36.80C. И если у ребенка температура выше или ниже, то он не здоров.

1-й вариант:

  • Ты вчера был болен. Померь-ка температуру!

Сообщи, какая у тебя температура: 36.5

  • Ты здоров, дружок! Можешь идти в школу.

Желаю успехов!

2-й вариант:

  • Ты вчера был болен. Померь-ка температуру!

Сообщи, какая у тебя температура: 37.7

  • Ты еще болен! Раздевайся и ложись в постель.

Поправляйся, дружок!

Задача № 5

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

1-й вариант:

  • Вчера был сильный мороз. Посмотри на термометр сегодня.

Сообщи, какая  температура воздуха сейчас: –10

  • Дружок! Можешь идти в школу.

Желаю успехов!

2-й вариант:

  • Вчера был сильный мороз. Посмотри на термометр сегодня.

Сообщи, какая  температура воздуха сейчас: –40

  • Занятия в школе отменяются!

Выходить на улицу опасно для твоего здоровья!

Реализация алгоритма «Выбор»

Часто на практике одного условия для логической функции мало. Когда нужно учесть несколько вариантов принятия решений, выкладываем операторы ЕСЛИ друг в друга. Таким образом, у нас получиться несколько функций ЕСЛИ в MS Excel.

Синтаксис будет выглядеть следующим образом:

=ЕСЛИ(логическое_выражение;значение_если_истина;ЕСЛИ(логическое_выражение;значение_если_истина;значение_если_ложь))

Здесь оператор проверяет два параметра. Если первое условие истинно, то формула возвращает первый аргумент – истину. Ложно – оператор проверяет второе условие.

Примеры несколько условий функции ЕСЛИ в MS Excel:

Таблица № 5

Таблица для анализа успеваемости. Ученик получил 5 баллов – «отлично». 4 – «хорошо». 3 – «удовлетворительно». Оператор ЕСЛИ проверяет 2 условия: равенство значения в ячейке 5 и 4.

Таблица № 6

В этом примере мы добавили третье условие, подразумевающее наличие в табеле успеваемости еще и «двоек». Принцип «срабатывания» оператора ЕСЛИ тот же.

Если в задаче требуется проверить несколько условий, то используется составное условие, полученное из нескольких простых с помощью логических операций: И, ИЛИ.

Когда нужно проверить несколько истинных условий, используется функция И. Суть такова: ЕСЛИ а = 1 И а = 2 ТОГДА значение в ИНАЧЕ значение с.

Функция ИЛИ проверяет условие 1 или условие 2. Как только хотя бы одно условие истинно, то результат будет истинным. Суть такова: ЕСЛИ а = 1 ИЛИ а = 2 ТОГДА значение в ИНАЧЕ значение с.

Функции И и ИЛИ могут проверить до 30 условий.

Пример использования оператора И (табл. 7):

Таблица № 7

Пример использования функции ИЛИ (табл. 8):

Таблица № 8

Реализация циклических алгоритмов

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

Первый вариант

  1. Нажимаем правой клавишей мыши на ячейке, где уже имеется формула, и в появившемся меню выбираем пункт «Копировать».

Таблица № 9

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

  2. На выделенных пустых ячейках нажимаем правой клавишей мыши и в контекстном меню выбираем пункт «Вставить».

Таблица № 10

Когда мы копируем ячейки с относительными формулами и затем переносим в другое место, то таблица MS Excel сама меняет адреса ячеек в формулах относительно новых ячеек.

Второй вариант

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

Таблица № 11

Третий вариант

Например, нужно скопировать формулу из ячейки F24. Наводим на квадратик в правом нижнем углу ячейки. Указатель мышки приобретает вид черного крестика. Нажимаем два раза мышкой на этот крестик. Формула скопируется до конца заполненного столбца. В нашем примере, в ячейки F25:F26.

Таблица № 12

Формула скопируется в таблице, если ячейки столбца слева таблицы будут заполнены. Тогда MS Excel поймет до какой ячейки расположена таблица.

Пример

Построить числовую пирамиду "треугольник Паскаля". Заполнить столбец А. В ячейку В2 запишите формулу, скопируйте формулу в остальные ячейки.

 Таблица № 13

 

Получится числовая зависимость (табл. 13)

Таблица № 14

 

 

Иногда при копировании формулы в MS Excel требуется, чтобы программа не изменяла одно из значений ячейки, а другое менялось по строке или столбцу. Для этого перед координатой ячейки, которую необходимо зафиксировать в формуле (Например, E2), нужно поставить знак $ (доллар) перед координатой строки и столбца: $E$2. Можно устанавливать фиксацию только по координате столбца $E2 или только строки E$2. Тогда при копировании формулы меняться будет только незафиксированная координата.

В качестве практического примера можно привести таблицу с выручкой за месяц по магазинам, где требуется подсчитать, какой процент от общей выручки приносит каждый магазин. (Табл. 15)

Таблица № 15

Для главного склада в ячейку D3 вводим формулу для расчета процента выручки от общей суммы «Итого»: (C3/$C$8)*100. Чтобы дробные значения не выглядели слишком длинно, помещаем имеющуюся формулу в формулу округления до второго знака после запятой: ОКРУГЛ((C3/$C$8)*100; 2).

У нас зафиксирована ячейка C8 по строке и столбцу, т.е. при копировании формулы координаты ячейки меняться не будут и где бы ни находилась формула, для расчета будет подставлено значение ячейки C8. Далее можно скопировать (или распространить) формулу по столбцу D до ячейки D8. (Табл. 16)

Таблица № 16

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

Рассмотрим примеры реализации циклов в MS Excel.

Пример 1

Необходимо найти значения у(х), если известно, что хn = 2 (начальное значение), хк = 10 (конечное значение), шаг =1.

В ячейке А1 вводим значение х, в ячейку В1 – значение у(х). Т.к. шаг равен одному, вводим в ячейку А2 начальное значение х, равное 2, в ячейку А3 вносим значение 3. Затем выделяем обе ячейки, с помощью автозаполнения протаскиваем маркер вниз до ячейки А10.

В ячейку В2 вводим формулу: = (SIN (A2) +5) ^2/СТЕПЕНЬ (A2+3^ (A2); 1/2). Затем копируем ее до ячейки В10.

Таблица № 17

Пример 2

Необходимо напечатать таблицу перевода температуры из градусов по шкале Цельсия (С) в градусы по шкале Фаренгейта (F) для значений температуры от 150 С до 300 С с шагом 10 С. Формула перевода из градусов по шкале Цельсия (С) в градусы по шкале Фаренгейта (F) F=1.8*C+32.

В ячейку А2 вводим значение 150 Цельсия, в А3 – 16. Затем воспользуемся автозаполнением для ввода значений до 30. В ячейку В2 записываем формулу перевода градусов по шкале Фаренгейта. В остальные ячейки копируем данную формулу.

Таблица № 18

Задача 1

В день рождения мама подарила Васе копилку, в которой лежал 1 рубль и стала давать ему каждый день по 50 копеек. Необходимо вывести на экран сумму, лежащую в копилке в конце каждой недели в течении 15 недель.

Таблица № 19

Задача 2

Найти наибольшее и наименьшее значение функции y=3x2+x-4, если на заданном интервале [a,b] Х изменяется с шагом 0,1.

Вводим значения х. В ячейку В3 вводим формулу для нахождения у, затем копируем ее для остальных значений. Для нахождения наибольшего и наименьшего значений воспользуемся функцией МАКС и МИН, вводим в них нужный диапазон. В данном случае это диапазон В4:В11.

Таблица № 20

Ниже приведены упражнения и задачи, которых можно предложить учащимся на уроках при изучении темы «Реализация циклических алгоритмов в MS Excel», а также для самостоятельной работы. 

Упражнение 1

Напечатайте таблицу перевода миль в километры для расстояний от 5 до 75 миль с шагом 5 миль, если 1 морская (английская) миля составляет 1.852 км.

Упражнение 3

Напечатайте таблицу перевода расстояний в дюймах в сантиметры для значений от 1 до 10 дюймов с шагом 1 дюйм, если 1 дюйм=2.54 см.

 Упражнение 4

Напечатайте таблицу соответствия между весом в фунтах и весом в килограммах для значений от 1 до 10 фунтов с шагом 1 фунт, если 1ф=454 г.

 Задача № 1

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

 Задача № 2

Маленький великан Вася выpастает на 1 сантиметp в день. Его pост в день М pавен одному метpу. Мама великанша измеpяет pост сына каждую неделю и записывает в книжечку.

Выведите на экpан записи из маминой книжечки за 20 недель после дня М.

 Задача № 3

Маленький великан Вася с каждой неделей может поднимать на 5 килограмм больше, чем в предшествующую неделю. В день М он поднимал 230 килограммов. Сколько дней назад родился Вася, если в первый день своей жизни он ничего не мог поднять? Сколько килограмм он сможет поднять в свой первый день рождения? Какой вес он поднимет от дня М до первого дня рождения (1 год) в сумме, если будет упражняться раз в неделю и записывать результат?  Как увидеть на экране Васины записи?

 Задача № 4

В сосуде, объём которого равен V0 литров, содержится р %-ный раствор соли. Из сосуда выливается А литров смеси и доливается А литров воды, после чего раствор перемешивается. Эта процедура повторяется N раз. Какова будет концентрация соли после N процедур? Решите задачу для N = 3, N = 6, N = 12, N = 30.

Задача № 5

Поезд должен пройти 100 км за 2 часа. По дороге расположены 7 станций. Выяснить, сколько минут сможет стоять поезд на каждой станции, если его средняя скорость на всех участках пути (исключая остановки) будет составлять в час: 200 км, или 100 км, или 80 км, или 60 км, или 50 км, или 40 км. Время остановки одинаково на всех станциях.

Задача № 6

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

 

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