![]() |
|
|
#1
|
|||
|
|||
![]() Доброе время суток.
Помогите, в написании программы, задали по учебе, а я не силен. Вводится последовательность из семи чисел или букв. Программа определяет, является ли последовательность возрастающей? Вариант ввода меняется контекстным меню. С помощью линейки прокрутки меняется размер шрифта в окнах (10-15). Очистка ввода - соответствующей клавишей. Запуск анализа - ввод последнего символа. Заранее Спасибо! |
#2
|
||||
|
||||
![]() Что значит
Цитата:
Код:
Procedure EditonKeyPress;//В событиях поля для ввода выбрать onKeyPress begin Edit.Text := String;//Содержимое эдит в переменую if Length(String)=7 then begin//если символов 7 то запуск анализа if ((Ord(String[0])>Ord(String[1])) and//если нулевой символ больше первого (Ord(String[1])>Ord(String[2])) and (Ord(String[2])>Ord(String[3])) and (Ord(String[3])>Ord(String[4])) and (Ord(String[4])>Ord(String[5])) and (Ord(String[5])>Ord(String[6])) and (Ord(String[6])>Ord(String[7]))) then //то показать ссобщение ShowMessage('Последовательность вознастающая'); end; end; В начале был Бит, потом Байт и только потом появилось Слово... |
#3
|
||||
|
||||
![]() NIch, отличный пример кода...
Особенно если строка будет длиной в 150 символов.... 5 по информатике в кармане. |
#4
|
||||
|
||||
![]() Почитай лучше задание...
Цитата:
Код:
var i : integer; Bool : boolean; String : String; begin ... for i :=1 to Length(String) do begin//от единицы до конца строки if Ord(String[i-1])>Ord(String[i]) then begin//если предыдущий меньше текущего Bool := true;//Дополнительная переменная Да end else begin//если предыдущий не меньше текущего Bool := false;// Нет Break;//выйти из цикла end; if Bool = true then//в конце цикла если да то ShowMessage('Последовательнось возрастающая'); В начале был Бит, потом Байт и только потом появилось Слово... |
#5
|
||||
|
||||
![]() А мне вот тупо интересно как последовательности из "букв и цифр" определить "возростание-убывание"?
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#6
|
||||
|
||||
![]() ну видимо по коду символа...
В начале был Бит, потом Байт и только потом появилось Слово... |
#7
|
|||
|
|||
![]() Цитата:
Код:
Procedure EditonKeyPress(Sender:TObject); var bool:Boolean; begin bool:=true; with (Sender as TEdit).Edit do if Length(Text)=7 then for i:=2 to Length(Text) do //!! именно от второго символа if not Ord(Text[i-1])>Ord(Text[i]) then begin bool:=false; break; end; if bool then ShowMessage('Последовательнось возрастающая'); end; Последний раз редактировалось Admin, 30.10.2009 в 21:55. |
#8
|
|||
|
|||
![]() Цитата:
Код:
Procedure EditonKeyPress(Sender:TObject); var bool:Boolean; begin bool:=true; with (Sender as TEdit) do if Length(Text)=7 then for i:=2 to Length(Text) do if not Ord(Text[i-1])>Ord(Text[i]) then begin bool:=false; break; end; if bool then ShowMessage('Последовательнось возрастающая'); end; for i:=2 to Length(Text) do - !! именно от второго символа, иначе будет ошибка) Последний раз редактировалось Asinkrit, 30.10.2009 в 21:39. |
#9
|
||||
|
||||
![]() Цитата:
В начале был Бит, потом Байт и только потом появилось Слово... |