А.А.Быков

boombook@yandex.ru

Программа курса «Программирование на языке С++. Версия 3 от 19 февр 2010

Сборник задач по программированию с решениями, часть 1, программирование без использования классов

Сборник задач по программированию с решениями, часть 2, программировнаие классов

Литература:

 [1] Дейтел Х., Дейтел П. Программирование на С++.

 [2] Либерти Дж. Освой самостоятельно С++ за 21 день.

 [3] Круглински Д., Уингоу С., Шефферд Дж. Программирование Microsoft Visual Studio.

 [4] Страуструп Б., Программирование на С++. Специальное издание.  

 [5] Янг М. Дж. Visual C++, полное руководство, т1.

 [5] Янг М. Дж. Visual C++, полное руководство, т2.

 [6] Либерти Дж. Энциклопедия С++.

Файл MyStream.h, обеспечивающий подключание потоков ввода из файла и вывода в файл.

Файл MyStream.cpp, обеспечивающий подключание потоков ввода из файла и вывода в файл.

Проект p1n01-2010, Hello, world!

Проект p1n02-2010, Арифметические операторы

Проект p1n03-2010, Циклы

Проект p1n04, Логические операторы, а также ввод из файла

Проект p1n05, Логические операторы и циклы

Проект p2n06, Функции, 1

Проект p2n07, Функции, 2

Проект p2n08, Функции, 3

Проект p2n09, Функции, 4

Проект p3n10, Указатели

Проект p3n11, Одномерные массивы с постоянными границами

Проект p3n12, Операторы new и delete

Задание:

  1. Создайте два массива целого типа и нарисуйте на одном чертеже два графика по образцу, представленному в проекте.
  2. Изучите программу одномерной игры Life, представленной в данном проекте. Найдите место в программе, где определяются правила игры. Измените правила по своему усмотрениютак, чтобы игра не вырождалась.
  3. Измените программу игры Life так, чтобы одномерный игровой массив был не булевским, а типа int. Создайте правила игры.

Проект p3n13, Сортировка одномерного массива

Задание:

  1. Создайте несколько массивов строк, инициализируйте их названиями ваших любимых музыкальных произведений, именами их авторов, год выпуска, название диска, продолжительность звучания и т.д.
  2. Просортируйте эти массивы одновременно по различных критериям, а) имя автора, б) год выпуска и т.д.

Проект p3n14, Строки

Задание:

  1. Создайте массив строк, содержащий значения "у", "лукоморья", "дуб", "высокий", "златая", "цепь", "на", "дубе", "том" (или набор слов из литературного произведения по Вашему выбору). Составьте все возможные фразы, которые можно получить перестановкой данного набора слов.
  2. Составьте все слова, которые можно получить из слова "леопард" (или любого другого по Вашему выбору) перестановкой букв.

Проект p3n15, Двумерные массивы с постоянной размерностью

Задание:

  1. Изучите программу Life. Переделайте игровой массив на тип bool (данное упражнение носит чисто учебный характер и позволит Вам усовершенствовать Ваше понимание типов С++).
  2. Запрограммируйте другие правила игры, используя информацию из Wikipedia.
  3. Измените программу так, чтобы можно было задавать матрицу правил размера 5x5 (вместо 3х3 в оригинале, данное упражнение носит чисто учебный характер и позволит Вам усовершенствовать Ваше понимание типов С++).
  4. Напишите программу, которая будет отслеживать путешествие стандартного life-организма по большому полю, размеры которого много больше, чем размеры экрана.
  5. Задайте случайное распределение начальных оккупированных позиций по игровому полю. Напишите код для анализа динамики игры (ширина и высота life-организма, его вес, т.е. число оккупированных позиций, время жизни, интенсивность жизненного цикла, которую определить догадайтесь как сами).
  6. Смоделируйте большое количество случайных начальных состояний и отберите из них наиболее жизнеспособные по критерию, который установите самостоятельно. Результаты фиксируйте в файлах начальных данных. После этого исследуйте визуально наиболее жизнеспособные состояния.
  7. * (более сложное задание). Смоделируйте трехмерную игру.

Одно из упражнений данного задания посвящено программированию так называемой игры Life. Эта игра представляет набор правил, которые позволяют создать сложную систему, проявляющую некоторые свойства живых организмов, такие как самоорганизация и разрушение. По этой теме имеется интересная информация в сети, которые можно найти по запросу life game conway (это имя автора этой игры). Некоторые ссылки:

Проект p3n16, Двумерные массивы с переменной размерностью

Главный файл приложения p3n16.cpp

Задание:

  1. По образцу, имеющемуся в примере, организуйте двумерный массив для хранения большого числа наборов данных, размерность которых является переменной. Пусть имеется M наборов обьектов, причем число объектов в наборе само является случайной величиной. Сорздайте массив для хранения такого набора.

  2. Создайте второй массив, организованный по тому же принципу. Напишите код, который позволит обьединить эти два двумерных маасива в один двумерный массив, в котором наборы будут сортированы по некоторому установоленному Вами правилу.

Проект p4n18, Форматированный ввод и вывод информации в файл (из файла)

Задание:

  1. Составьте расписание Ваших занятий на неделю.
  2. Составьте календарь на июль 2008 года.
  3. Составьте и напечатайте в файл календарь на весь 2009 год.
  4. Найдите текст книги Л.Н.Толстого "Война и мир" (например, по адресу http://www.lib.ru/) или другой книги по ВАшему выбору. Прочитайте файл. Составьте полный частотный словарь использованных слов.

Проект p5n21, CMyTime, Простой класс пользователя

Главный файл приложения p5n21.cpp

файл MyTime.h

файл MyTime.cpp

Проект p5n21m, CMyCar, Простой класс пользователя.

Проект p5n22, CMyCar, Простой класс пользователя.

Проект p5n23, CMyTime, Полностью функциональный класс пользователя.

Проект p5n24, CMyTime, Самый простой Полностью функциональный класс пользователя.

Проект p5n33, CMyTime в Dialog Based Application.

Программирование графики

Проект p5n35a- Mandel . Источник: Янг, проект Mandel .

Задание: Изучите SDI приложение на базе Document-View-архитектуры, оснащенное графическим выводом двумерного массива. Данное приложение иллюстрирует применение графического вывода для изображения так называемого фрактала. Литература: Янг.

Проект p5n35 b - MandelMT . Источник: Янг, проект Mandel .

Задание: Изучите MT - SDI приложение на базе Document-View-архитектуры, оснащенное графическим выводом двумерного массива. Данное приложение иллюстрирует применение графического вывода для изображения так называемого фрактала. Литература: Янг.

Проект p5n36a- Lorenz. Траектории странного аттрактора Лоренца.

Проект p5n36b- LorenzMT. Траектории странного аттрактора Лоренца, MT-приложение.

Проект p6n41, рисование линии в Dialog Based Application.

Простейшее приложение для рисования графики в парадигме Dialog Based Application

Проект p6n42, CMyGraph в Dialog Based Application.

Приложение для рисования графики в парадигме Dialog Based Application, в котором функции рисования графических примитивов оформлены в виде методов класса

Проект p6n43, CMyGraph в Dialog Based Application.

Приложение для рисования графики в парадигме Dialog Based Application, в котором функции рисования графических примитивов оформлены в виде методов класса. Добавлен также класс для рисования карты линий равного уровня функции двух переменных.

Проект p8n01, Работа с данными в диалоговой панели (простой проект).

Программирование SDI приложений

Проект p6n51, простое SDI приложение, реализующее сортировку и отображение массива обьектов простого класса

Программа курса «Программирование на языке С++. Версия 2 от 09 сент 2008

 

 

 

Программа курса «Программирование на языке С++. Версия 2 от 09 сент 2008

Hosted by uCoz