1 АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ. РАЗВЕТВЛЯЮЩЕЙСЯ АЛГОРИТМ. ( часть III) Методическое пособие для учащихся общеобразовательных и профильных классов. составили учителя ОИВТ школы N 73 Богданова О.А. Милютин С.А. Г. Воронеж 2001г Настоящее пособие подготовлено в помощь учащимся и учителю информатики по изучению темы "Разветвляющийся алгоритм". Это пособие является продолжением изучения темы "Алгоритмизация и программирование". При объяснении принципов работы алгоритма использован алгоритмический язык. Основной упор сделан на работу с языком Бейсиком. В пособии содержатся задачи для самостоятельной работы и контрольные вопросы. Изучение материала рассчитано на 8 уроков. Методическое пособие может быть использовано для преподавания в 9, 10-х классах. ЛИТЕРАТУРА: 1. Основы информатики и вычислительной техники. Пробный учебник для 10-11 классов средней школы. Москва 1994 г. 2. Кушниренко А.Г, Лебедев Р.А., Сворень Р.А. Основы информатики и вычислительной техники. Москва 1990г 3. Поснова М.Ф,Стрикелева Л.В,Поснов Н.Н. ЭВМ для всех.Для чего и как работают персональные компьютеры.Минск 1990г. 4. Файсман А.Профессиональное программирование на Турбо Паскале. 1992г 5. Измайлов А.А.Главы из задачника. Информатика N33 сентябрь 1995г. 2 § 1. РАЗВЕТВЛЯЮЩИЙСЯ АЛГОРИТМ До этого мы работали только с такими алгоритмами, в которых все действия совершаются одно за другим. В этой главе мы обсудим алгоритмы, в которых какое-либо действие совершается в зависимости от выполнения или не выполнения некоторого условия. Определение линейного алгоритма Команды выполняются в том порядке, в каком они записаны. В алгоритме работают все команды. Каждая команда работает один раз. В жизни нам постоянно приходится принимать решения в зависимости от создавшейся ситуации. Если идет дождь, то мы надеваем плащ. Если жарко, то идем купаться. Разумеется, встречаются и более сложные положения, когда нужно сделать выбор. Пример 1: Алгоритм поведения человека на перекрестке перед светофором. Если горит улицу. Если горит Если горит переходить зеленый свет, то вы переходите красный свет, то вы стоите. желтый свет, то вы готовитесь улицу. Пример 2: Алгоритм вычисления выражения Y=1/x. Если X<>0, то можно вычислить Y=1/x . Пример 3: Алгоритм вычисления квадратного корня из числа X . Eсли X>0 , то Y=sqr(X) , иначе "Корня не существует". Если Х<>0 то Y=1/Х. Если Д=>0 то вычисляем корни иначе Корней нет. Если идет дождь, то берем зонт, одеваем плащ. Идет дождь - условие Если, то, иначе - слова, обязательно используемые при составлении условия. . - заканчивает предложение. Во всех этих предложениях есть слова: если, то, иначе и обязательный знак ".". Точка заканчивает каждое предложение. В третьем предложении, если условие выполнено, то мы выполняем несколько действий. Точка говорит нам, где заканчиваются действия, выполняемые нами в том случае, если условие верно. Машина должна тоже знать, где заканчивается команда ветвления. Во всех машинных языках команды ветвления реализуются с помощью служебных слов: если, то, иначе, конец ветвления Конец ветвления в записи алгоритма показывает последнее действие, участвующее в ветвлении. На алгоритмическом языке это слово ВСЕ. Конец ветвления - всегда указывается специальным образом. Команда, в которой та или иная серия команд выполняется после проверки условия, называется командой ветвления. Команда ветвления изменяет порядок выполнения команд в алгоритме. В линейном алгоритме обязательно все команды работают. В разветвляющемся алгоритме есть команды, которые могут не работать, в зависимости от создавшихся условий. Пример 4: Вы возвращаетесь из школы домой. По дороге вы должны зайти в магазин. Идете из школы домой. Если магазин открыт То заходите в магазин покупаете хлеб все (конец ветвления) Продолжаете дорогу домой. Здесь нет ветки иначе. Если магазин открыт, то заходите в него. Если нет, то проходите мимо. Здесь использованы служебные слова: Если, то, конец ветвления. 3 Пример 5: Вы решили сходить в кино, а если билетов нет, то зайти к подруге. Если билеты есть ¦ то идёте в кино ¦ иначе идете к подруге все (конец ветвления) Идете домой. В зависимости от условия вы выполняете то или иное действие. Или идете в кино, или к подруге. Здесь использованы служебные слова: Если <условие> То <команда1> Иначе <команда2> Все (конец ветвления) Команды из каждой серии выполняются подряд, каждая по своим правилам. Команда ветвления заканчивается, как только выполнится последняя команда из серии 1 или серии 2. В качестве условия в команде ветвления может быть использовано любое понятное исполнителю утверждение, которое может соблюдаться или не соблюдаться. Утверждение может быть выражено словами или формулой. Задача 1. Если, то, иначе, конец ветвления Команда ветвления может быть полная и неполная. В первом примере команда ветвления неполная, (действий иначе нет), во- втором полная (есть действие, если условие выполнено, и есть действие, если условие не выполнено ). § 2. ГРАФИЧЕСКОЕ ИЗОБРАЖЕНИЕ. Полная команда НЕТ ДА НЕТ Если опущена 1 коп то налить 1 стакан без сиропа иначе Если опущена 3 коп то 1 стакан с сиропом иначе вернуть деньги ДА условие серия 1 Если опущена монета 1 коп., то налить стакан воды без сиропа. Если опущена монета 3 коп., то налить стакан воды с сиропом. Если монета другого достоинства, то вернуть деньги. условие серия 2 Составить алгоритм работы автомата с газированной водой в эпоху застоя. Неполная команда Все Все серия 1 Если <условие> то <команда1> все (конец ветвления) Обратите внимание: Две команды ветвления. Одна в другой. Одна внешняя, другая внутренняя. Машине важно знать, где какая команда ветвления заканчивается. Для этого существует правило: Позже начатая команда должна раньше закончиться. 4 начало или МАХ=В ( переменной MAX присвоить значение В ) в зависимости от ситуации: А>В или А<В. ввод монеты ДА налить 1 стакан без если опущена 1коп ДА НЕТ если опущена 3коп НЕТ сиропа налить 1 ста кан с сиропом вернуть деньги Если А=В, то можно выбрать любой из этих операторов. При написании программы программист не знает соотношение А и В. Значит, нужный вариант решения можно описать словами: Если А > В ( если оно истинно), то выполнить оператор МАХ=А , иначе выполнить оператор МАХ=В Все А, B - аргумент МАХ - результат начало Оформление экрана конец Задача 2.Составить алгоритм поведения человека на перекрестке перед светофором. ВОПРОСЫ : 1. Какие алгоритмы называются линейными? 2. Какая форма организации действий называется ветвлением? 3. Как оформляются алгоритмы ветвления: а) в неполной форме; б) в полной форме? 4. Для чего служит указатель КОНЕЦ ВЕТВЛЕНИЯ? 5. Как изображаются с помощью блок-схем: а) ветвления в полной форме; б) ветвления в неполной форме? § 3. СОСТАВЛЕНИЕ ПРОСТЕЙШИХ ГРАФИЧЕСКИХ АЛГОРИТМОВ Задача 1.Найти большее из двух чисел. Исходные данные - два числа А и В. Результат МАХ - наибольшее из этих двух чисел. Чтобы решить задачу, машина должна выполнить один из двух операторов: МАХ=А ( переменной MAX присвоить значение А ) ввод А, В если A>B Max=A max=B печать MAX конец Задача N 2 Составить алгоритм вычисления величины М по формулам: 5 M = A - B, если A > B; A + B, если A < B. § 4. ИСПОЛЬЗОВАНИЕ ОПЕРАЦИЙ СРАВНЕНИЯ И ЛОГИЧЕСКИХ ОПЕРАЦИЙ ДЛЯ СОСТАВЛЕНИЯ СЛОЖНЫХ УСЛОВИЙ. Задача N 3 Составить алгоритм вычисления Y по формулам: Y = X, если X < 2; X + 3, если 2 < X < 3; 1, если X > 3. Задача N 4 Составить алгоритм вычисления Y при заданом Х: Y = решения линейного = <>> >=< <=- равно не равно больше больше или равно меньше меньше или равно ЛОГИЧЕСКИЕ ОПЕРАЦИИ: X2 + 4X - 7, если X < 2; 7X2 + 4X - 7, если X > 2. Задача N 5 Составить алгоритм ЗНАКИ ЛОГИЧЕСКИХ СРАВНЕНИЙ: AND- и OR -или NOT-отрицание уравнения Аx+B=0 если А=0, то решений нет если А=0 и В=0, то бесконечное множество решений если А<>0, то Х= -В/А ВОПРОСЫ: 1. Какие действия выполняет машина при поиске большего из двух чисел? 2. Какие переменные являются аргументом, а какие результатом? 3. Какие проверки необходимы при составлении алгоритма решения линейного уравнения. Для изменения порядка проверки условий нужно использовать круглые скобки. Из простых условий можно получать составные, используя служебные слова AND, OR, NOT и скобки для указания порядка проверки условий. Результатом проверки любого условия является либо ДА (если условие соблюдается ), либо НЕТ (если условие не соблюдается). Условие вида "А или В" соблюдается (равно ДА) ,если соблюдается либо А, либо В, либо они оба. Задача N 6. Составить алгоритм, отвечающий на вопрос "Могут ли числа А, В, С быть размерами сторон треугольника". если А+В>С и А+С>D и В+С>С то печать "Стороны треугольника" иначе печать "Нет" Все Задача N 7. Составить алгоритм, отвечающий на вопрос "Могут ли углы A, B и C быть углами прямоугольного треугольника". 6 1. если A+B+C=180 и (A=90 или B=90 или C=90) то печать "да" иначе печать "нет" все 2. если (A+B=90 и C=90) или (A+C=90 и B=90) или (C+B=90 и A=90) то печать "да" иначе печать "нет" все Задача N 8. Могут ли углы A, B, C быть углами треугольника. если A+B+C=180 то печать "да" иначе печать "нет" все Задача N 9. Могут ли углы A, B, C быть углами равностороннего треугольника. если A+B+C=180 и (A=B и B=C и C=A ) то печать "да" иначе печать "нет" все Особый случай: нельзя составить условие: если 1<x<=5 то команды все оно записывается следующим образом: если x>1 и х<=5 то команды все. Bопросы: 1. Какие знаки используются при составлении условий? 2. Как можно изменить порядок проверки условий? 3. Для чего используются слова AND, OR, NOT? 4. Как записать полную команду ветвления с помощью неполных команд ветвления? § 5 РЕАЛИЗАЦИЯ КОМАНДЫ ВЕТВЛЕНИЯ НА ЯЗЫКЕ БЕЙСИК. Служебные слова, входящие в полную команду ветвления: ЕСЛИ ТО ИНАЧЕ КОНЕЦ ВЕТВЛЕНИЯ. Служебные слова, входящие в неполную команду ветвления: ЕСЛИ ТО ЕСЛИ ТО ИНАЧЕ КОНЕЦ ВЕТВЛЕНИЯ - КОНЕЦ ВЕТВЛЕНИЯ. IF THEN ELSE КОНЕЦ СТРОКИ НЕПОЛНАЯ КОМАНДА ВЕТВЛЕНИЯ : 100 IF условие THEN серия команд ENTER если то конец ветвления концу ветвления соответствует конец строки. ПОЛНАЯ КОМАНДА ВЕТВЛЕНИЯ: 100 IF условие THEN серия ком. ELSE сер.ком. ENTER если то иначе конец ветв Правила работы неполной команды ветвления: Если условие выполнено, то работают все команды, стоящие после THEN до конца строки. Если условие не выполняется, то машина начинает выполнять команды, стоящие на следующей строке. Правила работы полной команды ветвления: Если условие выполнено, то работают все команды, стоящие между служебными словами THEN и ELSE. Если условие не выполнено, то работают все команды, стоящие после служебного слова ELSE до конца строки. 7 B некоторых версиях языка Бейсик отсутствует служебное слово ELSE. При записи полной команды ветвления используются две неполные или оператор перехода GOTO. более короткие ветви.(Cм. вычисление площади треугольника). Вопросы: Правила работы команды GOTO: GOTO N- машина переходит на выполнение строки с номером N. C помощью этой команды можно изменить порядок выполнения операторов в программе. Пример: Найти большее из 2-х чисел. ( cм. блок-схему составленную в § 3) 10 REM бид 20 CLS: COLOR 2 30 ?"Нахождение большего из двух чисел" 40 ?"Программу составил Иванов" 50 INPUT "Введи A,B=";A,B 60 IF A>B THEN MAX=A else MAX=B 70 ?"Большее число равно ";MAX 80 END описание программы: Cтроки 10-40 -заголовок программы; Cтрока 50- ввод данных в переменные A,B с клавиатуры; Cтрока 60- проверка условия : если A>B, то переменной MAX присваивается значение A,иначе MAX присваивается значение В. Cтрока 70- показывает на экране большее число, которое машина запомнила в переменной MAX; Cтрока 80 - конец работы программы. Примечание: Применение команд ветвления при составление программ сопряжено с некоторыми неудобствами: - в одной строке Бейсик- программы не может быть более 256 символов; - очень длинная строка программы неудобна для корректировки программы. Поэтому при составлении некоторых программ рекомендуется использовать неполные команды ветвления и проверять 1.Служебные слова используемые в командах ветвления: а) в полной форме; б) в неполной форме. 2.Правила работы команды ветвления : а) в полной форме; б) в неполной форме. 3.Команда GOTO. 4.Построение полной команды ветвления: а) первый способ; б) второй способ. 5. Алгоритм работы программы большее из двух. § 6.СОСТАВЛЕНИЕ ПРОСТЕЙШИХ ПРОГРАММ И ВЫПОЛНЕНИЕ ИХ НА КОМПЬЮТЕРЕ. Задача 10. Составить алгоритм нахождения большего из трех чисел. 10 20 30 40 50 60 70 80 REM большее из трёх чисел CLS: COLOR 2 INPUT "Введи A,B,C=";A,B,C IF A>B AND A>C THEN MAX=A IF B>C AND B>C THEN MAX=B IF C>A AND C>B THEN MAX=C ?"Максимальное число=";MAX END Примечание: Введение ветки иначе существенно усложняет задачу при записи ее на любом языке. Задача 11. Составить алгоритм, отвечающий на вопрос: "Могут ли числа А, В, С быть углами равнобедренного треугольника?" 1. числа A,B,C могут быть углами треугольника, если A+B+C=180 2. числа A, B, C могут быть углами равнобедренного треугольника, если A=B или A=C или B=C, 8 значит наш ответ можно записать следующим образом: Если A+B+C=180 и (A=B или A=C или B=C) то печать да иначе нет все 10 20 30 40 50 60 REM проверка CLS : COLOR 2 ?"Проверка углов " ?"Программу составил Иванов" INPUT "введи углы A,B,C=";A,B,C IF A+B+C=180 AND (A=B OR B=C OR A=C ) THEN ?"да" 70 IF NOT(A+B+C=180 AND (A=B OR A=C OR C=B )) THEN ?"нет" 80 END Примечание: Использование ветки иначе существенно упрощает программу. Строка 60 заменяется на следующую строку. 60 IF A+B+C=180 AND (A=B OR B=C OR A=C ) THEN ?"да" ELSE ? "нет" Строка 70 удаляется из программы. § 7. АЛГОРИТМ ВЫЧИСЛЕНИЯ ПЛОЩАДИ ТРЕУГОЛЬНИКА ПО ФОРМУЛЕ ГЕРОНА. Площадь вычисляется по следующей формуле S= p( p a)( p b)( p c) где P= если A+B<=C или A+C<=B или C+B<=A | то " нельзя составить треугольник" все 10 20 30 35 40 50 REM задача CLS: COLOR 3 ?"вычисление площади треугольника" ?"программу составил Иванов" INPUT "введи размеры сторон (м) A,B,C,=";A,B,C IF A<=0 OR B<=0 OR C<=0 THEN ?"размеры должны быть положительными ":GOTO 100 60 IF A+B<=C OR B+C<=A OR C+A<=B THEN ?" нельзя составить треугольник ":GOTO 100 70 P=(A+B+C)/2 80 S=SQR(P*(P-A)*(P-B)*(P-C)) 90 ?"площадь равна ";S;"м^2" 100 END Примечание: Использованы две неполных команды ветвления § 8 АЛГОРИТМ НАXОЖДЕНИЯ КОРНЕЙ КВАДРАТНОГО УРАВНЕНИЯ. Уравнение в общем виде записывается так: Ax2 + Bx + C = 0 Дискриминант равен: D=B2-4AC Корни вычисляются по формулам: abc ; 2 A, B, C размеры сторон треугольника- аргументы; S площадь треугольника- результат; P полупериметр- промежуточная переменная; проверки: если A<=0 или B<=0 или C<=0 то напечатать "размеры должны быть положительные" все X1= B D B D ; X2= 2A 2A Аргументы - A, B, C; результаты -X1, X2; промежуточная переменная - D. Проверки: если A=0 | то печать"A=0" все 9 еcли D<0 | то печать"корней нет" все 10 REM задача 20 CLS: COLOR 2 30 ?"нахождение корней квадратного уравнения" 40 INPUT "введите коэффициенты A,B,C=";A,B,C 50 IF A=0 THEN ?"Ошибка. A=0":GOTO 110 60 D=B^2-4*A*C 70 IF D<0 THEN ?"Корней нет ":GOTO 110 80 X1=(SQR(D)-B)/(2*A) 90 X2=(-1*B-SQR(D))/(2*A) 100 ?"X1=";X1;" X2=";X2 110 END Обозначения переменных: Т- рост в дюймах; T1- рост в метрах; V- вес в фунтах; V1- вес в кг; Z- окружность запястья в см; К- флажок (для кого считаем: для мужчины или для женщины); Аргументы: Т1, Z, K; Результат: V1; Промежуточные переменные: T, V; Описание программы: 1. Вводим с клавиатуры рост в метрах- переменная Т1 2. Переводим Т1 в дюймы по формуле Задача: Составить алгоритм нахождения корней линейного уравнения.(Cм. задачу N5) Т=T1/0.0254 3. Вводим окружность запястья в сантиметрах- Z если А = 0 то если В = 0 то печать "Много решений" иначе печать "нет решений" все иначе Х = -В/А печать Х все § 9. АЛГОРИТМ ВЫЧИСЛЕНИЯ ИДЕАЛЬНОГО ВЕСА Идеальный вес для мужчин вычисляется по следующей формуле V=T*4-108 Для женщин- V=3,5*T-108 Если окружность запястья у мужчин превышает 18см, а у женщин 16,5см, то к полученному результату необходимо добавить десять процентов, т.е. V=V+0.1*V 4. Флажок будет нам говорить для кого ведется расчет если К= 1 считаем для женщин, если К=0 считаем для мужчин. Вводим значение К 5. Расчет идеального веса в фунтах 6. 1-й вариант: если К = 1 то V =3.5*T-108 если Z>16.5 | то V=V+0.1*V все все если К=0 то V= 4*T-108 если. Z>18 | то V=V+0.1*V все все 10 2-й вариант: если K=1 | то V=3.5*T-108 все если K=0 | то V=4*T-108 все если (K=1 и Z>16.5) или (K=0 и Z>18) | то V=V+0.1*V все 6.Переводим фунты в килограммы по формуле : V1=V*0.453 ПРИМЕР: распечатать название дня недели в зависимости от его номера: Общий вид команды Выбор : выбор при условии 1:сер.ком.1 при условии 2:сер.ком.2 при условии N:сер.ком.N -||-||-||-|| -||иначе сер.ком.N+1 все Ветка иначе может отсутствовать. 7.Печатаем ответ в килограммах ПРОГРАММА: 10 20 30 35 40 50 60 REM идеальный вес CLS: COLOR 2 ?"программа вычисления идеального веса" ?"программу составил Иванов" INPUT "введите окружность запястья (cм)=";Z INPUT "введите рост (м)=";T1 INPUT "если расчёт для женщин введите 1; для мужчин 0 ";K 70 REM перевод метров в дюймы 80 T=T1/0.0254 90 IF K=1 then V=3.5*T-108 100 IF K=0 then V=4*T-108 110 IF (K=1 and Z>16.5) OR (K=0 AND Z>18) THEN V=V+0.1*V 120 REM перевод 130 V=V*0.453 140 PRINT "идеальный вес равен ";V;" кг " 150 END § 10. КОМАНДА "ВЫБОР". В команде "если" указывается не более двух вариантов действий ЭВМ. Если надо выполнить один из многих вариантов, то используется команда "выбор". Правила работы команды: Исполнитель проверяет первое условие. Если оно выполняется, то выполняются команды N1, и, после этого, машина уходит на конец команды выбора. Если условие не выполняется, то машина переходит к проверке следующего условия и т.д. Ветка иначе работает только в том случае, если ни одно условие не выполняется. Построение команды ВЫБОР на языке БЕЙСИК: SELECT CASE АРИФМ_ВЫРАЖ ИЛИ СИМВ_ВЫРАЖ CASE УСЛОВИЕ 1: <БЛОК КОМАНД 1> CASE УСЛОВИЕ 2: <БЛОК КОМАНД 2> -||- ... ... -||[CASE ELSE УСЛОВИЕ N: <БЛОК КОМАНД N>] END SELECT В поле команд SELECT CASE записывается произвольное арифметическое выражение или символьное выражение, которое в процессе выполнения программы принимает то или иное числовое или символьное значение. В поле операндов каждого оператора CASE надо указывать условие в одном из трех форматов: 1) CASE константа_1, константа_2,... 2) CASE IS знак_отношения константа 3) CASE константа_1 TO константа_2 Константы в условиях должны быть того же типа, что и выражение в SELECT CASE. В качестве знака отношения в формате 2 можно использовать любой из знаков отношения. Алгоритм множественного выбора заключается в следующем. Сначала вычисляется значения выражения, записанного в SELECT CASE. Далее проверяется, удовлетворяет ли 11 это значение одному из указанных в CASE условий. Если значение удовлетворяет какому- то условию, выполняется блок команд, следующие за данным CASE. .... 50 INPUT”ВВЕДИТЕ НОМЕР ДНЯ НЕДЕЛИ=”;N 60 SELECT CASE N: CASE 1:?”ПОНЕДЕЛЬНИК” 70 CASE 2:?”ВТОРНИК” 80 CASE 3:?”СРЕДА” 90 CASE 4:?”ЧЕТВЕРГ” 100 CASE 5:?”ПЯТНИЦА” 110 CASE 6:?”СУББОТА” 120 CASE 7:?”ВОСКРЕСЕНЬЕ” 130 CASE ELSE ?”НЕТ ТАКОГО” 140 END SELECT 150 END Задача N12. Ракета запускается на экваторе со скоростью Y км/сек в направлении движения Земли по орбите вокруг Солнца. Каков будет результат этого запуска ракеты в зависимости от скорости Y? АРГУМЕНТ-Y РЕЗУЛЬТАТ-Печать нужного сообщения Выбор при Y при Y при Y иначе все < 7.8 : печать "Ракета упадет на Землю" < 11.2: печать "Ракета станет спутником Земли." < 16.4: печать"Ракета станет спутником Солнца." печать"Ракета покинет солнечную систему." 10 REM ракета 20 CLS: COLOR 2 30 ?"Запуск ракеты" 40 ?"Программу составил Петров" 50 INPUT "Введи скорость(км/с) =";Y 60 SELECT CASE Y: CASE Y<7.8: ?"Ракета упадёт на землю" 70 CASE Y<11.2: ?"Ракета станет спутником земли" 80 CASE Y<16.4: ?"Ракета станет спутником солнца" 90 CASE ELSE ?"Ракета покинет солнечную систему." 100 END SELECT 110 END ВОПРОСЫ ДЛЯ ПРОВЕРКИ ЗНАНИЙ: 1. 2. 3. 4. 5. 6. Необходимость создания разветвляющегося алгоритма. Примеры разветвляющихся алгоритмов. Определение команды ветвления. Служебные слова ,используемые в команде ветвления. Типы команд ветвления. Чем линейный алгоритм отличается от разветвляющегося? 7. Графическое изображение команд ветвления. 8. Знаки используемые при составлении условий. 9. Использование логических связок И, ИЛИ, НЕТ при составлении условий. Применение скобок. 10. Запись команды ветвления на языке Бейсик. 11. Запись полной команды ветвления на Бейсике. 12. Правила работы команды ветвления на Бейсике. 13. Когда заканчивается команда ветвления? 14. Сколько условий содержится в команде ветвления? 15. Сколько условий содержится в команде Выбор? 16. Какие служебные слова входят в команду Выбор? 17. Написать полную форму команды Выбор. 18. Когда заканчивается работа команды Выбор? 19. Как работает команда Выбор? ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ: 1. Составить алгоритм, вычисляющий корни уравнения X2+PX +Q =0 2. Составить алгоритм вычисления квадратного корня из числа X. 3. Составить алгоритм, вычисляющий площадь прямоугольного треугольника. Даны размеры трех сторон. 4. Составить алгоритм вычисления площади равностороннего треугольника по его стороне. 5. Составить алгоритм вычисления площади прямоугольного треугольника (Даны размеры катетов). 6. Составить алгоритм вычисления площади равнобедренного треугольника. Даны размеры трех сторон. 7. Составить алгоритм отвечающий на вопрос: "Могут ли числа А, В, С быть размерами сторон треугольника?" 8. Составить алгоритм отвечающий на вопрос: "Могут ли числа А, В, С быть углами треугольника?" 9. Составить алгоритм отвечающий на вопрос: "Могут ли числа А, В, С быть углами прямоугольного треугольника?" 12 10. Составить алгоритм отвечающий на вопрос: "Могут ли числа А, В, С быть углами равностороннего треугольника?" 11. Составить алгоритм отвечающий на вопрос: "Могут ли числа А, В, С быть углами равнобедренного треугольника?' 12. Рис расфасован в два пакета. Вес первого- mкг, второго- nкг. Определить: а) какой пакет тяжелее- первый или второй? б) вес более тяжелого пакета. 13. К финалу конкурса лучшего по профессии "Специалист электронного офиса" были допущены трое: Иванов, Петров, Сидоров. Соревнования проходили в три тура. Иванов в первом туре набрал m1 баллов, во втором- n1, третьем- p1. Петров- соответственно m2, n2, p2; Сидоров- m3, n3, p3. Сколько набрал победитель? 14. По заданному значению переменной x, такой, что a x b, вычислить значение функции y, заданной графически (рис.3 и 4.). Значения p V. и k известны. Y 15. Определить, пройдет ли график функции y=5x2-7x+2 через заданную точку (a,b)? 16. Определить, принадлежит точка с заданными координатами (a, b) фигуре Q, если координаты любой точки области Q удовлетворяют неравенствам: y>=x2-2 и y<=x2. 17. Квадраты при игре в крестики- нолики занумерованы, как показано на рис. 5. Заданы номера трех квадратов: N1, N2, N3, причем N1<N2<N3. Проверить, лежат ли квадраты: а) на одной диагонали; б) на одной вертикали; 1 2 3 в) на одной горизонтали. 4 5 6 7 8 9 Рис. 5 18. Проверить, принадлежит ли точка M(x, y) заданной замкнутой области, показанной на рисунке: а) рис. 6; б) рис. 7? Y p 1 a X O b O Y=kx X 1 1 Рис. 3. Рис. 6. Y Y Y=kx2 2 p O O X Рис. 7. Рис. 4. 3 5 X 13 19. По введённому номеру дня недели N распечатать название этого дня. 20. По введённому номеру месяца N распечатать название этого месяца. 21. Составить алгоритм распечатывающей вашу фамилию по заданному названию цвета. 22. Принадлежит ли точка М(2, а) прямой y=x? 23. Являются ли числа а, в, с соответственно пятым, седьмым и девятым членами арифметической прогрессии. 24. Даны точки М(1, а) и Р(2,d). Пересекает ли отрезок МР окружность x2+y2=25 25. Даны точки М(1, 2) и P(3,a). Лежит ли отрезок МР в I-й четверти? 26. Является ли трапеция АВСD с данными углами и =150 равнобедренной. 27. Даны стороны 3, 4, x непрямоугольного треугольника. Определить вид треугольника (остроугольный или тупоугольный). 28. Является ли прямоугольником фигура АВСD с данными углами , , ? 29. Лежит ли точка М(1,1) вне прямых y=ax и у=d+ax=0? 30. Можно ли построить треугольник из отрезков с длинами 1, 2, a? 31. В непрямоугольном треугольнике даны углы и 60 . Определить вид треугольника (остроугольный или тупоугольный). 32. Определить, какая из точек A(1, k) или B(2, b) ближе всего к точке M(1, 2)? 33. Даны a, b. Лежит ли точка M(a, b) внутри кольца x2 + y2 4 x2 + y2 1? 34. Найти меньший угол треугольника с данными углами , 60 . 35. Даны точки М(1, 2) и P(a, b). Пересекает ли отрезок МР окружность x2+y2=25? 36. Даны действительные числа x, y,z. Найти max(x+y+z, xyz) 37. Даны действительные числа x, y, z. Найти min( x yz ,xyz)+1. 2 38. Даны действительные числа A, B,C. Удвоить эти числа, если ABC и заменить их на абсолютные значения, если это не так. 39. Даны три действительных числа. Выбрать их них те, которые принадлежат интервалу (1, 3). 40. Даны три действительных числа. Возвестив квадрат те из них значения, которых неотрицательны. 41. Даны целые числа X и Y. Найти max(x, y), если x<0 и min(x, y), если x>=0. 42. Чтобы определить на какую цифру оканчивается квадрат целого числа, достаточно занть лишь последнюю цифру самого числа из цифр 0, 1, 2,.. 9последней цифре числа N- находит последнюю цифру квадрата этого числа. 43. Написать программу, позволяющую получить словесное наименование оценок. 44. Написать программу, позволяющую получить количество уроков в зависимости от дня недели 45. Написать программу, позволяющую получить количество дней, в зависимости от введенного номера месяца. 46. Написать программу, позволяющую получить фамилию ученика с Вашей подгруппы по введенному номеру. СОДЕРЖАНИЕ: § 1. РАЗВЕТВЛЯЮЩИЙСЯ АЛГОРИТМ ......................................................... 2 § 2. ГРАФИЧЕСКОЕ ИЗОБРАЖЕНИЕ. ............................................................ 3 § 3. СОСТАВЛЕНИЕ ПРОСТЕЙШИХ ГРАФИЧЕСКИХ АЛГОРИТМОВ .... 4 § 4. ИСПОЛЬЗОВАНИЕ ОПЕРАЦИЙ СРАВНЕНИЯ И ЛОГИЧЕСКИХ ОПЕРАЦИЙ ДЛЯ СОСТАВЛЕНИЯ СЛОЖНЫХ УСЛОВИЙ. ....................... 5 § 5 РЕАЛИЗАЦИЯ КОМАНДЫ ВЕТВЛЕНИЯ НА........................................... 6 ЯЗЫКЕ БЕЙСИК. ................................................................................................. 6 § 6.СОСТАВЛЕНИЕ ПРОСТЕЙШИХ ПРОГРАММ И ВЫПОЛНЕНИЕ ИХ НА КОМПЬЮТЕРЕ.............................................................................................. 7 § 7. АЛГОРИТМ ВЫЧИСЛЕНИЯ ПЛОЩАДИ ТРЕУГОЛЬНИКА ПО ФОРМУЛЕ ГЕРОНА. ........................................................................................... 8 § 8 АЛГОРИТМ НАXОЖДЕНИЯ КОРНЕЙ ...................................................... 8 КВАДРАТНОГО УРАВНЕНИЯ. ......................................................................... 8 § 9. АЛГОРИТМ ВЫЧИСЛЕНИЯ ИДЕАЛЬНОГО ВЕСА ............................... 9 § 10. КОМАНДА "ВЫБОР". .............................................................................. 10 ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ: ...................................... 11 СОДЕРЖАНИЕ:.................................................................................................. 13