Задания
Раздел посвящен текущим заданиям по программированию.
>>>tasks_3sem.html - за 3-й семестр
Тервер
Источники -
- Бронштейн-Семендяев
- Шнайер "Прикладная криптография"
- Кнут(примерно второй том) - глава "Линейные конгруэнтные генераторы"
thver.html - Архив книг по терверу.
Lab1. -
Генератор случайных чисел по заданному закону
- Линейный конгуэрентный* генератор случайных чисел**
- Распределение по :
- Гаусс
- Пуассон
- Непрерывное 0..1 нормальное распределение с заданными параметрами
- Вариативное - F(x) брать у Александра Романенкова
* -
http://dic.academic.ru/dic.nsf/ruwiki/8174
- линейный конгруэнтный метод.
**
- m берётся на усмотрение программиста, остальное - из источников выше.
Lab2. -
Ветвящиеся процессы
- На примере "шары-урна": пользователь задает количество шаров двух типов (проверка на валидность)
- Выполняется 2-3 шага (при некоторых условиях - больше)
- Использование WinApi\MFC
Lab3. -
Класс дискретной случайной величины
- Условие нормировки
- Только конечные
- Функции класса
- Хранение таблицы
- Перегрузка операторов "+", "-", "*", "/"
- Для оператора "/" при делении на 0 ввести объект типа "бесконечность"
- Обработка деления на ноль - через if или try-catch на выбор
- double p; int x; - рекомендация.
- Таблица скачивается из файла на диске
- Возможность сохранить объект на диск
- Демонстрация возможностей класса
- Делать на MFC
- Вид1 - табличка
- Вид2 - Полигон с возможностью перетаскивания мышкой значений по X
- Вид3 - График функции распределения
- Перерисовка при изменении данных - UpdateAllViews
- Модальный диалог, отображающий значения мат.ожидания и дисперсии
PHP
Заданий всего 4. Так что распределяем их как обычно: номер в списке по модулю 4.
-
Календарь. Вывести на экран лист календаря текущего месяца (таблица с днями недели).
Выделить сегодняшний день. Сделать возможность изменения месяца и года.
-
Калькулятор. Сделать форму HTML с возможностью ввода двух чисел
(текстовые поля), системы счисления (radio button) и операции между ними
(кнопка, посылающая запрос на сервер). На сервере производятся все проверки
на допустимость введенных данных и вычисление с последующем выводом результата.
-
Хранилище данных.
Данные о товаре (название, количество, цена) хранить в файле.
Реализовать добавление и удаление данных из этого файла.
-
Аутентификация. В конфигурационном файле PHP задается ассоциативный
массив вида $users = array ('login' => 'password', 'login2' => 'password2').
Необходимо осуществить аутентификацию пользователя с использованием сессий.
Адрес Глеба Косолапова
Модель
Требования по модели
- Сетевое приложение(не менее 3х компов)
- Архитектура клиент-сервер на сокетах
- Задействовать большинство IPC
- Задействовать большинство GUI
- Использование COM
- Использование ATL
- Помимо WinApi - MFC
- Менеджер и процессы пишут log-файл
- Help - "О программе", "О модели", "Справочник пользователя", "Описание меню"
Требования по документации модели
- Описание - название, содержательная часть
- Структура программы - где какие виды IPC
- Описание библиотеки классов + COM
- Функционирование - логика и работа менеджера
- Описание всех пунктов меню
- Описание лог-файла
-
Описание протоколов взаимодействия логических блоков программы
-
Описание пункта меню "Help":
- О программе.
- Функционирование.
- Инструкция пользователя.
- Использование COM-компонентов.
MFC
Лабы*
- Кружочки**
- Копирование файлов. Работа с классами CFile, CFileDialog.
- Реестр. Функции GetProfileInt, WriteProfileInt, GetProfileString, WriteProfileString.
- Dll (явное и неявное связывание)
- Dll ресурсов
- Мьютексы. Класс CMutex
- Критические секции. Класс CCriticalSection
- События. Класс CEvent
- Семафоры. Класс CSemaphore
- Потоки. Функция AfxBeginThread
- Сокеты
*Все лабораторные с применением ipc делаются в двух вариантах - потоки и процессы.
**Требования по работе "Кружочки":
- -обработка кликов мыши, рисование геометрических фигур на месте кликов
- -сохранение и открытие с использованием сериализации
- -стандартный диалог выбора цвета
- -свой диалог выбора размера