Формулировка задачи:
Программа которая выводит первую букву, длину слова и последнею букву.
пример
4(это количество вводимых слов)
привет
Добро
Компьютер
Pascal
Ответ должен получиться вот такой :
п6т
Д5о
К9р
P6l
дополнение к задаче если слово короче 4 символов то выводим его без изменений
Код к задаче: «Вывести первую букву, длину слова и последнею букву»
textual
Листинг программы
var S: string; i: byte; begin write(' Введите слово: '); readln(S); i := length(S); writeln; write('Результат:'); if i > 3 then write(' ', s[1], '', i, '', s[i]) else write(' ', S) end.
Прочтите прежде чем задавать вопрос!
1. Заголовок темы должен быть информативным. В противном случае тема удаляется …
2. Все тексты программ должны помещаться в теги [code=pas] … [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. «FAQ«, если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение — только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы — на PM!
6. Одна тема — один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
var i:integer; st:string; {строка } s:char; {буква } BEGIN writeln('Введите строку слов:'); readln(st); write('Введите букву: '); readln(s); st:=' '+st; {добавляем пробел в начале строки } repeat {ЦИКЛ } i:=pos(' '+s,st); {ищем слово на букву s } inc(i); {пробел не считаем } if i<>1 then {если слово нашли то } repeat {цикл } write(st[i]); {напечатать букву найденного слова } delete(st,i,1); {удалить эту букву } until (st[i]=' ')or(i=length(st)); {если слово кончилось то конец цикла} writeln; until i=1; {если больше нет найденных слов то КОНЕЦ ЦИКЛА} writeln('st=',st); END.
Ввод символов с клавиатуры почти не отличается от ввода чисел с клавиатуры. Для того чтобы ввести какие-то символы (буквы, знаки и т.д.) с клавиатуры необходимо для переменных использовать символьный тип данных Char.
program number14; uses crt; var X, Y:char; begin clrscr; writeln (‘Введите несколько символов: ’); readln(X); writeln(X); writeln (‘Введите еще несколько символов: ’); readln(X,Y); writeln(X,Y); readln end.
В строке №3 записываем переменные X и Y и указываем для них тип данных Char. Теперь в эти переменные можно записывать символы, выводить их на экран и т.д.
Строка №7. Вводим с клавиатуры какие-нибудь символы. Одна переменная типа Char может содержать только один символ. Поэтому при вводе символов с клавиатуры, в переменную X запишется только один символ (первый). Поэтому, сколько бы символов мы не вводили с клавиатуры, на экран (строка №8) выведется только первый из этих символов.
В строке №10 в операторе Readln записано уже 2 переменных X и Y. И в строке №11 на экран выводится значения этих двух переменных. Поэтому на экран выведется 2 первых из введенных символов.
Вводим любое слово, например «pascal» и нажимаем Enter. Затем вводим еще какое-нибудь слово, пусть тоже будет «Pascal» и нажимаем Enter.
Как видно, в первом случае программа вывела только первую букву слова, во втором случае 2 первых буквы. Таким образом, можно сделать вывод о том, что одна переменная типа Char принимает только один символ из введенной строки. Для того чтобы можно было записать несколько символов в одну переменную необходимо использовать строковые переменные и тип данных String.
Чтобы завершить регистрацию, подтвердите свою почту!
Для этого откройте email, указанный при регистрации и найдите там письмо подтверждения от GeekBrains. Если не видите его во входящих — проверьте папку «Спам».
Хотите продолжить обучение?
Перейти в моё обучение