 
        
        - •Тема №1(время – 1 мин)
- •Пример задания:
- •Ещё пример задания:
- •Еще пример задания:
- •Тема №2(время – 2 мин)
- •Пример задания:
- •Пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания1:
- •Тема №3(время – 2 мин)
- •П X y z f 1 0 0 1 0 0 0 1 1 1 1 0 ример задания:
- •Е X y z f 1 0 0 1 0 0 0 0 1 1 1 0 ще пример задания:
- •Еще пример задания:
- •Тема №4(время – 1 мин)
- •Пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Тема №5(время – 2 мин)
- •Пример задания:
- •Еще пример задания:
- •Ещё пример задания:
- •Тема №6(время – 3 мин)
- •Ещё пример задания:
- •Ещё пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Тема №7(время – 3 мин)
- •Пример задания:
- •Ещё пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Тема №8(время – 3 мин)
- •Пример задания:
- •Еще пример задания:
- •Тема №9(время – 2 мин)
- •Пример задания:
- •Ещё пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания4:
- •Еще пример задания:
- •Тема №10(время – 2 мин)
- •Пример задания:
- •Ещё пример задания:
- •Тема №11(время – 3 мин)
- •Пример задания:
- •Ещё пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Тема №12(время – 5 мин)
- •Ещё пример задания:
- •Ещё пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Тема №13(время – 6 мин)
- •Пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания11:
- •Тема №14(время – 1 мин)
- •Ещё пример задания:
- •Ещё пример задания:
- •Ещё пример задания:
- •Еще пример задания:
- •Тема №15(время – 4 мин)
- •Пример задания:
- •1. Прибавь 3
- •2. Умножь на 4
- •Еще пример задания:
- •1. Сдвинь влево
- •2. Вычти 1
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Тема №16(время – 3 мин)
- •Пример задания:
- •Ещё пример задания:
- •Тема №17(время – 2 мин)
- •Еще пример задания (автор – в.В. Путилов):
- •Еще пример задания:
- •Тема №18(время – 2 мин)
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания (ege.Yandex.Ru):
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Тема №19(время – 2 мин)
- •Пример задания:
- •Ещё пример задания:
- •Еще пример задания:
- •Тема №20(время – 6 мин)
- •Пример задания:
- •Ещё пример задания:
- •Тема №21(время – 2 мин)
- •Пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Тема №22(время – 3 мин)
- •Пример задания:
- •Тема №23(время – 3 мин)
- •Пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •256 Кбит/с
- •32Кбит/с
- •Еще пример задания:
- •Еще пример задания (ege.Yandex.Ru):
- •Еще пример задания:
- •Тема №24(время – 2 мин)
- •Пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Тема №25(время – 2 мин)
- •Пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Тема №26(время – 7 мин)
- •Пример задания:
- •1. Прибавь 3,
- •2. Вычти 2.
- •Ещё пример задания:
- •1. Прибавь 1
- •2. Умножь на 2.
- •Ещё пример задания (ege.Yandex.Ru):
- •1. Прибавь 6
- •2. Вычти 3.
- •Ещё пример задания:
- •1. Вверх
- •2. Влево
- •3. Вправо
- •Тема №27(время – 6 мин)
- •Пример задания:
- •Ещё пример задания:
- •Еще пример задания (л.А. Тумарина, г. Электросталь):
- •Тема №28(время – 10 мин)
- •Пример задания:
- •Ещё пример задания:
- •Ещё пример задания:
- •Ещё пример задания:
- •Ещё пример задания:
- •Ещё пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Ещё пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Тема №29(время – 30 мин)
- •Пример задания:
- •Ещё пример задания:
- •Тема №30(время – 30 мин)
- •Пример задания:
- •Ещё пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Тема №31(время – 30 мин)
- •Пример задания:
- •1. Прибавь 1
- •2. Умножь на 3
- •Еще пример задания:
- •1. Прибавь 1
- •2. Увеличь вторую с конца цифру на 1
- •Еще пример задания:
- •1. Прибавь 1
- •2. Увеличь две младшие цифры на 1
- •Тема №32(время – 60 мин)
- •Пример задания:
- •Еще пример задания:
Тема №32(время – 60 мин)
Тема: Обработка данных, вводимых в виде символьных строк (написать программу средней сложности из 30-50 строк) или последовательности чисел.
Что нужно знать:
- символьная строка – это цепочка символов, которая может обрабатываться как единое целое 
- для обращения к символу с номером iстрокиsиспользуется записьs[i],это говорит о том, что строка – особый вариант массива, в котором хранятся символы 
- знак сложения при работе с символьными строками означает сцепку, объединение двух строк в одну (добавление второй строки в конец первой), например: 
s := '123' + '456'; { получили '123456' }
- с помощью функции Ordможно получить код символа; цифры имеют коды от 48 (цифра 0) до 57 (цифра 9), например 
k := Ord('1'); { получили 49 }
то же самое можно сделать с помощью преобразования типа (привести charкinteger)
k := integer('1'); { получили 49 }
- с помощью функции Chrможно сделать обратный переход: получить символ по его коду, например 
c := Chr(49); { получили символ '1' }
то же самое можно сделать с помощью преобразования типа (привести integerкchar)
c := char(49); { получили символ '1' }
- для работы со строками в наиболее распространенных Паскаль-средах (Turbo Pascal, Borland Pascal, PascalABC,средаАЛГО) используют стандартные функции (здесьs– это переменная типаstring, символьная строка;nиr– целые переменные) 
- 
		n := Length(s); записать длину строки sв целую переменнуюn s1 := Copy(s, 2, 5); записать в символьную строку s1подстроку строкиs, которая начинается с символа с номером 2 и состоит из 5 символов (важно– не со 2-го по 5-ый символ!) n := Pos('Вася', s); записать в целую переменную nномер символа, с которого в строкеsначинается подстрока 'Вася' (если ее нет, в переменнуюnзаписывается 0); так же можно искать отдельные символы (важно: сначала указываем,чтоищем, а потом –где) n := StrToInt(s); преобразовать строку sв целое число и записать результат в переменнуюn(PascalABC, Delphi) 
и процедуры
- 
		Delete(s, 2, 5); удалить из строки s 5 символов, начиная со второго Insert('Вася', s, 3); вставить в строку sфрагмент 'Вася', начиная с третьего символа (между 2-м и 3-м) Val(s, n, r); преобразовать строку sв целое число и записать результат в переменнуюn; если при этом произошла ошибка, в переменнойrбудет номер ошибочного символа, если все нормально – ноль 
- структура (в Паскале она называется «запись», record) – это сложный тип данных, который может включать в себя несколько элементов – полей; поля могут иметь различный тип 
- записи в Паскале объявляются с помощью ключевого слова record; в простейшем случае можно выделить память под одну запись так: 
var x: record
name: string;
code: integer;
end;
эта запись состоит из двух полей: символьной строки nameи целого числаcode
- записи очень удобны для работы, когда все данные в целом представляют собой единый блок информации, например, данные об ученике; если не использовать записи, было бы нужно выделять в памяти отдельно символьную строку и отдельно целую переменную, причем эти данные внешне были бы никак не связаны, поэтому программа с записями часто получается логичнее и понятнее как для автора, так и для того, кто будет в ней разбираться 
- для обращения к полям записи используют точку, например x.nameозначает «полеnameзаписиx» 
- можно сразу объявить массив записей: 
var Info: array[1..100] of record
name: string;
code: integer;
end;
это 100 одинаковых записей, имеющих общее имя Infoи расположенных в памяти рядом; в каждой структуре есть поляnаmeиcode; чтобы работать с полями записи с номеромkиспользуют обращения видаInfo[k].nameиInfo[k].code
Сложность алгоритмов:
- обозначение  говорит о том, что при увеличении в 2
	раза размера массива данных количество
	операций тоже увеличивается примерно
	в 2 раза (для больших N) говорит о том, что при увеличении в 2
	раза размера массива данных количество
	операций тоже увеличивается примерно
	в 2 раза (для больших N)
- сложность  имеет алгоритм с одним или несколькими
	простыми (не вложенными!) циклами в
	каждом из которых выполняетсяNшагов (как при поиске минимального
	элемента) имеет алгоритм с одним или несколькими
	простыми (не вложенными!) циклами в
	каждом из которых выполняетсяNшагов (как при поиске минимального
	элемента)
- количество операций для алгоритма, имеющего сложность  ,
	вычисляется по формуле ,
	вычисляется по формуле ,
	гдеaиb–
	некоторые постоянные ,
	гдеaиb–
	некоторые постоянные
- если в одном алгоритме решения задачи используется несколько циклов от 1 до N, а во втором – только один цикл, то алгоритм с одним циклом, как правило, эффективнее (хотя оба алгоритма имеют сложность  ,
	постоянная ,
	постоянная в каждом случае своя, для алгоритма с
	несколькими циклами она будет больше) в каждом случае своя, для алгоритма с
	несколькими циклами она будет больше)
- для алгоритма, имеющего сложность  ,
	количество операций пропорционально
	квадрату размера массива, то есть, еслиNувеличить в 2 раза, то
	количество операций увеличивается
	примерно в 4 раза (например, в программе
	используется два вложенных цикла, в
	каждом из которыхNшагов);
	сложность ,
	количество операций пропорционально
	квадрату размера массива, то есть, еслиNувеличить в 2 раза, то
	количество операций увеличивается
	примерно в 4 раза (например, в программе
	используется два вложенных цикла, в
	каждом из которыхNшагов);
	сложность имеют простые способы сортировки
	массивов: метод «пузырька», метод выбора имеют простые способы сортировки
	массивов: метод «пузырька», метод выбора
- при больших Nфункция  растет значительно быстрее, чем растет значительно быстрее, чем ,
	поэтому алгоритм, имеющий сложность ,
	поэтому алгоритм, имеющий сложность всегда менее эффективен, чем алгоритм
	сложности всегда менее эффективен, чем алгоритм
	сложности 
- иногда встречаются алгоритмы сложности  (три вложенных цикла от 1 доN),
	при большихNони работают
	медленнее, чем любой алгоритм сложности (три вложенных цикла от 1 доN),
	при большихNони работают
	медленнее, чем любой алгоритм сложности ,
	то есть, менее эффективны ,
	то есть, менее эффективны
- для многих задач известны только алгоритмы экспоненциальной сложности, когда размер массива входит в показатель степени, например  ,
	для большихNтакие задачи
	не решаются за приемлемое время
	(например, «взламывание» шифров) ,
	для большихNтакие задачи
	не решаются за приемлемое время
	(например, «взламывание» шифров)
