27.01 | Слияние массивов | Войти в раздел «Кружки и уроки» 8Б-2014 179 школа Решать задачи контеста «Слияние массивов. Сортировка слиянием» | Решить две первых задачи. В остальных программы должны пройти все тесты, кроме, возможно, нескольких последних по времени. |
Написать функции
void bubbleSort(int a[], int N);
void selectionSort(int a[], int N);
void insertionSort(int a[], int N);
и
void countingSort(int a[], int N)
(она должна работать так: вычислять максимум в массиве,
создавать массив соответствующего размера и работать с ним)
Написать вспомогательные функции
void fill12345(int a[], int N),
которая заполняет массив числами от 1 до N
reverse(int a[], int N),
которая «переворачивает» массив
void shuffle(int a[], int N),
которая перемешивает значения в массиве.
Происследовать эти сортировки
1. Посчитать чистое время сортировки первыми тремя алгоритмами
Из 10^3, 10^4, 10^5 элементов
2. Посчитать чистое время сортировки сортировкой подсчетом
Случайно-заполненного массива из 10^3, 10^4, 10^5, 10^6 элементов
С максимальным элементом 10^3, 10^4, 10^5, 10^6
3. Проанализировать полученные данные и оформить результат исследования (постановка задачи, графики, диаграммы, таблицы, используемые тексты программ, выводы)
На эту неделю не задается контест, поэтому исследование должно быть оформлено красиво и правильно (интересно).
Необходимая теория
Функция clock()
возвращает длинное целое число long long int – количество миллисекунд от старта программы
Функция random()
возвращает целое случайное число от 0 до RAND_MAX
Пример:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
long long t = clock();
for (int i = 0; i < 500000000; i++);
t = clock();
printf("Work time: %lld\n", t);
int min = 0;
int max = 10000;
int r = (int)((double)rand()*(max - min)/(double)RAND_MAX - min);
printf("Random number: %d", r);
}
18.11 | Массивы | Теория: file:arrayscpp.pdf Войти в раздел «Кружки и уроки» 8Б-2014 179 школа Решать задачи контеста «Массивы» | Дорешать контест урока. |
16–20.10 | Основы работы в графическом редакторе GIMP. Цветовые каналы | Скачать из хранилища из папки GIMP архив 8.zip, разжать и сделать задание. Сохранить результат в папке GIMP\3 на личном диске. | |
10–14.10 | Основы работы в графическом редакторе GIMP. Работа с выделением | Скачать из хранилища из папки GIMP архив 7.zip, разжать и сделать задание. Сохранить результат в папке GIMP\3 на личном диске. | |
11.11 | Однопроходные алгоритмы | Теория: file:noarrays.pdf Войти в раздел «Кружки и уроки» 8Б-2014 179 школа Решать задачи контеста «Однопроходные алгоритмы» При решении нельзя использовать массивы! | Дорешать контест урока. |
Дата | Тема | Задания на уроке | Домашнее задание |
02.09 | Структура программы на языке Си. Среда программирования Code::Blocks | Зарегистрироваться на http://informatics.msk.ru
Решать задачи контеста «Линейные алгоритмы» | Установить на домашнем компьютере Code::Blocks (http://codeblocks.org) Дорешать контест урока. |
15(20).09 | Основы работы в графическом редакторе GIMP. Инструменты, слои, направляющие | Скачать из хранилища из папки GIMP архив первого занятия, разжать и сделать задание. Сохранить результат в папке GIMP\1 на личном диске. | |
16.09 | Условный оператор | Теория: file:ifcpp.pdf Решать задачи контеста «Условный оператор» | Дорешать контест урока. |
22(26).09 | Основы работы в графическом редакторе GIMP. Инструменты, слои, направляющие | Скачать из хранилища из папки GIMP архив второго занятия, разжать и сделать задание. Сохранить результат в папке GIMP\1 (именно 1!) на личном диске. | |
30.09 | Цикл while | Теория: file:whilecpp.pdf Решать задачи контеста «Циклы-I» | Решить 6 задач и задачу «Упаковка» |
7.10 | Цикл while | Дорешивать задачи контеста «Циклы-I» | Дорешать задачи контеста «Циклы-I» полностью. |
6–10.10 | Основы работы в графическом редакторе GIMP. Работа с выделением | Скачать из хранилища из папки GIMP архив 4.zip, разжать и сделать задание. Сохранить результат в папке GIMP\2 на личном диске. | |
14.10 | Тренировочный командный тур | Решать задачи контеста «Тренировочный командный тур» | Решать задачи контеста «Циклы-II» (половину). |
13–17.10 | Основы работы в графическом редакторе GIMP. Работа с выделением | Скачать из хранилища из папки GIMP архив 5.zip, разжать и сделать задание. Сохранить результат в папке GIMP\2 на личном диске. | |
20–24.10 | Основы работы в графическом редакторе GIMP. Работа с выделением | Скачать из хранилища из папки GIMP архив 6.zip, разжать и сделать задание. Сохранить результат в папке GIMP\2 на личном диске. | |
21.10 | Разбор Тренировочного командного тура | Решать задачи контеста «Тренировочный командный тур» | Дорешать задачи контеста «Циклы-II и Задачи тренировочного тура |