IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Псевдографика...
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 132
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


нужно построить оранамент с помощью спевдографики на всю ширину экрана.
файл с орнаментом прилагается...
совсем что-то не могу понять,как построить. В поиске не находила. Я получается не знаю,как построить вертикальные прямые в орнаменте,с горизонтальными уже разберусь как-нибудь.
спасибо.


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Вот ASCII-коды всех нужных тебе символов...

Горизонтальные - символ #196
Вертикальные - #179

Угловые:
правый верхний #191
левый верхний #218
правый нижний #217
левый нижний #192
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 132
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


вот всё,что я смогла сообразитьsad.gif
Подскажите,что сделать дальше,пожалуйста.
И я не смогла додуматься,как сделать,чтоб например с клавиатуры можно было вводить длину вертикальной и горизонтальной черты...
program ornam;
uses crt;
const A=#196; B=#179; C=#218;
D=#191; E=#217; F=#192;
var i:byte;
begin
clrscr;
gotoxy(1,7);
for i:=1 to 5 do
begin
write(A);
end;
write(E);
for i:=6 downto 3 do
begin
gotoxy(6,i);
write(B);
end;
gotoxy(6,2);
write©;
for i:=7 to 12 do
begin
gotoxy(i,2);
write(A);
end;
write(D);
for i:=3 to 4 do
begin
gotoxy(13,i);
write(B);
end;
gotoxy(13,5);
write(E);
for i:=12 downto 11 do
begin
gotoxy(i,5);
write(A);
end;
gotoxy(10,5);
write©;
gotoxy(10,6);
write(B);
gotoxy(10,7);
write(F);
readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


А так? blum.gif
uses crt;
const A=#196; B=#179; C=#218;
D=#191; E=#217; F=#192;
var i:byte;
begin
clrscr;
gotoxy(1,7);
for i:=1 to 5 do
begin
write(A);
end;
write(E);
for i:=6 downto 3 do
begin
gotoxy(6,i);
write(B);
end;
gotoxy(6,2);
write©;
for i:=7 to 12 do
begin
gotoxy(i,2);
write(A);
end;
write(D);
for i:=3 to 4 do
begin
gotoxy(13,i);
write(B);
end;
gotoxy(13,5);
write(E);
for i:=12 downto 11 do
begin
gotoxy(i,5);
write(A);
end;
for i:=1 to 5 do begin
gotoxy(i+10,7);
write(A);
end;
write(E);
for i:=6 downto 3 do begin
gotoxy(16,i);
write(B);
end;
gotoxy(16,2);
write©;
for i:=7 to 12 do
begin
gotoxy(i+10,2);
write(A);
end;
write(D);
for i:=3 to 4 do
begin
gotoxy(23,i);
write(B);
end;
gotoxy(23,5);
write(E);
for i:=12 downto 11 do
begin
gotoxy(i+10,5);
write(A);
end;
gotoxy(20,5);
write©;
for i:=6 downto 6 do begin
gotoxy(20,i);
write(B);
end;
gotoxy(20,7);
write(#192);
for i:=1 to 5 do begin
gotoxy(i+20,7);
write(#196);
end;
gotoxy(13,5);
write(E);
gotoxy(10,5);
write©;
gotoxy(10,6);
write(B);
gotoxy(10,7);
write(F);
readln;
end.


Добавлено через 2 мин.
Результат:
Прикрепленное изображение


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 132
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


Артемий, спасибо. Но мне же нужно сделать такой орнамент по всей ширине экрана. Это постоянно добавлять циклы? Будет же огромная программа. А никак нельзя сделать, чтобы этот кусочек повторялся до тех пор пока не привысится ширина экрана? (repeat...until) я не могу понять как это организовать.....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






uses crt;
const
width = 80;
var
i, j:byte;

begin
clrscr;

gotoxy(1,7);
for j := 1 to (width div 10) + 1 do begin

for i := 1 to 5 do write(#196);
write(#217);
for i := 1 to 4 do begin
gotoxy(wherex - 1, wherey - 1); write(#179);
end;
gotoxy(wherex - 1, wherey - 1); write(#218);
for i := 1 to 6 do write(#196);
write(#191);
for i := 1 to 2 do begin
gotoxy(wherex - 1, wherey + 1); write(#179);
end;
gotoxy(wherex - 1, wherey + 1); write(#217);
for i := 1 to 5 do begin
gotoxy(wherex - 2, wherey); write(#196);
end;
gotoxy(wherex - 1, wherey); write(#218);
for i := 1 to 2 do begin
gotoxy(wherex - 1, wherey + 1); write(#179);
end;
gotoxy(wherex - 1, wherey); write(#192);

end;
readln;
end.

Так?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 132
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


Да,volvo, так, спасибо. Совсем позабыла, кстати, про ф-цию where (x,y)...
Один только вопрос: почему в первом цикле
for j := 1 to (width div 10) + 1 do begin

прибавляем единицу?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Ну, я же начинаю с единицы, а не с нуля...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Пионер
**

Группа: Пользователи
Сообщений: 132
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


А ну да, с единицыsmile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Пионер
**

Группа: Пользователи
Сообщений: 132
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


Я извиняюсь, а как можно сделать, чтоб этот орнамент был на весь экран.
Я так понимаю нужно выводить его по строчкам... но как это сделать?
Помогите,если сможете...
(с другим орнаментом получилось, а с этим никак!)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Добавь еще один - внешний - цикл:

  for k := 1 to 3 do begin { <--- Вот этот }

gotoxy(1, 7*pred(k) + 7);
for j := 1 to (width div 10) + 1 do begin

for i := 1 to 5 do write(#196);
write(#217);
for i := 1 to 4 do begin
gotoxy(wherex - 1, wherey - 1); write(#179);
end;
gotoxy(wherex - 1, wherey - 1); write(#218);
for i := 1 to 6 do write(#196);
write(#191);
for i := 1 to 2 do begin
gotoxy(wherex - 1, wherey + 1); write(#179);
end;
gotoxy(wherex - 1, wherey + 1); write(#217);
for i := 1 to 5 do begin
gotoxy(wherex - 2, wherey); write(#196);
end;
gotoxy(wherex - 1, wherey); write(#218);
for i := 1 to 2 do begin
gotoxy(wherex - 1, wherey + 1); write(#179);
end;
gotoxy(wherex - 1, wherey); write(#192);

end;

end;

 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Пионер
**

Группа: Пользователи
Сообщений: 132
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


Спасибо, volvo. Я не могла понять куда еще один цикл поставить-теперь понятно как.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.09.2020 12:11
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name