1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Люди добрые! Молю о помощи!!! 11 класс, никогда информатику не учила, а тут пришел злющий препод и права качает! Пришлось браться за изучение паскаля. Что-то получается, но до нужного уровня еще не догоняю...
Задача очень простая! Нужно нарисовать дом(квадрат, на нем треугольник - крыша), квадрат закрашен плюсиками, в нем маленькое окошко с рамой. Крыша, т.е. треугольник закрашен диагональными черточками. К тому же сбоку домика есть лестница. Дополнительно: труба, забор...
Для меня самое главное алгоритм! Начало программы, где нужно код заливки вставлять, где код фигур и т.п.
Давай сначала решим один вопрос: ты хочешь РАЗОБРАТЬСЯ или сдать программку и забыть о ней? Буду писать, ориентируясь на первый вариант.
Сначала просто нарисуем прямоугольничек, чтобы разобраться с частями программы.
program domik; //зарезервированное слово program и название нашей программки uses graph,crt; //модули, которые мы используем. graph - собственно, для графики. из crt берем лишь readkey (см. ниже) var gd,gr,err: integer; //переменные понадобятся для инициализации графического режима
begin //определяем параметры инициализации графического режима gd:=detect; gr:=VGAHi; InitGraph(gd,gr,''); //инициализируем графический режим err:=GraphResult; //смотрим, не возникло ли ошибки if err=grOk then //если ошибки не возникло begin Rectangle(10,10,100,100); //рисуем прямоугольник. //первые два числа - координаты верхнего левого угла, вторые - правого нижнего (х и y соответственно) readkey; //ждем, пока пользователь что-нибудь нажмет closegraph; //закрываем графический режим end; end. //вот и все
попробуй набрать (только не скопировать, а именно набрать... чтобы самой почувствовать каждую строчку) все кроме комментариев. и запустить...
по идее, нарисовался белый незакрашенный прямоугольничек. теперь зададим цвет линий и стиль/цвет заливки. Для этого непосредственно перед рисованием прямоугольника вставим такие строки:
SetColor(2); //устанавливаем цвет для рисования SetFillStyle(2,4); //задаем стиль (2) и цвет (4) заливки
коды стилей так не могу назвать, но можешь просто сама поэкспериментировать. увидишь, где там сплошная заливка, где вертикальная штриховка....
после рисования прямоугольника сделаем следующее:
FloodFill(20,20,2); //сама заливка
первые два числа - координата внутри прямоугольника, третье - код цвета границы заливаемой области.
в общем, пробуй... продолжение следует (при необходимости)
--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
gd:=detect - автоматическое определение... нашла такую таблицу констант, но правильность не гарантирую. DETECT 0 CGA 1 MCGA 2 EGA 3 EGA64 4 EGAMONO 5 IBM8514 6 HERCMONO 7 ATT400 8 VGA 9 PC3270 10
gr (для VGA-режима) может принимать значения: VGALo = 0 VGAMed = 1 VGAHi = 2
--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!