![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
SpeedFire |
![]() ![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Задача: Напишите программу, которая выдает сообщение в текстовое окно.Координаты окна и координаты для сообщения вводиться с клавиатуры.Цвет экрана и цвет символов задайте с помощью датчика случайных чисел.
program okno;
uses Crt;
var
A, B, X, Y, K, L:integer;
begin
TextColor(A);
TextBackGround(B);
ClrScr;
Randomize;
A:=Random(16);
B:=Random(16);
writeln('Введите координаты окна');
readln(X, Y);
Window(X, Y);
writeln('Введите координаты сообщения');
GotoXY(K, L);
read(K, L);
writeln ('Задача решена');
end.
Пишу в программе Pascal ABC..В конце программы я уверен написано совсем не то,что нужно,там я совсем запутался...Подскажите пожалуйста! Сообщение отредактировано: SpeedFire - 17.09.2011 9:22 |
![]() ![]() |
IUnknown |
![]()
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Пишу в программе Pascal ABC.Она ругается на процедуру window.(Ошибка: неверное количество фактических параметров) Какая разница где? Процедура Window всегда принимает 4 параметра, а не 2 (разница - только в смысле параметров, скажем, в Турбо Паскале подразумеваются координаты X и Y левого верхнего и правого нижнего окна, а в PascalABC - координаты (X, Y) верхнего левого угла и ширина/высота).Ну, а вообще - не самая хорошая идея писать программы для PascalABC, использующие модуль CRT... Тот компилятор, который был написан не для .NET, уже давно не поддерживается, последние версии компилятора написаны именно под .NET, и программу, написанную с использованием CRT просто не удастся отладить, потому что запустить ее в режиме отладки PascalABC не даст. Так что тут надо подумать, продолжать пользоваться PABC и мучаться со старым модулем (даже если программа успешно откомпилируется - я совсем не уверен, что она будет адекватно себя вести), или брать какой-то другой компилятор. P.S. Не надо в самом начале делать TextColor(A);
TextBackGround(B);
ClrScr;
, это приведет к тому, что и цвет фона и цвет выводимых символов будут черными (и A и B автоматически инициализируются нулем, а это именно черный цвет), и ты элементарно ничего не увидишь. Либо установи какие-то конкретные цвета, либо не меняй ничего вообще.Сообщение отредактировано: IUnknown - 17.09.2011 9:32 |
SpeedFire |
![]()
Сообщение
#3
|
![]() Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
C window разобрался!Просто учебник отсканированый,я думал там точка,а там запятая!)Теперь понятно, спасибо
IUnknown,сейчас попробую дописать программу |
SpeedFire |
![]()
Сообщение
#4
|
![]() Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
program sdfl;
uses crt;
var
A, B, W, X, Y, Z, O, P : integer;
begin
Randomize;
A:=Random(16);
B:=Random(16);
write('Введите координаты окна:');
readln(W, X, Y, Z);
window(W, X, Y, Z);
write ('Введите координаты сообщения:');
readln(O,P);
GotoXY(O,P);
write('Задача решена!');
TextColor(A);
TextBackGround(B);
ClrScr;
end.
Вот написал все получилось, кроме конечного сообщения "задача решена!",оно почему то не появляется. Добавлено через 9 мин. Получилось написать "задача решена",поставил readln после строчки write('Задача решена'); НО теперь цвета не работают :D Сообщение отредактировано: SpeedFire - 17.09.2011 10:26 |
IUnknown |
![]()
Сообщение
#5
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Делаешь так:
program sdfl;
uses crt;
var
A, B, W, X, Y, Z, O, P : integer;
begin
//Randomize;
//A:=Random(16);
//B:=Random(16);
write('Введите координаты окна:');
readln(W, X, Y, Z);
window(W, X, Y, Z);
write ('Введите координаты сообщения:');
readln(O,P);
GotoXY(O,P);
write('Задача решена!');
//TextColor(A);
//TextBackGround(B);
//ClrScr;
end.
, компилируешь, жмешь Shift+F9 (чтоб запустить), вводишь координаты, и внимательно читаешь ответ программы. А теперь еще раз прочитай, что я тебе написал выше, особенно во втором абзаце. ![]() |
SpeedFire |
![]()
Сообщение
#6
|
![]() Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
|
IUnknown |
![]()
Сообщение
#7
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Так все-таки, PascalABC или FreePascal? С FPC проблем как раз нет, тут все будет работать как положено:
uses Crt;
var
X1, X2, Y1, Y2,
pX1, pY1 : Integer;
begin
ClrScr;
write ('Введите координаты окна:');
ReadLn (X1, Y1, X2, Y2);
write ('Введите координаты сообщения:');
ReadLn (PX1, PY1);
Window (X1, Y1, X2, Y2); // Создаем окно
Randomize;
TextColor (Random (15) + 1); // Не черный цвет текста
TextBackGround (Random (7) + 1); // Не черный цвет фона
ClrScr; // Очищаем ОКНО
GotoXY (X1, Y1); // и внутри окна выводим сообщение
write ('Задача решена!');
readln;
Window (1, 1, 80, 25); // Восстанавливаем нормальное окно
end.
P.S. Откуда у тебя там SVN взялся? Ты откуда FPC качал? Сообщение отредактировано: IUnknown - 17.09.2011 11:34 |
SpeedFire |
![]()
Сообщение
#8
|
![]() Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
После того как ты сказал что
Цитата не самая хорошая идея писать программы для PascalABC, использующие модуль CRT... скачал Free Pascal отсюда что такое svn понятия не имею ![]() За программу спасибо,теперь все понятно) |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 11:37 |