Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2013, 12:06   #1
Решетова Алена
Форумчанин
 
Регистрация: 13.12.2012
Сообщений: 116
По умолчанию Количество символов в строке экрана

Задача звучит так: Написать процедуру, которая выводит числа от 0 до 9 в строку без пробела. Выполнить эту процедуру в программе 10 раз и определить число символов в одной строке экрана. Переделать процедуру, что бы она выводила числа в столбец. Выполнить процедуру 5 раз и определить число символов в столбце экрана.

Но что значит в строке и столбце экрана? По умолчанию в строке экрана помещается 80 символов, в столбце 25. Но как это реализовать в программе?
Код:
{$mode objfpc} 
program K; 

uses crt; 
var i : byte; 

procedure n1 (); 
var i:byte; 
begin 
for i:=0 to 9 do write(i); 
end; 

procedure n2 (); 
var i:byte; 
begin 
for i:=0 to 9 do writeln(i); 
end; 

BEGIN 
For i:=0 to 9 do n1;	

For i:=0 to 4 do n2;	
END.

Последний раз редактировалось Stilet; 17.02.2013 в 14:12.
Решетова Алена вне форума Ответить с цитированием
Старый 17.02.2013, 12:15   #2
MisterDie
1100001001
Пользователь
 
Аватар для MisterDie
 
Регистрация: 25.01.2013
Сообщений: 49
По умолчанию

Код:
{$mode objfpc} 
program K; 
uses crt;  
var i : byte; 
procedure n1 (); 
var i:byte; 
begin 
for i:=0 to 9 do write(i); 
end; 
procedure n2 (); 
var i:byte; 
begin 
for i:=0 to 9 do writeln(i); 
end; 
begin
For i:=1 to 10 do n1; 
writeln;
writeln('Символов в строке: ', 10*10);
writeln;
For i:=1 to 5 do n2;
writeln('Символов в столбце: ', 10*5);
end.
Так?
МаГиЯ
мАгИя
МаГиЯ
MisterDie вне форума Ответить с цитированием
Старый 17.02.2013, 12:24   #3
Решетова Алена
Форумчанин
 
Регистрация: 13.12.2012
Сообщений: 116
По умолчанию

Нет. До этого бы я и сама додумалась. Здесь имеется кол-во символов в одной строке ЭКРАНА. Экран же 80х25 символов. А как это в программе реализовать? Может сс поощью ассемблера. Я его плохо знаю.
Решетова Алена вне форума Ответить с цитированием
Старый 17.02.2013, 12:33   #4
monster-bonster
Пользователь
 
Аватар для monster-bonster
 
Регистрация: 27.06.2012
Сообщений: 38
По умолчанию

Заведите массив из 80x25 элементов.
затем напишите функцию которая считает количество символов в строке массива и еще одну которая считает количество символов в столбце.

Заполните массив как в условии задачи и попробуйте посчитать
количество символов в строке и столбце.
Если вам нужно более конкретное решение, пишите.
monster-bonster вне форума Ответить с цитированием
Старый 17.02.2013, 12:38   #5
Решетова Алена
Форумчанин
 
Регистрация: 13.12.2012
Сообщений: 116
По умолчанию

Спасибо, уже не надо) Подсказали, что есть функции Wherex:char; и Wherey:char;
Программно определить текущее положение курсора позволяют 2 стандартные функции Wherex:char; и Wherey:char;, возвращающие, соответственно, текущие x- и y-координату курсора.

Столбец легко:
For i:=0 to 4 do n2;
Writeln;
y:=byte(Wherey);
Writeln(y);

А вот со строкой.. надо положение курсора с каждым символов перемещать.. пока что не сделала. Можете помочь, если не затруднит)
Решетова Алена вне форума Ответить с цитированием
Старый 17.02.2013, 15:50   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Я тоже не понимаю формулировки этой задачи:
Цитата:
Сообщение от Решетова Алена Посмотреть сообщение
Написать процедуру, которая выводит числа от 0 до 9 в строку без пробела. Выполнить эту процедуру в программе 10 раз и определить число символов в одной строке экрана.
В первом предложении говорится о выводе в строку (в переменную типа string?).
Во второй - что-то об экране.
Совершенно непонятно, как одно с другим связано.

Ds: Условие некорректно. Необходимо уточнить условие.
s-andriano вне форума Ответить с цитированием
Старый 17.02.2013, 16:11   #7
Решетова Алена
Форумчанин
 
Регистрация: 13.12.2012
Сообщений: 116
По умолчанию

Да, да. Не понятная задача. Это даже не мне задали. Попросили просто помочь. Интересно, преподаватель сам то понимает о чем речь?))
Решетова Алена вне форума Ответить с цитированием
Старый 17.02.2013, 16:12   #8
Решетова Алена
Форумчанин
 
Регистрация: 13.12.2012
Сообщений: 116
По умолчанию

Спасибо всем за помощь!)
Решетова Алена вне форума Ответить с цитированием
Старый 17.02.2013, 18:48   #9
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Так понял, что надо вывести некоторое число символов (цифр) в строке окна и определить значение I, когда положение курсора по строке (X) "обнулится" - курсор встанет в начало строки.
Затем выводим столбец (Y) символов (цифр) и так-же ожидаем, когда курсор "перескачет" в начало экрана. Число J будет тем числом, которое и даст нам число строк в окне.

В модуле Crt есть функция, с помощью которой можно задать размер окна, например, для вывода некоторого сообщения. Можно поиграть


Вроде так ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 18.02.2013, 10:44   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

согласен с ViktorR.

А вообще, задача, действительно, не очень...
Если бы я решал её, то я бы воспользовался тем фактом, что текст в DOS выводится в видеопамять, к ней имеется прямой доступ.
Достаточно пройтись по нужной строке (столбцу) и прочитать, какие символы и сколько их...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посчитать количество таких символов в строке HSR Общие вопросы Delphi 4 19.11.2012 14:23
Количество различных символов в строке Pasha_Sh Паскаль, Turbo Pascal, PascalABC.NET 2 25.10.2012 21:15
Количество символов в строке! kalosha-stepa Паскаль, Turbo Pascal, PascalABC.NET 7 24.09.2012 08:09
Подсчитать количество содержащихся в строке символов С Doublefaced Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 31.05.2009 12:13
Количество символов в строке Ivan357 Паскаль, Turbo Pascal, PascalABC.NET 0 09.12.2008 17:06