Разделы презентаций


Дистанционная подготовка к Всероссийской олимпиаде по информатике

Содержание

Формат проведения занятий Еженедельно проводится лекция 90 мин. На неделю выдается пакет заданий Отводится неделя на решение заданий, приветствуется обсуждение на занятии; можно также задавать вопросы по электронной почте Выполненные задания

Слайды и текст этой презентации

Слайд 1Дистанционная подготовка к Всероссийской олимпиаде по информатике
Преподаватель:
к.ф.-м.н., заведующий кафедрой ВТиКГ

ДВГУПС, преподаватель программы IT-школа Samsung,
Пономарчук Юлия Викторовна
E-mail: yulia.ponomarchuk@gmail.com

Дистанционная подготовка к Всероссийской олимпиаде по информатикеПреподаватель:к.ф.-м.н., заведующий кафедрой ВТиКГ ДВГУПС, преподаватель программы IT-школа Samsung, Пономарчук Юлия

Слайд 2Формат проведения занятий
Еженедельно проводится лекция 90 мин.
На неделю

выдается пакет заданий
Отводится неделя на решение заданий, приветствуется обсуждение

на занятии; можно также задавать вопросы по электронной почте
Выполненные задания просим высылать по электронной почте, преподаватель их проверяет и отправляет вам ответ с указаниями ошибок, рекомендациями
Через 1-2 недели после выдачи заданий на форуме выкладывается подробный разбор решения заданий
Формат проведения занятий Еженедельно проводится лекция 90 мин. На неделю выдается пакет заданий Отводится неделя на решение

Слайд 3Минимум успешного олимпиадника
Прекрасное владение языком программирования
Уверенное знание большого количества алгоритмов

(уверенно знать – значит уметь быстро, без подготовки реализовать алгоритм)
Математическая

подготовка
Большое количество прорешенных задач
Опыт участия в тренировочных и реальных олимпиадах
Психологическая подготовка
Минимум успешного олимпиадникаПрекрасное владение языком программированияУверенное знание большого количества алгоритмов (уверенно знать – значит уметь быстро, без

Слайд 4Литература для подготовки к олимпиадам
Окулов С.М. «Программирование в алгоритмах»,

2004
Порублев И.Н., Ставройский А.Б. «Алгоритмы и программы. Решение олимпиадных

задач», 2007
Меньшиков Ф.В. «Олимпиадные задачи по программированию», 2006
Андреева Е.В. «Математические основы информатики. Элективный курс», 2012
Шень А. «Программирование. Теоремы и задачи», 2004
Литература для подготовки  к олимпиадам Окулов С.М. «Программирование в алгоритмах», 2004 Порублев И.Н., Ставройский А.Б. «Алгоритмы

Слайд 5Интернет-ресурсы
Учебные курсы www.intuit.ru
Коллекция алгоритмов http://e-maxx.ru/algo
Международные и всероссийские

олимпиады по информатике http://info.rusolymp.ru
Сайт школьных олимпиад, проводимых в Приморском

крае http://imcs.dvgu.ru/works/school.html
Площадка соревнований по программированию http://codeforces.ru/
Дистанционная подготовка школьников по информатике http://informatics.mccme.ru
Сайт «Школа программиста» Красноярского края http://acmp.ru

Интернет-ресурсы Учебные курсы www.intuit.ru Коллекция алгоритмов http://e-maxx.ru/algo Международные и всероссийские олимпиады по информатике http://info.rusolymp.ru Сайт школьных олимпиад,

Слайд 6Цель занятия
Повторить и обобщить знания, которыми вы должны владеть для

успешного прохождения курса

Используемый язык программирования – Паскаль.
Среда программирования – Free

Pascal

Рекомендуемая литература для повторения основ языка Паскаль:
Окулов С.М. «Основы программирования», 2008;
http://www.intuit.ru/studies/courses/41/41/info.

Цель занятияПовторить и обобщить знания, которыми вы должны владеть для успешного прохождения курсаИспользуемый язык программирования – Паскаль.Среда

Слайд 7Минимум языка, которым желательно владеть в совершенстве
Представление о программе как

о наборе инструкций, ввод с консоли и вывод на консоль.
Ввод

с клавиатуры:
readln(a);

Вывод на экран:
write(a);

Вывод на экран с
переносом на новую строку:
writeln(a);

Ввод с клавиатуры:
std::cin >> a;

Вывод на экран:
std::cout << a;

Вывод на экран с
переносом на новую строку:
std::cout << a << endl;

Pascal

C++

Минимум языка, которым желательно владеть в совершенствеПредставление о программе как о наборе инструкций, ввод с консоли и

Слайд 8Минимум языка, которым желательно владеть в совершенстве
2. Основные типы данных
Byte

– целое в диапазоне 0…255 (1 байт)
Integer – целое в

диапазоне -32768…32767 (2 байта)
Longint – целое в диапазоне -2147483648… 2147483647 (4 байта)

Pascal

C++

Минимум языка, которым желательно владеть в совершенстве2. Основные типы данныхByte – целое в диапазоне 0…255 (1 байт)Integer

Слайд 9Real, Double, Extended – вещественные числа
C++
Pascal

Real, Double, Extended – вещественные числаC++Pascal

Слайд 10Char – символьный тип данных
String – строковый тип данных
Boolean –

логический тип данных (True или False)
Pascal
C++

Char – символьный тип данныхString – строковый тип данныхBoolean – логический тип данных (True или False)PascalC++

Слайд 11Минимум языка, которым желательно владеть в совершенстве
3. Оператор присваивания (:=),

выражения, арифметические операции (+, -, *, /, mod, div)

3.1 Оператор

присваивания (=), выражения, арифметические операции (+, -, *, /, %)

-------------------------------------------------------------------------------------

4. Условные операторы (if, case), операторные скобки begin – end, логические операции and, or, not

4.1 Условные операторы (if, case), операторные скобки { - }, логические операции &&, ||, !



Минимум языка, которым желательно владеть в совершенстве3. Оператор присваивания (:=), выражения, арифметические операции (+, -, *, /,

Слайд 12if then

else
;

case of
: ;
: ;

else ;
if () {

условия>;
}
else {
;
}

switch (){
case : {
;
}
case : {
;
}
default:

{
<опер2>;
}

C++

Pascal

if then	else	;case of	: ;	: ;	…	else ;if () {; }	else {; }switch (){	case : {	;	}	case : {	;	}	default: {	;	}C++Pascal

Слайд 13Минимум языка, которым желательно владеть в совершенстве
5. Циклические операторы


Цикл с

параметром:
for := to do
оператор;



for (счетчик = значение;

счетчик < значение; шаг цикла) {
тело цикла;
}

Pascal

C++

Минимум языка, которым желательно владеть в совершенстве5. Циклические операторыЦикл с параметром:for := to do	оператор;for (счетчик = значение;

Слайд 14Цикл с предусловием:
while do
оператор;


Цикл с постусловием:
repeat

until ;

Цикл с предусловием: while

(Условие) {
Тело цикла;
}

Цикл с постусловием:
do {
Тело цикла;
} while (Условие);
C++
Pascal

Цикл с предусловием:while do	оператор;Цикл с постусловием:repeat	until ;Цикл с предусловием: while (Условие) {Тело цикла;}Цикл с постусловием:do {Тело цикла;}

Слайд 157. Одномерные и многомерные массивы. Основные действия с массивами:
печать,


поиск максимума (минимума),
поиск суммы элементов, линейный поиск,
сортировка простым

методом (например, пузырьковая сортировка)

A: array [1..10] of integer;
B: array [1..5,1..3] of real;

A[4]:=5;
B[2,1]:=10.5;

Минимум языка, которым желательно владеть в совершенстве

7. Одномерные и многомерные массивы. Основные действия с массивами: печать, поиск максимума (минимума), поиск суммы элементов, линейный

Слайд 16int a[5]
int a[5][3]

int a[3] = {3, 4, 6}
int a[2][3] =

{{2,3,4}, {2,7,6}}
C++

int a[5]int a[5][3]int a[3] = {3, 4, 6}int a[2][3] = {{2,3,4}, {2,7,6}}C++

Слайд 178. Записи – пользовательский тип данных для описания объектов реального

мира

X: record
a: integer;
b: real;
c: char;
end;

X.a := 4;
X.b := 5.4;
X.c :=

‘f’;

Минимум языка, которым желательно владеть в совершенстве

8. Записи – пользовательский тип данных для описания объектов реального мираX: record	a: integer;	b: real;	c: char;end;X.a := 4;X.b

Слайд 18struct building     //Создаем структуру!
{                  
    string owner;       //здесь будет храниться имя владельца
    string city;        //название города
    int

amountRooms;   //количество комнат
    float price;       //цена
}; 

building.city = “Khv”
building.price = “10000”

8.1 Структура — это

, некое объединение различных переменных (даже с разными типами данных), которому можно присвоить имя.

C++

struct building     //Создаем структуру!{                      string owner;       //здесь будет храниться имя владельца    string city;        //название города    int amountRooms;   //количество комнат    float price;       //цена}; building.city = “Khv”building.price = “10000”8.1

Слайд 199. Процедуры и функции. Параметры-значения и параметры-переменные. Локальные и глобальные

переменные. Область видимости переменных

procedure ();
var …
begin

end;
function (): ;
var


begin

end;

Минимум языка, которым желательно владеть в совершенстве

9. Процедуры и функции. Параметры-значения и параметры-переменные. Локальные и глобальные переменные. Область видимости переменныхprocedure ();var …begin	…end;function ():

Слайд 209.1 Функции — это блоки кода, выполняющие определенные операции. Если

требуется, функция может определять входные параметры, позволяющие вызывающим объектам передавать

ей аргументы. При необходимости функция также может возвращать значение как выходное. 


void /*имя функции*/(/*параметры функции*/)
{
// тело функции
}

int /*имя функции*/(/*параметры функции*/)
{
// тело функции
// return <переменная>
}

C++

9.1 Функции — это блоки кода, выполняющие определенные операции. Если требуется, функция может определять входные параметры, позволяющие

Слайд 2110. Строки. Строковые функции. Работа со строкой как с массивом

символов

copy – копирование части строки
delete – удаление части строки
insert –

вставка в строку другой строки
+ (concat) – сцепление строк
pos – поиск первого вхождения подстроки в строку
ord – возвращение кода по символу
chr – возвращение символа по его коду

11. Навыки тестирования и отладки. Использование встроенного отладчика

Минимум языка, которым желательно владеть в совершенстве

10. Строки. Строковые функции. Работа со строкой как с массивом символовcopy – копирование части строкиdelete – удаление

Слайд 22size_t size() const
Возвращает текущее количество символов в строке
size_t length() const
Возвращает

текущее количество символов в строке

void resize(size_t n);
Изменяет размер длины строки

void

clear() noexcept
Очищает строку

bool empty() const noexcept
Возвращает булев флаг о том, пуста ли строка




C++

size_t size() constВозвращает текущее количество символов в строкеsize_t length() constВозвращает текущее количество символов в строкеvoid resize(size_t n);Изменяет

Слайд 2412. Работа с текстовыми файлами в языке Паскаль

Объявление файловой переменной:
f:

text;

Связывание файловой переменной с физическим файлом на диске:
assign(f,

файлу>);

Если файл находится в том же каталоге, что и программа (а на олимпиадах так и есть) вместо всего пути можно ограничиться только именем файла.

Минимум языка, которым желательно владеть в совершенстве

12. Работа с текстовыми файлами в языке ПаскальОбъявление файловой переменной:f: text;Связывание файловой переменной с физическим файлом на

Слайд 25Открытие файла в режиме чтения:
reset(f);

Открытие файла в режиме записи:
rewrite(f);

Закрытие файла:
close(f);

Чтение

из файла значения в переменную a:
read(f, a);

Чтение из файла значения

в переменную a и переход на новую строчку в файле:
readln(f, a);

Минимум языка, которым желательно владеть в совершенстве

Открытие файла в режиме чтения:reset(f);Открытие файла в режиме записи:rewrite(f);Закрытие файла:close(f);Чтение из файла значения в переменную a:read(f, a);Чтение

Слайд 26Проверка, достигнут ли конец файла:
eof(f)

Проверка, достигнут ли конец строки:
eoln(f)

Запись в

файл переменной a:
write(f, a);

Запись в файл переменной a и переход

на новую строчку в файле:
writeln(f, a);

Минимум языка, которым желательно владеть в совершенстве

Проверка, достигнут ли конец файла:eof(f)Проверка, достигнут ли конец строки:eoln(f)Запись в файл переменной a:write(f, a);Запись в файл переменной

Слайд 27C++
ofstream fout("cppstudio.txt");
fout.close();

std::ofstream out;
out.open("D:\\hello.txt");

Пример
fin >> buff; // считали первое слово

из файла
cout

считали строку из файла
fin.close(); // закрываем файл
cout << buff << endl; // напечатали эту строку

Слайд 28…В программировании содержатся эстетические и практические ценности. Хорошую программу можно

читать как стихи, и она может привлекать как песня, музыка

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

Э. Хювёнен, Й. Сеппянен

…В программировании содержатся эстетические и практические ценности. Хорошую программу можно читать как стихи, и она может привлекать

Слайд 29 Не забывайте о проектировании программ сверху вниз:
прежде

чем приступить к кодированию, вы должны спроектировать программу на достаточном

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

Разбивайте программу на отдельные подпрограммы (процедуры и функции). Старайтесь отлаживать каждую функцию по отдельности

Основные правила
хорошего стиля в программировании

Не забывайте о проектировании программ сверху вниз: прежде чем приступить к кодированию, вы должны спроектировать программу

Слайд 30 Старайтесь использовать как можно меньше глобальных переменных: процедуры и

функции должны быть максимально независимыми

Всегда программируйте «с отступами»

Выбирайте

осмысленные имена для переменных, функций и т.д.

Одна строка – один оператор

Не забывайте присваивать переменным начальные значения, даже если компилятор сделает это за вас

Добавляйте комментарии по ходу написания программы

Не пренебрегайте тестированием программы. Помните, что каждая последняя ошибка – есть предпоследняя.

Основные правила
хорошего стиля в программировании

Старайтесь использовать как можно меньше глобальных переменных: процедуры и функции должны быть максимально независимыми Всегда программируйте

Слайд 31Особенности олимпиадных задач
Программа представляет собой консольное приложение
Как правило,

исходные данные должны считываться из исходного файла и записываться в

выходной файл. Все файлы текстовые.
Проверять корректность данных в исходном файле не требуется!
Необходимо тщательно следить за корректностью данных, которые записываются в выходной файл

Особенности  олимпиадных задач Программа представляет собой консольное приложение Как правило, исходные данные должны считываться из исходного

Слайд 32Особенности олимпиадных задач
Заданы ограничения на время и на ресурсы

памяти (программа должна выполняться не дольше предъявленного лимита и не

превышать требований к допустимому объему памяти), т.е. необходимо работать над эффективностью программы
Решения проверяются автоматизированной системой по заранее заготовленному большому набору тестов (порядка 30 – 40).

Особенности  олимпиадных задач Заданы ограничения на время и на ресурсы памяти (программа должна выполняться не дольше

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика