Поиск по этому блогу

воскресенье, 30 апреля 2017 г.

«Крестики-нолики»


Правила игры классические. Игра в крестики-нолики ведется на квадратном поле 3х3. Играют двое. Начинают «крестики». Каждый из игроков, поочередно, ставит свой значок, крестик или нолик, на свободную клетку. Выигрывает тот, кто первым поставит три своих значка в ряд по вертикали, горизонтали или диагонали. Задается последовательность ходов. Определить, кто выиграл, «крестики» или «нолики»? Последовательность ходов задается 9-значным числом. Цифра числа обозначает номер клетки хода, а порядковый номер цифры – номер хода. Клетки пронумерованы так, как показано на рисунке. Написать программу, которая запрашивает код позиции и выводит значок выигравшей стороны или слово «ничья». Правильность кода позиции проверять не надо.
Пример. Вход: 123456789. Выход: х.

Решение

суббота, 29 апреля 2017 г.

Уважаемый: с запятой или без?

Приглашение - это всегда приятно, но я останавливаюсь уже на запятой после "уважаемая", эта запятая не позволяет мне относиться к остальному тексту с должным уважением. И если бы эта ошибка была случайностью! Нет, она в последнее время распространяется по деловой переписке подобно вирусу. А бывает, что ошибочные сведения распространяют - не поверите! - школьные учителя.

вторник, 25 апреля 2017 г.

Сумма длинных чисел

Даны две строки, в каждой из которых содержится длинное натуральное число. В третьей строке сформировать их сумму. (30 баллов) 
Задача городской олимпиады 2005 года.

понедельник, 24 апреля 2017 г.

Ограничения

Дано действительное число Х. Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения, вычитания, вычислить   и  
Использовать не более восьми операций. (15 баллов)
Задача городской олимпиады 2005 года.

program z2;
var a,b,c,d,e,f,g,h,x:real;
begin
  Readln(x);
  a:=x*x;{первая операция}
  b:=2*a;{вторая операция}
  c:=2*x;{третья операция}
  d:=1+b;{четвертая операция}
  e:=d+a;{пятая операция}
  f:=c*d;{шестая операция}
  g:=e+f;{седьмая операция}
  h:=e-f;{восьмая операция}
  writeln(‘1-e   ‘,h);
  writeln(‘2-e   ‘,g);
end.

вторник, 11 апреля 2017 г.

Кирпичики алгоритмов

Выделение последней цифры числа
125 mod 10= 5
Удаление последней цифры числа
125 div 10 =12
Условный оператор IF
Синтаксис инструкции IF:
If  условие
       then
            begin
                {инструкции выполняемые, если условие истинно};  
            end
                else
                     begin
                         {инструкции выполняемые, если условие ложно};
                      end;
Инструкция if выполняется следующим образом:

четверг, 6 апреля 2017 г.

Пять в пятьсот пятьдесят пятой степени

Рассмотрим решение задачи повышенной сложности:
«Вывести все цифры числа 5 в 555 степени».
Основная сложность заключается в сохранении всех цифр. В Паскале существует только вторая степень, т.е. квадрат. Если степень больше двух, то можно заменить ее произведением основания. Например, 2 в степени 5 можно вычислить так: 2*2*2*2*2. Здесь проблемы возникают ограниченность типов целых чисел: integer – [-32768 ...32767],  longint – [-2147483648 ...2147483647]. То есть, если произведение (степень) достаточно велики, то возникнет ошибка типа.