вторник, 26 мая 2015 г.

Таблицы в HTML



Таблицы часто используются для выравнивания элементов содержимого веб-страницы.

Для создания таблиц в языке HTML используются элементы:


TABLE - создаёт таблицу.

CAPTION - задаёт заголовок для таблицы.

TR - задаёт строку таблицы.

TH - задаёт ячейку таблицы, заголовок столбца.

TD - задаёт простую ячейку таблицы с данными.
 
Пример

<TABLE border=4 cellspacing=3>
<CAPTION> Заголовок таблицы </CAPTION>
<TR><TH>Заголовок 1
<TH>Заголовок 2
<TR><TD>Ячейка 1 <TD>Ячейка 2
<TR><TD>Ячейка 3 <TD>Ячейка 4
</TABLE>
 
 
Другие примеры смотрите здесь.
Теги таблицы могут иметь атрибуты, которые описывают особенности применения тега. Каждый тег имеет свой набор атрибутов (атрибуты разных тегов могут быть одинаковыми).

понедельник, 18 мая 2015 г.

Для нетерпеливых: знакомство с HTML

Описание задач на  HTML/РНР смотрите здесь
Задачи - ссылка на панели справа

Задание 6. Рисование с помощью графических примитивов



1.      Знакомство  с  инструментами (перо, кисть) и графическими примитивами.
a.    Добавьте в существующую функцию-член класса OnDraw следующий программный код:
void CSketcherView::OnDraw(CDC* pDC)
{
      CSketcherDoc* pDoc = GetDocument();
      ASSERT_VALID(pDoc);
      if (!pDoc)
            return;

      // TODO: добавьте здесь код отрисовки для собственных данных
             bluePen.CreatePen(PS_SOLID,5,RGB(0,0,255));
             redBrush.CreateSolidBrush(RGB(255,0,0));
             aBrush.CreateHatchBrush(HS_DIAGCROSS,RGB(255,200,0));
             pDC->SetTextColor(RGB(125,115,0));
             pDC->SetBkColor(RGB(0,15,0));
             pDC->TextOut(10,10,"Волчий остров",13);
             pDC->SelectObject(&bluePen);
             pDC->SelectObject(&redBrush);
             pDC->Rectangle(50,50,100,100);
             pDC->MoveTo(100,150); 
             pDC->LineTo(100,200); 
             pDC->SelectObject(&aBrush);
             pDC->Ellipse(50,100, 100,150);
             pDC->SelectStockObject(NULL_BRUSH);
       pDC->Ellipse(350,100, 650,150);
}
Параметром функции OnDraw является указатель на объект класса CDC, который позволяет рисовать на экране. Не забудте убрать комментарии у имени параметра.
Перед использованием вновь создаваемых перьев и кистей, нужно создать переменные с нужными именами – экземпляры класса перьев CPen и класса кистей CBrush. Например описать новое перо bluePen нужно так.
            CPen  bluePen;
Новые кисти опишите самостоятельно.
Разберитесь с особенностями параметров графических  функций. Дополнительное описание имеется в справке ниже.

вторник, 28 апреля 2015 г.

Классы в С/С++: Делай с нами! Шаг 3.

Итак, продолжаю решать задачу:
Моя задача очень похожа на ваши:
"Описать класс круг с центром в точке (х0,у0) и радиусом R. Методы: расчет периметра и площади. Друг класса определяет, пересекаются ли два круга."

На этом шаге займемся другом класса.

1.На первом этапе обдумаем, что делает друг класса, какие данные для этого нужны, какие результаты получаются и будем ли их передавать в main. Обычно друг класса пишется для работы с несколькими объектами - экземплярами класса и ему доступны все данные каждого объекта (чем он и удобен).
В разбираемой задаче  друг класса определяет, пересекаются ли два круга. Следовательно, имена этих объектов должны быть параметрами функции-друга. Обозначим эти имена как о1 и о2. Друг будет вычислять расстояние между объектами-кругами, сравнивать это расстояние с радиусами и задавать значение целой переменной-флага : если круги пересекаются, она будет равна 1, а если нет -0. Это значение будем возвращать  в main с помощью имени функции-друга. Поэтому объявим тип имени друга как целый.

2. Добавим объявление друга класса. Это делается также, как объявление функций, членов класса, но с добавлением слова friend.
class Krug
{
    float x,y,R,P,S;
    public:
    Krug(float x0,float y0,float R0);
    float Perimetr(void);
    float Plosh(void);
    void Show(void);
friend int Peresech(Krug &, Krug &);
};

3.Начинаем писать код функции-друга (например, в том же файле, где описаны функции класса). Сначала напишем заголовок  и часть кода (вычислим расстояние между кругами). Поставим печать и формально передадим результат:

int Peresech(Krug & o1, Krug & o2)
{   float rr;
    rr=sqrt(pow(o1.x-o2.x,2)+pow(o1.y-o2.y,2));
    cout<<"* rr="<<rr<<endl;
    return 0;
}
Здесь о1, о2 -имена объектов-кругов, с которыми работает друг.  o1.x -обращение к переменной х  объекта о1.

4.Вызовем  функцию-друга в main:
flag=Peresech(o1,o2);
if(flag) cout<<" o1 - o2 peresekajutsja"<<endl;
Построим проект.

5.Если ошибок нет, допишем функцию-друга до конца.
 int Peresech(Krug & o1, Krug & o2)
{   float rr;
    rr=sqrt(pow(o1.x-o2.x,2)+pow(o1.y-o2.y,2));
    cout<<"* rr="<<rr<<endl;
    if((rr<=o1.R+o2.R)&&(o1.R<=rr+o2.R)&&(o2.R<=rr+o1.R)) return 1;
    else return 0;
}
 - круги пересекаются только если расстояние между ними и их радиусы образуют треугольник.

и подберем несколько кругов для проверки:

#include "Kl.h"
void main()
{
Krug o1(2,0,2),o2(3,0,2),o3(3,0,3),o4(3,0,4);
int flag;
o1.Show();
o2.Show();
float p1,p2;
p1=o1.Perimetr();
p2=o2.Perimetr();
cout<<"p1= "<<p1<<endl;
cout<<"p2= "<<p2<<endl;
flag=Peresech(o1,o2);
if(flag) cout<<" o1 - o2 peresekajutsja"<<endl;
if(Peresech(o1,o3)) cout<<" o1 - o3 peresekajutsja"<<endl;
if(Peresech(o1,o4)) cout<<" o1 - o4 peresekajutsja"<<endl;
}

6. То, что сделано с помощью функции-друга, можно сделать без него.
Это можно сделать двумя способами:
-открыть доступ к членам- данным класса и обращаться к ним напрямую. Но, как уже говорилось, это делать категорически не рекомендуется для защиты данных;
-написать члены-функции, возвращающие члены-данные и использовать их. Такой пример описан здесь.

понедельник, 20 апреля 2015 г.

Задание 5. Работа с меню и панелями инструментов.

Продолжаем  программировать под Windows.
Следующее - Задание 5. Работа с меню и панелями инструментов.
Каждый пункт делаем строго по описанию, сделав, сдаем преподавателю,  получаем плюсик.

Перед выполнением очередного пункта делаем копию папки своего проекта под  другим именем!   При совсем неудачном программировании это даст возможность "откатиться" и начать заново. Проекты обычно находятся в папке Мои документы/Visual Studio 2008/Projects на диске С или по аналогичному пути на диске D.

понедельник, 13 апреля 2015 г.

Программирование для Windows в системе программирования Visual Studio

Начинаем программировать под Windows. Каждый пункт делаем строго по описанию, сделав, сдаем преподавателю, отвечаем на вопросы и получаем плюсик.

Первое задание посвящено знакомству:

1. Однодокументное приложение
2. Многодокументное приложение -делаем п.2 Задания 4;
3.Windows-формы


воскресенье, 12 апреля 2015 г.

Классы в С/С++: Делай с нами! Шаг 2.

Итак, продолжаю решать задачу:
Моя задача очень похожа на ваши:
"Описать класс круг с центром в точке (х0,у0) и радиусом R. Методы: расчет периметра и площади. Друг класса определяет, пересекаются ли два круга."


6. Проверим, правильно ли конструктор ввел начальные данные. Для этого напишем в методе Show( ) вывод данных на экран
 void Krug:: Show(void)
 {cout<<"Koordinaty: "<<x<<"  "<<y<<"  R="<<R<<endl;}

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

пятница, 3 апреля 2015 г.

Задача 3. Классы в С/С++. (Делай с нами! Шаг 1)



Сообщение для всех, кто не сдал задачу №3! Делайте параллельно другим задачам вместе со мной! Кстати, задачу №2 можно делать аналогично.

Задание 3.   

1)      Основательно изучите лекционный материал. Обратите внимание на примеры реализации классов.
2)      Напишите программу, реализующую Вашу задачу. При этом:

a)      Спроектируйте (опишите) класс.
b)      Описание класса сделать в заголовочном файле, описание методов и функцию main- в двух других файлах.
c)      После вызова конструктора обязательно вызовите метод, печатающий значения полей (для проверки)
d)      В функции  main определите несколько объектов (экземпляров класса). Продемонстрируйте решение задачи, во-первых, только с помощью вызова различных методов объекта (объектов) и, во-вторых, с помощью друга класса. 


Пробуем новую методику разработки задачи:

  • Я буду показывать действия маленькими шагами на своей задаче.
  • А вы делаете то же действие в своей задаче и публикуете на странице  Консультации: задачи по теме "Классы"
  • Я комментирую, отвечаю на вопросы, исправляю ошибки.
  • Проходим следующий шаг. И т.д.  

пятница, 20 марта 2015 г.

Задача 2. Функции в С/С++

Задание

Напишите программу, реализующую Вашу задачу (см. текст задач ниже).

При этом:

  • Данные описывайте только внутри функций; Глобальными могут быть только типы.
  • Напишите не менее двух подпрограмм: одну для ввода данных, другую -описанную в тексте задачи;
  • Каждую функцию оформите в отдельном файле. Файлы создавайте через меню Проект/Включить новый элемент/Файл С++;
  • Напишите заголовочный файл Имя.h , включите ссылку на него во все файлы;
  • Печать с помощью потоков производится только в функции main.

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

среда, 18 февраля 2015 г.

Задача № 1. Консольное приложение в СП Visual C++


Задание

1.Напишите программу, реализующую Вашу задачу. В программе обязательно должны присутствовать:
  • цикл for;
  • совмещение операции присваивания с бинарными операциями (например, a+=b);
  • операторы scanf и printf .
 2.Копию файла задачи название.срр  перенесите в файл название.txt и разместите на облачном диске (см. указания на странице Работа с диском Google -не забудьте сделать общий доступ!), затем разместите ссылку на него в комментариях на странице  Консультации: задачи по теме "Циклы" 

3.Ждите моего ответа под Вашим комментарием



Указания:

понедельник, 16 февраля 2015 г.

Курс "Современные языки программирования" -2015

Приветствую новых слушателей курса 

"Современные языки программирования"!

В процессе изучения курса мы познакомимся
  • с языком программирования С/С++, 
  • программированием на нём под ОС Windows, 
  • языком разметки HTML,
  • языком программирования на стороне сервера PHP.
На сегодняшнем занятии: