В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
lordd007
lordd007
19.01.2020 00:29 •  Информатика

Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она четна, то в середину цепочки символов добавляется символ А, а если нечетна, то в начало цепочки добавляется символ Б. В полученной цепочке символов каждая буква заменяется буквой, следующей за енй в русском алфавите. Например, если исходная цепочка символов была ВРМ, то результатом работы алгоритма будет цепочка ВГСН, а если исходная цепочка символов была ПД, то результатом работы алгоритма будет цепочка РБЕ.
Дана цепочка символов НАЧАЛО. Какая цепочка символов получится, если к данной цепочке применить алгоритм дважды (то есть к данной цепочке применить алгоритм, а затем к результату его работы еще раз применить алгоритм). ( ) дам​

Показать ответ
Ответ:
kristin20
kristin20
12.04.2020 12:02
Ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
ура, скоро конец четверти. нужно исправить оценки.
0,0(0 оценок)
Ответ:
goshakuzovniko
goshakuzovniko
03.03.2023 21:43
Если следовать алгоритму вычисления, представленному в формуле, то программа будет такая:

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. Но большой разницы это не даст.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота