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

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

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

> Хочу разобраться в символьном типе
CormiX
сообщение 27.12.2009 11:09
Сообщение #1


Новичок
*

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

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


Как использовать символьный тип для решения задач?
Например:
есть текст в котором есть хотябы 1 двоеточие(":"). Получить символы, которые располагаются между 1-ым и 2-ым
двоеточиями, если 2-го нет - то до конца текста.
И вот не могу понять, задаю символьный тип и как ему присвоить значение?

s1:array[1..N] of char, как ето использовать для определения ":" в вышенаписаной задаче?

Сообщение отредактировано: CormiX - 27.12.2009 11:09
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
CormiX
сообщение 27.12.2009 12:12
Сообщение #2


Новичок
*

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

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


А после begin писать:

write('Flag:=','Write the text');
readln(flag);

Так? Только есл я глупость написал то не смейтесь, я ток позавчера начал Паскаль учить)
все в голове в перемешку)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 27.12.2009 13:24
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(CormiX @ 27.12.2009 12:12) *
Так? Только есл я глупость написал то не смейтесь, я ток позавчера начал Паскаль учить)
все в голове в перемешку)

Давай упорядочивать твою перемешку.
flag - это булева переменная. Если ты еще не учил про такой тип, советую обратиться к учебнику. Без такой переменной в этой задаче, конечно, можно обойтись, но это будет не совсем естественно. Поэтому прочитай про них. Могу начать объяснение..

Переменная типа boolean (от Булевой алгебры, которая названа по имени основателя основателя Джорджа Буля) может принимать только два значения: ложь или правда. В Паскале это совпадает с английским написанием: false и true. Булева переменная может быть использована везде, где может стоять условие - например, в операторе if .. then или while .. do или repeat .. until. Значение можно задавать либо константой (false, true), либо вычислением условия (типа x>0).

В нашем примере мы сначала устанавливаем значени флага в ложь (флаг не поднят). Затем, когда встречается первое ":", занчение становится not false. то есть правда (флаг поднят). При поднятом флаге срабатывает второй if и символы выводятся на печать. Затем, когда снова встречается ":", значение флага становится not true (флаг сбрасывается), и вывод символов прекращается.

После begin тебе нужно организовать ввод символьного массива s1. Попроьуй это сделать и паокажи результат.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
CormiX   Хочу разобраться в символьном типе   27.12.2009 11:09
andriano   var c : char; begin c := ':';   27.12.2009 11:58
Lapp   Как использовать символьный тип для решения задач?...   27.12.2009 12:02
andriano   [code=pas] ... flag:=false; for i:=1 to N do...   27.12.2009 13:46
CormiX   А после begin писать: write('Flag:=',...   27.12.2009 12:12
Lapp   Так? Только есл я глупость написал то не смейтесь,...   27.12.2009 13:24
andriano   1. Ладно, Паскаль начал учить вчера, а какие языки...   27.12.2009 12:47
CormiX   Других языков к сожалению не знаю((( Алгоритм дум...   27.12.2009 12:52
andriano   Твой алгоритм, мягко говоря, недостаточно подробны...   27.12.2009 12:57
CormiX   Ага тоесть нужно выделить ети символы и копировать...   27.12.2009 13:10
Lapp   во я разобрался, правда не массивом...) Ну, разобр...   27.12.2009 13:27
andriano   во я разобрался, правда не массивом...) Ну, вообщ...   27.12.2009 13:38
CormiX   Только я там удалил ту строку, что идет перед перв...   27.12.2009 13:33
Lapp   так?) Нет. С самим выводом ничего менять не нужно....   27.12.2009 13:37
CormiX   Тогда использовалась бы только 1 строка правильно?   27.12.2009 13:46
CormiX   Тоесть результат таков: program xxx_1; uses crt; ...   27.12.2009 13:52
Lapp   Тоесть результат таков: Что это там за массив a? О...   27.12.2009 14:07
CormiX   А что не так?( ета прога почемуто не работает(((   27.12.2009 14:16
Lapp   ета прога почемуто не работает(((Ты запутался немн...   27.12.2009 15:48
CormiX   Огромное спасибо!!!   27.12.2009 15:58
andriano   n=10 s1[1]=a s1[2]=: s1[3...   27.12.2009 16:56


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

 



- Текстовая версия 21.07.2025 21:26
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"