![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 10.10.2010
Сообщений: 8
|
![]()
Скажите, пожалуйста, правильно ли решена задача, а еще откуда взялись некоторые данные и что они обозначают.
Составить программу для выполнения указанного ниже задания. Найти номер позиции первой цифры в строке program proba; uses crt; var S: string; i,n: integer; begin write ('введите строку:S='); readln (S); for i:=1 to length(S) do if (ord(S[i])>46) and (ord(S[i])<58) then begin n:=1; break; end; writeln('первая цифра стоит на', n , ' -ой позиции в строке'); readln; end. Мне не понятно, что означает (length(S)), (ord(S[i])>46) и откуда взялось 46, (ord(S[i])<58) и откуда взялось 58, что означает break |
![]() |
![]() |
![]() |
#2 | |||
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
![]() Цитата:
Цитата:
Цитата:
(ord(S[i])>=48) and (ord(S[i])<=57) функция ord преобразовавыет из символа в код, и если код очередного символа строки попадает в диапазон от 48 до 57 то это цифра. Процедура break прерывает выполнение цикла в котором используется эта процедура. Последний раз редактировалось Базиля; 22.12.2010 в 18:58. |
|||
![]() |
![]() |
![]() |
#3 |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
![]()
1) length(S) это функция которая определяет длину строки!
2) ord(S[i]) это функция которая определяет код символа по ASCII кодировке! P.S.: Смотри ASCII таблицу 3) 46 и 57 это для сравнения кодов! Хотя если смотреть таблицу ASCII то цифры начинаются с 48 по 57 так что подправь на if (ord(S[i])>=48) and (ord(S[i])<=57) then 4) break это нужно что бы прервать массив! То есть мы прогоняем массив ищем цифры и как только нашли дальше прогонять цикл нет смысла и мы его останавливаем и выходим из него
Mess with the best, die like the rest.
![]() Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
![]() |
![]() |
![]() |
#4 | |
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
![]()
Mess with the best, die like the rest.
![]() Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Паскаль, Борланд Паскаль-в чем разница??? | Vremya-Dengy | Паскаль, Turbo Pascal, PascalABC.NET | 13 | 31.05.2011 18:23 |
Паскаль | Дин@->-- | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 18.07.2010 15:35 |
паскаль | @lenk@ | Помощь студентам | 2 | 05.03.2010 18:44 |
Паскаль | Jenny104 | Помощь студентам | 3 | 19.09.2008 07:06 |