Определите значение целочисленных переменных x и y после выполнения фрагмента алгоритма. x: =336 y: =8 х: =x div y y: =x mod y
270
449
Ответы на вопрос:
Если следовать алгоритму вычисления, представленному в формуле, то программа будет такая: var n,i,s: shortint ; begin write ('n='); readln (n); s: =0; for i: =1 to n do if i mod 2 =0 then s: =s-i else s: =s+i; print (s) end. если же посмотреть на формулу внимательно и выявить закономерность, то можно увидеть, что 1) вычитаются только четные числа. и после каждого вычитания результат равен ровно половине вычитаемого числа (со знаком минус) 2) прибавляются только нечетные числа и прибавление идет вслед за вычитанием (кроме 1), т.е. можно к результату последнего вычитания (см.п.1) просто прибавить n. также учитываем, что целые числа занимают меньше памяти, чем вещественные, поэтому для программы используем самый маленький целый тип с отрицательными значениями shortint (от -128 до 127, что в данном случае нас вполне устраивает). помним, что значение переменной целого типа не может быть результатом деления, поэтому вместо обычного деления используем деление нацело (n div 2) итак: при нечетном n результат = -n div 2, при четном n: (так как у нас целочисленное деление, то n div 2 будет равно (n-1) div 2) результат будет = -(n div 2) + n или n-(n div 2) т.е. вся программа сведена всего к двум операциям по разным веткам условного оператора, что сделает ее быстрее и . к тому же не надо выделять память для переменной-счетчика. var n,s: shortint; begin write ('n='); readln (n); if n mod 2 =0 then s: =-n div 2 else s: =n-(n div 2); print (s) end. можно увидеть и другую закономерность, что каждое сложение и идущее за ним вычитание одинаковый результат с разными знаками, т.е. при четном n также s=-n div 2, а при нечетном - s=n div 2+1. но большой разницы это не даст.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
ВераПончик31.01.2021 04:00
-
GamerPro392210.07.2021 21:21
-
andreuss200621.06.2022 14:00
-
Mashshka21.11.2022 03:49
-
Иванчик111116.02.2023 09:30
-
ShHanddW20.06.2023 08:24
-
b24855318.07.2020 19:24
-
Ёкабоня602.08.2022 19:30
-
ChelovekNosok06.08.2020 08:43
-
Марано12.07.2020 03:35
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.