Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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. Запишите по правилам алгоритмического языка следующие выражения:
а) ; л) I2 б) ; м) ; в) ; н) г) ; о) sin x cos y + sin y cos x; д) ; п) е) ; р) ; ж) ; с) ; з) b2 – 4ac; т) ; и) ; у) ; к) ; ф) | 1-|x||.
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; просмотров: 679; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.195.79 (0.008 с.) |