Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Задание С1

2. (Демонстрационный вариант 2012 г.)

Область

Условие 1 (y>=x)

Условие 2

(y>=0)

Условие 3

(y<=2–х*x)

Программа выведет

Область обрабатывается верно

A

да

да

нет

не принадлежит

да

B

да

нет

нет

C

нет

нет

D

нет

нет

E

да

да

да

принадлежит

да

F

да

нет

нет

G

нет

нет

H

нет

нет

2. Возможная доработка программы:

begin

readln(x, y);

if (y<=2-x*x)and((y>=x)or (y>=0) and (y<=x))

then write('принадлежит')

else write('не принадлежит')

end.

Задание С3

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 34. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 34 или больше камней.

В начальный момент в куче было S камней, 1 ≤ S ≤ 33.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.

НЕ нашли? Не то? Что вы ищете?

Выполните следующие задания. Во всех случаях обосновывайте свой ответ.

а) Укажите все такие значения числа S, при которых Петя может выиграть в один ход. Обоснуйте, что найдены все нужные значения S, и укажите выигрывающий ход для каждого указанного значения S.

б) Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом. Опишите выигрышную стратегию Вани.

Укажите два таких значения S, при которых у Пети есть выигрышная стратегия, причём (а) Петя не может выиграть за один ход, и (б) Петя может выиграть своим вторым ходом, независимо от того, как будет ходить Ваня.

Для каждого указанного значения S опишите выигрышную стратегию Пети.

Укажите значение S, при котором:

– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети, и

– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

Для указанного значения S опишите выигрышную стратегию Вани.

Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы). На рёбрах дерева указывайте, кто делает ход, в узлах – количество камней в куче.

Решение

1)  Вопрос 1а. Петя может выиграть первым ходом:

Итак, 17 ≤ S ≤ 33 – условие, при котором первый игрок может выиграть на первом ходе.

(Для гарантированного выигрыша необходимо: S=33).

2)  Вопрос 1б. Петя не может выиграть за один ход, значит, S<17, Ваня может выиграть первым ходом при любом ходе Пети:

Итак, S = 16 – условие выигрыша второго игрока на первом ходе.

3)  Вопрос 2. Назовите два значения S, при которых Петя может выиграть своим вторым ходом?

Итак, S = 8 или S = 15 – условие выигрыша первого игрока на втором ходе.

4)  Вопрос 3. При каком S Ваня выигрывает своим первым или вторым ходом?

5)  Сначала найдем, при каком S Ваня гарантированно выигрывает именно вторым ходом.

Таким образом, получаем, что нет такого количества камней S, которые гарантировали бы выигрыш Вани именно после его второго хода при любых действиях Пети.

6)  Найдем, при каких значениях S Петя не сможет победить ни после первого, ни после второго хода. Т. е. любое действие Пети приведет кучу камней к такому состоянию, при котором Ваня сможет выиграть после первого или после второго хода:

7)  Пересечение решений первой и второй частей – и есть все множество решений третьего вопроса. Т. е. S = 14.

8)  Построим дерево игры для S = 14

Операции над символами (char)

Функция Ord(c) возвращает код символа с.

Функция Chr(i) возвращает символ c кодом i.

Функция Pred(c) возвращает предыдущий символ для символа с в кодовой таблице.

Функция Succ(c) возвращает последующий символ для символа с в кодовой таблице.

Операции над строками (string)

Операции отношения: =, <.>, <=, >=, <>. Сравнение строк производится слева направо до первого несовпадающего символа. Если длины строк разные, но в общей части символы совпадают, то считается, что больше более длинная строка.

Операция сцепления (+) применяется для соединения нескольких строк в одну строку. Сцеплять можно как константы, так и переменные. Сцепление можно выполнять и с помощью функции Concat(S1, S2, …, S1).

Функция Copy(S,Poz,N) выделяет из строки S подстроку длиной N символов.

Функция Length(S) определяет текущую длину строки S.

Функция Pos(S1, S2) обнаруживает первое появление в строке S2 подстроки S1. Результат – номер позиции, с которой она начинается. Если подстрока не найдена, возвращается 0.

Процедура Delete(S,Poz,N ) – удаление N символов из строки S, начиная с символа с позиции Poz.

Процедура Insert(S1, S2,Poz) – вставка строки S1 в строку S2, начиная с символа с позиции Poz.

Процедура Str(X[:m[:n]], S) – преобразует целое или вещественное выражение Х в строку S. m, n – форматы вывода целого типа, аналогично процедуре Write.

Процедура Val(S,X,Code) – преобразует строку S во внутреннее представление целой или вещественной переменной Х, параметр Code получает значение 0, если преобразование прошло успешно, и тогда в Х помещается результат преобразования, в противном случае Code содержит номер позиции, где обнаружен ошибочный символ, и в этом случае Х не меняется. Например, в результате обращения Val(‘ 123’, k, c) к получит значение 123, а обращение Val(‘123 ’, k, c) ошибочно.

Функция UpCase(С) – типа CHAR, преобразует строчную латинскую букву в заглавную. С – выражение типа CHAR, которое находится в пределах a-z, в противном случае функция не выполняет никаких действий.

Задание С4

(Демонстрационный вариант 2012 г.)

В программе в процессе ввода запросов формируется массив s[11] строкового типа из названий задач и массив а[11] – счетчики запросов по ним, при этом входной список запросов в памяти не хранится. Затем при просмотре массива счетчиков выбираются три задачи с наибольшими счетчиками (без сортировки массива).

var s:array[1..11] of string[100];

n, k,i, j,max1,max2,max3,imax1,imax2,imax3: integer;

a: array[1..11] of integer; s1: string; f: boolean;

begin

readln(n);

for i:= 1 to 11 do

a[i]:=0;

k:=0;

for i:=1 to n do

begin

readln(s1);

f:=false;

for j:=1 to k do

if s1=s[j] then

begin a[j]:=a[j]+1; f:=true; break; end;

if f=false then

begin k:=k+1; s[k]:=s1; a[k]:=1; end;

end;

max1:=0; imax1:=0;

max2:=0; imax2:=0;

max3:=0; imax3:=0;

for i:=1 to k do

if a[i]>max1 then

begin

max3:=max2;max2:=max1; max1:=a[i];

imax3:=imax2; imax2:=imax1; imax1:=i;

end

else

if a[i]>max2 then

begin

max3:=max2;max2:=a[i];

imax3:=imax2; imax2:=i;

end

else if a[i]>max3 then

begin max3:=a[i]; imax3:=i; end;

writeln(s[imax1], max1);

if max2>0 then writeln(s[imax2], max2);

if max3>0 then

begin

writeln(s[imax3], max3);

for i:=1 to k do

if (a[i]=max3)and(imax3<>i)

then writeln(s[i],a[i]);

end;

readln;

end.

2.

program c4_51;

uses crt;

var s:string;

i, k,x:integer;

begin

clrscr;

k:=0;

x:=0;

read(s);

for i:=1 to length(s) do

if (s[i] in ['A'..'Z']) or (s[i] in ['a'..'z'])

then inc(x)

else begin if x>k then k:=x;x:=0;END;

for i:=1 to length(s) do

begin

if S[i] in ['A'..'Z'] then

begin

s[i]:=chr(ord(s[i])+k);

if ord(s[I])>ord('Z') then

s[i]:=chr(ord(s[i])-1 - ord('Z') + ord('A'));

end;

if S[i] in ['a'..'z'] then

begin

s[i]:=chr(ord(s[i])+k);

if ord(s[I])>ord('z') then

s[i]:=chr(ord(s[i])-1 - ord('z') + ord('a'));

end;

end;

write(s);

end.

3.

Const

d:array [1..12] of integer = (31,28,31,30,31,30,31,31,30,31,30,31);

Var

f:text;

tm:array [1..12] of real; {Среднемесячная температура}

data:string[5];

min, t,ty:real;

i, j,k, m,code:integer;

Begin

assign (f,'METEO. DAT');

reset(f);

for i:=1 to 12 do

tm[i]:=0;

ty:=0;

for i:=1 to 365 do

begin

readln(f, data, t);

val(data[4]+data[5],m, code);

tm[m]:=tm[m]+t; ty:=ty+t;

end;

for i:=1 to 12 do

tm[i]:=tm[i]/d[i];

ty:=ty/365;

min:=abs(tm[1]-ty);

for i:=2 to 12 do

if abs(tm[i]-ty)<min then

begin

min:=abs(tm[i]-ty);

end;

Writeln(ty);

for i:=j+1 to 12 do

if abs(abs(tm[i]-ty)-min)<0.0001 then writeln(I, tm[i], abs(tm[i]-ty));

End.
Упорядочение (сортировка) массива методом “пузырька”

Program Sort;

Var B: array [1..100] of real;R: real;

I, j,N: byte;

Begin

write('N=');

read(N);

For i:=1 to N do

read(B[i]);

For i := 1 to N-1 do

For j := 1 to N - i do

If B[j]>B[j+1] then

begin R:=B[j]; B[j]:=B[j+1]; B[j+1]:=R;

end;

For i := 1 to N do

Writeln(B[i],' ');

End.

Список использованных источников:

ЕГЭ по информатике (2013) [Электронный ресурс]. URL: http://kpolyakov. *****/school/ege. htm.