среда, 30 апреля 2014 г.

Работа по теме "Структуры в C++"

Организовать структуру struct (в соответствии с вариантом). В программе реализовать функции для  обработки данных из массива структур:

  1. Вывод всего списка на экран
  2. Добавление записи в список
  3. Загрузка данных из файла
  4. Сохранение данных в файл
  5. Редактирование записи по номеру
  6. Удаление записи по номеру
  7. Сортировка записи по выбранному полю
  8. Поиск всех записей, соответствующих  критерию по выбранному полю
Вариант 1
Организовать структуру TTable, содержащую в себе поля:
Height  - высота стола
Width – ширина стола
Length – длина стола
Model - наименование модели
Cost - стоимость

Файловый ввод-вывод. Работа со структурами в C++

#include <iostream>
#include <fstream>

using namespace std;

пятница, 25 апреля 2014 г.

Символьные массивы

Во всех задачах строки вводятся до символа точка.

Является ли слово палиндромом?
По данной строке определите, является ли она палиндромом (то есть, можно ли прочесть ее наоборот, как, например, слово "топот").
Формат входных данных
На вход подается 1 строка без пробелов.
Формат выходных данных
Необходимо вывести  yes, если строка является палиндромом, и no в противном случае.
Пример
Ввод
Вывод
abbayes


вторник, 22 апреля 2014 г.

Турнир Архимеда

Внимание!
На базе МБНОУ "ГКЛ" 28 апреля пройдет командное соревнование по программированию для начинающих "Турнир Архимеда". Приглашаем к участию всех желающих!

Официальный сайт турнира: contest.mccme.ru/arhimed

Регистрация доступна по ссылке

понедельник, 7 апреля 2014 г.

Работа с графической библиотекой в Code Blocks

WinBGIm - это графическая библиотека BGI, портированная by Michael Main at the University of Colorado.
Для того, чтобы подключить ее в IDE Code Blocks, необходимо выполнить следующие действия
Внимание! Библиотека несовместима с новыми версиями Code Blocks, поэтому рекомендую скачать portable версию с сайта codeblocks.codecutter.org 
Распакуйте архив. Для работы запускайте файл "CbLancher.exe" (НЕ "codeblocks.exe"!)
  1. Загрузите файлы graphics.h и winbgim.h поместите его в папку компилятора MinGW include (например C:\Program Files\CodeBlocks\MinGW\include)
  2. Загрузите файл libbgi.a  и поместите его в папку lib (C:\Program Files\CodeBlocks\MinGW\lib)
  3. В Code::Blocks откройте Settings >> Compiler and debugger >> Linker settings
  4. Нажмите кнопку Add  в Link libraries и загрузите файл libbgi.a
  5. В правой части (Other linker options) вставьте команды:
  6. -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32
  7. Нажмите OK


Теперь вы можете скомпилировать проект, используя “graphics.h”. Попробуйте запустить  следующий код:
#include <graphics.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include<math.h>
#include<dos.h>
#include<string.h>
#include<iostream>
#include<ctime>

using namespace std;

int main( void)
{
    //---------- Инициализация графики ----------//
    int gdriver = DETECT, gmode, errorcode;
    initgraph(&gdriver,&gmode,"");
    //---------- Конец инициализации -----------//

    setfillstyle(SOLID_FILL,GREEN);
    setcolor(GREEN);
    rectangle(50,50,50+400,50+300);
    floodfill(51,51,GREEN);

    setfillstyle(SOLID_FILL,RED);
    setcolor(RED);
    circle(250,200,100); //круг
    floodfill(240,200,RED);

    //---------- Завершение работы ------------//
    getch();
    closegraph();

return 0;
}

Список функций для работы с графикой


void arc( int x, int y, int stangle, int endangle, int radius ); // дуга
void bar( int left, int top, int right, int bottom ); // закрашенный прямоугольник
void bar3d( int left, int top, int right, int bottom, int depth, int topflag ); // параллелепипед
void circle( int x, int y, int radius ); // круг 
void cleardevice( );  // очистить экран
void drawpoly(int n_points, int* points); // многоугольник 
void ellipse( int x, int y, int stangle, int endangle, int xradius, int yradius ); // эллипс
void fillellipse( int x, int y, int xradius, int yradius ); // закрашенный эллипс
void fillpoly(int n_points, int* points); // закрашенный многоугольник
void floodfill( int x, int y, int border ); // закрасить область, содержащую точку (x,y)
void line( int x1, int y1, int x2, int y2 ); // рисовать отрезок
void linerel( int dx, int dy );
void lineto( int x, int y ); // рисовать линию из текущей точки в заданную
void pieslice( int x, int y, int stangle, int endangle, int radius );
void putpixel( int x, int y, int color ); // нарисовать точку
void rectangle( int left, int top, int right, int bottom ); // прямоугольник
void sector( int x, int y, int stangle, int endangle, int xradius, int yradius ); // сектор

void moverel( int dx, int dy );
void moveto( int x, int y );
void refreshbgi(int left, int top, int right, int bottom);
void refreshallbgi( );
void setbkcolor( int color );
void setcolor( int color ); // установить 
void setfillpattern( char *upattern, int color );
void setfillstyle( int pattern, int color );
void setlinestyle( int linestyle, unsigned upattern, int thickness );
void setrefreshingbgi(bool value);
void setviewport( int left, int top, int right, int bottom, int clip );
void setwritemode( int mode );

Игра "Поле Чудес"

Задание: работая в команде, создать аналог телевизионной игры "Поле Чудес".

Игра должны соответствовать требованиям:
  1. Игрок выступает против трех компьютерных соперников
  2. Запись результатов игры
  3. Словарь со словами по темам и описаниями
  4. Выбор темы в начале игры
  5. В каждой теме - не менее 50 слов
  6. Все управление мышкой
Дизайн формы
  1. Нарисовать:
    1. Персонажей 
    2. Карточки с буквами
    3. Барабан
    4. Кнопки
  2. Полноэкранный режим
  3. Правила игры
  4. Анимация крутящегося барабана
  5. Звуки, соответствующие выпавшему на барабане сектору
Команда
  1. Руководитель: собирает проект
  2. Разработчики
    1. Реализация хода компьютера
    2. Реализация хода игрока
    3. Загрузка слов и описания в начале игры
    4. Сохранение и загрузка результатов
    5. Составляет тематические словари со словами и описаниями
  3. Художник: рисует персонажей, карточки, барабан
  4. Аниматор: создает анимацию крутящегося барабана

среда, 2 апреля 2014 г.

Работа с большими документами

Задание: создать сборник тезисов по предмету к лицейской НПК "День науки"
Список тезисов можно взять здесь
Варианты:

  1. Биология
  2. Русский язык и Литература, Иностранный язык
  3. Математика и Информатика
  4. История и обществознание
  5. Физика
  6. Химия
Сборник тезисов должен иметь обложку, автособираемое оглавление, заголовок каждой статьи должен быть отмечен соответствующим стилем. Все тезисы должны быть оформлены в соответствии с требованиями.