русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Тематика заданий текущего контроля


Дата добавления: 2015-06-12; просмотров: 479; Нарушение авторских прав


Пример задания на поиск ошибок для контрольной работы:

 

// A program to find the minimum and maximum

// in a list of integers in different ways.

 

#include "stdio.h"

#include <algorithm>

#include <list>

 

template<typename Container>

void process1(Container c)

{

using Item = Container::value_type;

Item lowest = std::numeric_limits<Item>::min();

Item highest = std::numeric_limits<Item>::max();

for(auto item:c) if(item<lowest) lowest = item;

else if(item>highest) highest = item;

printf("Lowest: %d, highest: %d\n",lowest,highest)

}

 

void process2(int* ptr,int count);

 

int main(void)

{

std::list<int> NUMBERS;

printf("Input integers: ");

int x;

while(scanf("%d",x));

NUMBERS.push_back(x);

process1(NUMBERS);

process2(&NUMBERS.front(),NUMBERS.size());

process3(NUMBERS);

return 1;

}

 

void process2(int* ptr,int count)

{

using namespace STD;

sort(ptr,ptr+count);

printf("Lowest: %d, highest: %d",ptr[0],ptr[count]);

}

 

void process3(const std::list<int>& NUMBERS)

{

auto res = std::minmax_element(NUMBERS.begin(),NUMBERS.end());

printf("Median: %d, mean: %d\n",res);

}

 

Проект домашнего задания для каждого студента утверждается преподавателем в индивидуальном порядке. Примерные задания:

· В текстовом файле содержится матрица целых чисел. Вывести в аналогичном виде матрицу того же размера, с теми же элементами, расположенными по порядку от одного из углов матрицы по спирали к центру. Имя файла, угол, направление спирали (по/против часовой стрелки) и порядок (по возрастанию/убыванию) задаются параметрами командной строки.

· Разработайте программу, практически оценивающую, являются ли те или иные форматы файлов сжатыми. Типы файлов определяются расширением. Критерием того, что файл является сжатым, является малое изменение его размера при повторном сжатии. Для тестового сжатия файла используйте одну из сторонних библиотек. Программа сканирует все файлы в заданном каталоге и собирает статистику по сжимаемости всех встреченных типов файлов. Результаты представьте в виде текстового отчёта с предположениями о характеристиках типов файлов.



· Реализуйте визуализатор сетевого траффика. Задача программы – в реальном времени отображать графическое представление количества информации, передаваемое и принимаемое данным компьютером по сети с разбиением по протоколам. Например, две обновляемые в реальном времени круговые диаграммы (на приём и передачу), каждый сектор которой – удельный объём относительно всего сетевого траффика, используемый протоколом или группой протоколов (WWW/Почта/пиринговые сети/служебный траффик/другое…) за последние 3 секунды. Возможно использование любых визуальных представлений, использующих графику, при сохранении наглядности. Для захвата сетевого траффика использовать библиотеку libpcap.

Вопросы для оценки качества освоения дисциплины

· Какова роль различных этапов обработки исходного текста программы транслятором языка C?

· Объясните принцип одного определения.

· Приведите примеры синтаксически корректных выражений, дающих неопределённый результат.

· Какова связь операторов перехода и понятий структурного программирования?

· Опишите основные элементы различия разных соглашений о вызовах.

· В чём отличие реализации на уровне машинного кода массивов переменной длины и обычных?

· Опишите семантическую разницу владеющих и невладеющих указателей и их применение с различными классами памяти.

· Перечислите преимущества и недостатки текстовой и двоичной сериализации данных.

· Объясните разницу между обычными и широкими символами.

· Опишите механизм использования материалов на языке C в программах на C++.

· Как ссылки влияют на время жизни объектов?

· Дайте определение и мотивацию применения декорированных имён.

· Приведите пример необходимости использования хвостового возвращаемого типа.

· Для чего используются анонимные пространства имён?

· Как связаны уровни доступа при объявлении членов класса и наследовании?

· С какого момента объект считается сконструированным и в чём роль данного определения?

· Какие элементы входят в понятие интерфейса класса?

· Каковы механизм и роль семантики переноса?

· Что такое абстрактный базовый класс и в чём его отличие от интерфейса?

· Каковы ограничения приведения типов при использовании множественного наследования?

· Чем операции new/delete отличаются от функций malloc/free?

· Каковы основные механизмы реализации обработки исключений?

· Что такое частичная специализация и к каким типам шаблонов она применима?

· Какие преимущества имеет унифицированная инициализация?

· Сравните концепции, уточнения и модели с понятиями ООП.

· Перечислите основные структуры данных, реализуемые стандартной библиотекой шаблонов, и наиболее эффективно реализуемые ими операции.

· Как выражаются отношения владения ресурсами с применением интеллектуальных указателей?

· Для чего применяют средства метапрограммирования?

· Определите роли и функции основных классов паттернов проектирования.

· Что такое двоичная совместимость и совместимость по исходному тексту?

· Какие паттерны проектирования используются в основных конструкциях интерфейсов, управляемых событиями?

· В чём состоит преимущество механизма сигналов/слотов по сравнению с обычными функторами?

· Как соотносится наблюдаемое время жизни виджетов с временем жизни соответствующих им объектов?

· Для чего необходимо применение потоков в приложения с графическим интерфейсом?

· Чем сетевой ввод/вывод отличается от файлового?

· Чем отличается понятие переменной в языках со статической и динамической типизацией?

· В чём состоит ленивая модель исполнения?

· Каковы альтернативы отсутствующей в языке Python перегрузке функций?

· Каков порядок поиска методов при множественном наследовании?

· Каковы основные способы использования языка Python вместе с другими?

Примеры заданий промежуточного /итогового контроля

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



<== предыдущая лекция | следующая лекция ==>
Раздел 4. Язык Python. | Написать программу нахождения среднего арифметического трех чисел. Построить блок-схему алгоритма.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 5.052 сек.