![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Порядок действий в арифметических выраженияхСодержание книги
Поиск на нашем сайте
При вычислении арифметических выражений компьютер выполняет действия в следующем порядке: 1) вычисляются выражения в скобках (в том числе аргументы функций); порядок действий внутри скобок определяется теми же правилами (т. е. сначала вычисляются скобки внутри скобок и т. д.); 2) вычисляются значения функций; 3) справа налево выполняются возведения в степень; 4) слева направо выполняются умножение и деление; 5) слева направо выполняются сложение и вычитание. Возведение в степень справа налево означает, что запись а**в**с следует понимать как Умножение, деление, сложение и вычитание выполняются слева направо. Например, запись а + в - с означает (а + в)- с, но не а + (в -с). Примеры записи арифметических выражений на алгоритмическом языке
ЗАДАЧИ И УПРАЖНЕНИЯ 1. Вычислите значение выражения, записанного на алгоритмическом языке: а) 24/(3*4) - 24/3/4 + 24/3*4, б) 40/(4*5) - 40/4/5 + 40/4*5; в) (2 + 3*4)/2 + 5 - (2 + sqrt(4)); г) 60/(23 - (2 + 3*sqrt((5 - abs (1 - 2)))); д) 71 + abs ((16 - 7*2)/2) – sqrt (sqrt (625)) 2. Переведите из линейной записи в обычную: а) а/b/с; г) а/b**с; ж) а/b**с**d; б) а*b/с; д) а + b/с; з)1/(1+х*х); в) а/b*с; е) (а + b)/с; и) 1/(1 + х**2). 3. Переведите из линейной записи в обычную: а) 1/sqrt (1 + х**2); е) sin (х)**2 + sin (у)**2; б) sqrt (х**2 + у**2); ж) sin (х**2) + sin (у**2); в)х**(1/3); з) а + b/с + d; г)х**(-1/3); и) (а + b)/(с + d); д) 1/х**(1/3); к) а/sin (А). 4. Переведите из линейной записи в обычную: а) sqrt (tg (А + В))/sqrt (tg (А - В)); б) 1/2*а*b*sin (С); в) sqrt (b**2 + с**2 + 2*b*с*соs (А))/2; г) 2*b*с*соs (А/2)/(b + с); д) sqrt ((р - а)*(р - b)*(р - с)*р); е) 4*R*sin (А/2)*sin (В/2)*sin (С/2); ж) (а*х + b)/(с*х + d); з) sqrt (а*х**2 + b*х + с); и) arctg (х/sgrt (1 - х**2)); к) 2*sin ((alfa + beta)/2)*cos ((alfa - beta)/2). 5. Запишите по правилам алгоритмического языка следующие выражения:
а) б) в) г) д) е) ж) з) b2 – 4ac; т) и) к)
16Величины в алгоритмическом языке. Команда присваивания
Измерение радиации и температуры
В § 10 мы рассмотрели 10 из 12 команд-вопросов Робота. Познакомимся с оставшимися двумя командами. По команде температура Робот измеряет температуру в клетке, где он находится, и сообщает результат. Температура измеряется в градусах Цельсия, она может меняться в пределах от -100 °С до 100 °С.
По команде радиация Робот измеряет и сообщает уровень радиации в текущей клетке. Радиация измеряется в условных единицах и изменяется от 0 до 10. Команды температура и радиация можно использовать в алгоритме в любом месте, где допускается вещественное число. Рассмотрим пример. Робот стоит перед входом в тупик неизвестной длины. Необходимо пометить (закрасить) в тупике все клетки, радиация в которых превышает заданный опасный уровень а, и вернуть Робота в исходное положение (рис. 55).
Рис. 55
В условии задачи есть параметр — следовательно, в алгоритме будет аргумент.
дано | Робот стоит левее горизонтального тупика надо | закрашены все клетки тупика, в которых уровень | радиации выше а, Робот в исходном положении Нач нц пока справа свободно вправо если радиация > а то закрасить Все кц нц пока сверху стена влево Кц Кон
Компьютер запоминает информацию Изменим условие задачи. Пусть опасный уровень радиации заранее не задан, но известно, что он равен радиации в клетке перед тупиком. Иными словами, необходимо закрасить все клетки тупика, уровень радиации в которых выше, чем в клетке, где в начальный момент находится Робот. При непосредственном управлении Роботом можно поступить так. Узнаем у Робота радиацию в начальной клетке и запомним ее. Дальше можно действовать по алгоритму А50, сравнивая радиацию в каждой клетке тупика с запомненным значением. Чтобы добиться того же результата с помощью программного управления, необходимо, измерив радиацию в начальной точке, каким-то образом запомнить ее, т. е. выделить для этой информации ячейку памяти и занести в нее нужное значение. На алгоритмическом языке это можно записать так:
алг разведка в тупике 2 дано | Робот стоит левее горизонтального тупика надо | закрашены все клетки тупика, в которых уровень | радиации выше, чем в исходном положении Робота | Робот в исходном положении нач вещ у | создать ячейку с именем у у:= радиация | запомнить значение радиации нц пока справа свободно
вправо если радиация > у то закрасить Все кц нц пока сверху стена влево Кц Кон Для организации работы с памятью компьютера в алгоритмическом языке используются величины. В алгоритме А51 использована одна величина у. Выделение ячейки памяти для хранения информации происходит при описании величины (вещ у), а занесение в ячейку нужной информации происходит при выполнении команды присваивания (у:=радиация). Подробнее о работе с величинами рассказано в разделах 16.4 — 16.8.
Компьютер выполняет подсчет
Еще усложним условие задачи. Пусть опасные клетки надо отметить не в тупике, а на участке свободного пространства между Роботом и стеной (рис. 56). Изменение ситуации не мешает выполнить разметку уже известным способом, но при возвращении в исходное положение возникает проблема: как узнать, в какой клетке остановиться?
Рис. 56
При непосредственном управлении Роботом мы можем считать шаги, которые он делает при движении к стене. Когда Робот подойдет к стене, мы будем знать пройденное им расстояние и сможем приказать ему сделать такое же число шагов в обратную сторону. При программном управлении необходимо, чтобы считать шаги мог компьютер. Как это делается, показано в алгоритме:
дано | где-то справа от Робота есть стена надо | закрашены все клетки между Роботом и стеной, | в которых уровень радиации выше, чем в исходном | положении Робота | Робот в исходном положении нач вещ у | создать ячейку с именем у цел n | создать ячейку n для подсчета количества шагов у:= радиация | запомнить значение радиации n:= 0 | обнулить счетчик нц пока справа свободно вправо n:= n + 1 | увеличить на 1 счетчик количества шагов если радиация > у то закрасить Все кц нц n раз влево кц Кон В этом алгоритме использованы две величины. Величина у используется для хранения «опасного» уровня радиации. Этот уровень запоминается в исходном положении Робота и в дальнейшем многократно используется. Величина п играет роль счетчика. В начальный момент счетчик «обнуляется» командой n:=0, а затем многократно увеличивается командой n:=n+1.
|
||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-12; просмотров: 699; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.146.105.72 (0.008 с.) |