Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Другие функции необходимые для работы со строками↑ ⇐ ПредыдущаяСтр 9 из 9 Содержание книги
Поиск на нашем сайте
Asc(str) – код первого символа строки Str Chr(code) – символ с кодом code по таблице ASCII Join(Array,[break]) – преобразует строковый массив Array в строку. Элементы массива разделены строкой break или пробелом. Split(str[,break[, count]]) – Преобразует строку str в массив break – разделитель элементов, count – количество элементов необходимых для обработки. Вместо разделителя по умолчанию - пробел LCase(str) – все символы строки str переводит в нижний регистр UCase(str) – все символы строки str переводит в верхний регистр Left(str, len) – возвращает len символов строки str слева Right(str, len) – возвращает len символов строки str справа LTrim(str) RTrim(str) – удаляет из строки str начальные, конечные или те и другие пробелы Trim(str) Space(x) – строка из x пробелов String(number, char)-строка из number символов char (указывается код) Replace(source, pattern, replacewith[, start[, count]]) – заменяет вхождения pattern в source на replacewith, начиная со start. Count указывает количество замен. HEX(x) Переводят число x в восьмеричную или шестнадцатеричную систему счисления виде строки OCT(x) Основные функции для работы с датой и временем: Date – возвращает текущую дату IsDate(слово) – Проверяет является ли данной «слово» датой. MonthName(numb,[abbr]) – возвращает название месяца по номеру, [абр.] – в сокращенном виде. Now – возвращает текущие дату и время Time – текущее время. Timer – количество секунд прошедших с полуночи Weekday(date[,первый день недели]) – возвращает номер дня недели по дате, если нужно считает первым днем номер, указанный в параметре. WeekdayName(weekday[,abbr[,]первый день недели])- возвращает НАЗВАНИЕ дня недели по номеру. ДЕМОНСТРАЦИОННЫЕ ПРИМЕРЫ Пример 1 ' Имя файла ASCII.vbs ' Программа выводит таблицу ASCII-кодов option explicit '--------------------------------------- sub ASCII(N,M) dim i dim a a="" For i=N to M a=a&CStr(i)&" - "&chr(34)&chr(i)&Chr(34)&"; " Next msgbox a,,"Вывод таблицы ASCII" end sub '--------------------------------------- ASCII 32,129 ASCII 130,200 ASCII 201,255 Пример 2 'Имя файла Len_+_Mid.vbs 'Демонстрация операции конкатенации "+" 'а также функций работы со строками Len и Mid
option explicit dim str MsgBox "Демонстрация функции Len, которая возвращает длину строки" str=CStr(inputbox("Введите строку","Окно ввода","Первая строка")) Msgbox "Длина строки "&chr(34)&str&chr(34)&" - "&CStr(len(str))
dim str1,str2,str3 MsgBox "Демонстрация операции конкатенации "+" " str1=CStr(inputbox("Введите параметр","Введите первую строку","")) str2=CStr(inputbox("Введите параметр","Введите вторую строку","")) str3=CStr(inputbox("Введите параметр","Введите третью строку",""))
dim concat 'конкатенация строк concat=str1+str2+str3 Msgbox "Конкатенация трех строк: "&chr(34)&concat&chr(34)
MsgBox "Демонстрация функции Mid, которая возвращает подстроку строки" str=CStr(inputbox("Введите последовательность символов","","")) dim start 'начало вырезки start=CInt(inputbox("Введите целое положительное число",_ "Введите начало вырезки","0")) dim length length=CInt(inputbox("Введите целое положительное число",_ "Введите длину вырезки",Cstr(len(str)))) Msgbox "mid из "&chr(34)&str&chr(34)&vbcrlf&_ " - "&chr(34)&mid(str,start,length)&chr(34),0,"Результат" Пример 3 'Имя файла Udvoenie.vbs 'Программа удваивает каждую букву введенного слова
option explicit dim str str=Cstr(Inputbox("Введите слово","Удвоение букв")) dim i dim str1 str1="" for i=1 to len(str) str1=str1+mid(str,i,1)+mid(str,i,1) next msgbox "Результат: "&str1 Пример 4 'Имя файла Palindrom.vbs 'Программа проверяет является ли строка палиндромом. 'Палиндром - слово, которое читается одинаково слева на право и справа налево
option explicit dim str, STR1, RTS dim i str=CStr(inputbox("Введите параметр","Введите строку","")) STR1=Ucase(str) ' Переводим символы строки в верхний регистр STR1=replace(STR1," ","") ' Удаление пробелов RTS="" 'Записываем слово в обратном порядке For i=1 to len(STR1) RTS=Mid(STR1,i,1)+RTS Next msgbox str&": полиндром - "&(RTS=STR1) Пример 5 'Имя файла Dva_podryad.vbs 'Программа определяет есть ли в строке два одинаковых подряд идущих символа
dim otvet otvet="нет" dim str str=Inputbox("Введите строку","Поиск двух повторяющиеся подряд букв в строке") dim i For i=1 to len(str)-1 If Mid(str,i,1)=Mid(str,i+1,1) Then otvet="есть" End If Next msgbox "В "&str&" "&otvet&" 2 одинак. букв. подр.",,"Результат:" Пример 6 'Имя файла A_or_B.vbs 'Программа определяет, какая из букв встречается раньше а или б.
option explicit dim str str=Inputbox("Введите строку","Кто раньше "&Chr(34)&"а"&Chr(34)&" или "&_ Chr(34)&"б"&Chr(34)) dim rez rez="Тут нет ни а ни б" dim i i=0 str=LCase(str)
Do i=i+1 If Mid(str,i,1)="а" Then rez="А встретилось раньше" End if If Mid(str,i,1)="б" Then rez="Б встретилось раньше" End if loop until Mid(str,i,1)="а" or Mid(str,i,1)="б" or (i>len(str)) msgbox rez,,"Результат:" Пример 7 'Имя файла Podslovo.vbs 'Подсчёт сочетаний «Кря» во введенном слове
option explicit dim str str=Inputbox("Введите строку","Поиск подслова кря:") str=LCase(str) ' Переводим элементы строки в нижний регистр dim i dim s dim fstr 'то подслово что ищем fstr="кря" s=0 For i=1 to (len(str)-len(fstr)+1) If mid(str,i,len(fstr))=fstr Then s=s+1 End If Next msgbox fstr&" повторяется в слове "&str&" "&Cstr(s)&" раз" Пример 8 ' Имя файла Cifra_v_chisle.vbs 'Встречается ли цифра в числе
'------------------------------------- function Poisk(chislo,cifra) chislo=Cstr(chislo) cifra=Cstr(cifra) dim i poisk=Cbool(false) i=1 While mid(chislo,i,1)<>cifra and i<=len(chislo) i=i+1 WEnd If i<=len(chislo) Then poisk=Cbool(true) End If end function '-------------------------------------- dim chislo, cifra msgbox "Программа определяет, встречается ли введённая цифра"&_ " в введённом числе" chislo=Inputbox("Введите число") cifra=Inputbox("Какой цифрой Вы интересуетесь") If IsNumeric(chislo) and IsNumeric(cifra) and len(cifra)=1 Then chislo=CDbl(chislo) Cifra=CByte(cifra) If poisk(chislo,cifra) Then msgbox "Такая цифра есть" Else msgbox "Такой цифры нет" End If Else msgbox "Вы ввели неправильную строку" End If Пример 9 ' Имя файла Summa_kubov.vbs 'Программа находит все числа не превосходящие суммы кубов цифр
dim ch ch=Cint(Inputbox("Введите число")) dim i,j dim s dim str str="" For i=0 to ch s=0 For j=1 to Len(Cstr(i)) s=s+Cint(Mid(Cstr(i),j,1))^3 Next If Cint(s)=Cint(i) Then str=str+Cstr(i)+"; " End If Next msgbox str ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ Модификаторы 1. Напишите программу замены в слове X всех букв "а" на сочетание "ку". 2. Напишите программу, записывающую слово X в обратном порядке. 3. Напишите программу замены всех сочетаний "ку" в слове X на букву "а". 4. Напишите программу, выделяющую в слове Х все буквы "о" символами "пробел". Например, слово "сосна" должно быть преобразовано в "с о сна". 5. Напишите программу, удваивающую каждую букву слова Х. 6. Напишите программу, выделяющую в слове Х каждую букву "о" с помощью буквы "-" слева и справа. 7. Замените в слове Х все буквы "а" на сочетание "ку", а сочетание "ку" на букву "б". 8. В слове Х перед каждой буквой "к", которой предшествует буква"с", вставить букву "н". 9. Напишите программу циклической перестановки букв в слове X так, что i-я буква слова становится (i+1)-ой, а последняя - первой. 10. В слове X замените букву "а" на букву "е", если "а" стоит на чётном месте, и замените букву "б" на сочетание "ак", если "б" стоит на нечётном месте. 11. Напишите программу, заменяющую в слове X все буквы "а" и "я" на сочетание "йа". 12. Напишите программу, исправляющую следующую ошибку в математическом тексте: tg(x)=cos(x)/sin(x). 13. Напишите программу, заменяющую окончание "ing" каждого слова, встречающегося в заданном предложении, на "ed". 14. Город Гжатск получил новое название - "Гагарин". Напишите программу, осуществляющую в тексте замену слова "Гжатск" словом "Гагарин" (учесть, что слова имеют разную длину!) 15. Реализуйте двухместную операцию, называемую в языке программирования APL вращением, которая берет первые К символов слова X и помещает их в конец этого слова. 16. Дана последовательность слов, в каждом из которых от до 10 латинских букв; между соседними словами - не менее одного пробела. Напечатайте все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: (1) перенести первую букву в конец слова; (2) перенести последнюю букву в начало слова. 17. Отредактируйте заданное предложение, удаляя из него все слова с нечётными номерами и переворачивая слова с чётными номерами. Например, текст "How do you do" должен преобразоваться в "od od". 18. Напишите программу, которая в заданном тексте меняет все вхождения символа "а" на "б" и "б" на "а". Например, текст "шайба" преобразуется в текст "шбйаб". 19. Измените предыдущую программу так, чтобы она заменяла по указанному правилу любые два различные символа. 20. Напишите программу, которая удаляет в данном тексте все лишние пробелы. 21. Составьте программы для перевода арабских чисел в римские и для обратной операции. Например, 55=CCLV=сто+сто+пятьдесят+пять. Замечание Подобными алгоритмами перевода чисел из одной системы в другую мы пользуемся в тех случаях, когда ведем денежные расчеты. Сумма денег- это арабское число, которому соответствует определенный набор банкнот и монет (аналоги римских цифр). 22. Автоморфными числами называются числа, которые содержатся в последних разрядах их квадрата. Например: 5·5=25, 25·25=625. Составьте программу для нахождения нескольких автоморфных чисел. “Вычеркиватели” (частный случай модификаторов) 1. Напишите программу для вычеркивания всех букв "о", стоящих в слове X на чётных местах. 2. Напишите программу для вычеркивания из слова X всех букв "K" и "G". 3. Напишите программу для вычеркивания в слове X всех букв, стоящих на нечётных местах после буквы "а". 4. Напишите программу для вычеркивания из слова X всех букв "р", перед которыми стоит буква "а". 5. Напишите программу для вычеркивания из слова X каждой третьей буквы. 6. Вычеркните из слова Х все буквы "с" и "л", стоящие на нечётных местах. 7. Вычеркните из слова Х все буквы "б". 8. Вычеркните из слова Х буквы, стоящие на чётных местах. 9. Вычеркните из слова Х буквы, стоящие на нечётных местах. 10. Вычеркните из слова Х все буквы "ш" и "л", стоящие на чётных местах. 11. Вычеркните из слова X те буквы, что встречаются трижды. 12. Вычеркните из слова X те буквы, что используются при написании слова Y. 13. Вычеркните из слова i-ю букву. 14. Если в слове X есть буква "а", то вычеркните из этого слова все буквы, стоящие на чётных местах. 15. Вычеркните из слова повторяющиеся буквы. 16. Дана последовательность, содержащая от до 30 слов, в каждом из которых от до 10 латинских букв; между соседними словами – не менее одного пробела. Напечатайте все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: (1) удалить из слова первую букву; (2) удалить из слова последнюю букву; (3) удалить из слова все последующие вхождения первой буквы; (4) оставить в слове только первые вхождения каждой буквы; (5) если слово нечётной длины, то удалить его среднюю букву. Наблюдатели (предикаты) 1. Выясните, является ли данное слово палиндромом. 2. Напишите программу, проверяющую, есть ли в слове X две одинаковые буквы. 3. Напишите программу, выясняющую, есть ли в слове X буква "a", стоящая на нечётном месте после буквы "к". 4. Напишите программу, проверяющую, есть ли в слове X буква "к", стоящая на чётных местах перед буквой "и". 5. Напишите программу, проверяющую, все ли буквы слова X одинаковы. 6. Напишите программу, выясняющую, можно ли из букв слова X составить слово Y. 7. Напишите программу для проверки, есть ли в слове X буквы "в". Если есть, то найдите номер первой из них. 8. Напишите программу, выясняющую, есть ли в слове X буква "к", и, если есть, то замените все буквы "а" в этом слове на "с". 9. Напишите программу, проверяющую, все ли буквы слова Х, стоящие на чётных местах, одинаковы. 10. Даны два "стринга" А и В. Проверьте, можно ли из букв, входящих в стринг А, составить стринг В. Буквы можно переставлять, и каждую букву можно использовать более одного раза. 11. Определите, есть ли в словах Х и Y одинаковые буквы. 12. Выясните, есть ли в слове Х буква "в", стоящая на нечётном месте. 13. Определите, имеются ли в слове Х две одинаковые буквы, идущие подряд. 14. Выясните, есть ли в слове Х хотя бы одна из букв "о" или "а". 15. Проверьте, есть ли в слове Х буква "б". Если есть, замените последнюю из них на букву "а". 16. Выясните, все ли буквы слова Х, стоящие на нечетных местах, различны. 17. Проверьте, есть ли в слове Х буква "а". Если есть, найдите номер последней из них. 18. Определите, встречается ли в слове Х первая буква слова Y. 19. Определите, все ли буквы слова различны. 20. Выясните, есть ли в слове буква "я". 21. Проверьте, встречается ли в данном тексте последовательность слов "Не думай о секундах свысока". Слова могут идти не обязательно подряд, но порядок должен быть сохранен. 22. Определите, упорядочена ли данная последовательность латинских букв по алфавиту. 23. Даны два "стринга" А и В. Проверьте, можно ли из букв, входящих в стринг А, составить стринг В. Буквы можно переставлять, но каждую букву можно использовать не более одного раза. 24. Заданы два "стринга" А и В, причем длина А больше длины В. Определите, содержится ли в стринге А стринг В. 25. Танка (короткая песня) - это жанр японской поэзии; нерифмованное пятистишие, состоящее из 31 слога (5+7+5+7+7). Хокку – это также жанр японской поэзии; нерифмованное трехстишие, генетически восходящее к "танка"; состоит из 17 слогов (5+7+5). Напишите предикат, определяющий для заданных трёхстишия и пятистишия их принадлежность к хокку и танка. Подсчет 1. Напишите программу для подсчёта числа букв "о", стоящих в слове X на чётных местах. 2. Напишите программу для подсчёта числа сочетаний "ку" в слове X. 3. Напишите программу для подсчёта суммы мест, на которых в слове X стоит буква "б". 4. Напишите программу для подсчёта в слове X всех сочетаний "нн". Считайте, что в слове "ннн" подслово "нн" встречается один раз. 5. Напишите программу, выясняющую, сколько раз в слове X встречается сочетание из первых двух букв слова Y. 6. Составьте программу, выясняющую сколько раз в слове X, начиная с нечётного места, встречается слово "ро". 7. Напишите программу, выясняющую, какая из букв (первая или последняя) встречается в слове X чаще. 8. Напишите программу для подсчёта числа букв "а" в слове X, стоящих на местах, номер которых кратен трем. 9. Напишите программу для подсчета числа букв "о", стоящих в слове X на местах, номер которых кратен 4. 10. Напишите программу для подсчёта числа букв "у" в слове Х, стоящих на нечётных местах. 11. Напишите программу для подсчета суммарного количества букв "м" и "н" в слове Y. 12. Напишите программу, проверяющую сколько раз первая буква слова X встречается в слове Y. 13. Напишите программу для подсчета количества слов в заданном тексте. 14. Напишите программу, выясняющую сколько раз вторая буква слова X встречается в слове Y на чётных местах. 15. Напишите программу для подсчета числа букв "о", стоящих после буквы "л" в слове X. 16. Подсчитайте, сколько различных символов слова Х употребляется в написании Х более одного раза. 17. Подсчитайте, сколько раз последняя буква слова Y встречается в слове Х. 18. Определите букву, чаще всего встречающуюся в слове Х. 19. Подсчитайте, сколько раз встречается в слове Х утроенное сочетание какой-либо одной буквы. Считать, что в слове "ннннн" подслово "ннн" встречается один раз. 20. Подсчитайте, сколько раз слово Y встречается в слове Х в качестве его подслова. 21. Подсчитайте, сколько букв надо исправить в слове Х, чтобы получилось слово Y (Х и Y - это слова одинаковой длины). 22. Подсчитайте, сколько одинаковых букв стоят на одних и тех же местах в словах Х и Y. 23. Подсчитайте, сколько раз встречается в слове Х подслово "нн". Считайте, что в слове "ннннн" подслово "нн" встречается два раза. 24. Определите, каких букв, "а" или "б", в слове Х больше. 25. Подсчитайте, сколько раз последняя буква слова Y встречается на чётных местах в слове X. 26. Подсчитайте число различных букв в слове X. 27. Подсчитайте, сколько раз в слове X встречается буква "а", за которой следует буква "б". 28. Подсчитайте, какое минимальное число букв необходимо заменить в слове X с тем, чтобы оно стало палиндромом? 29. Подсчитайте, сколько различных букв слова X используются при написании слова Y. 30. Напишите программу для подсчёта числа одинаковых букв в словах X и Y равной длины, стоящих на одних и тех же местах. 31. Подсчитайте, сколько раз встречается слово "ал" в заданном тексте. 32. Подсчитайте количество гласных букв в данном русском слове. 33. Подсчитайте, сколько раз первая буква слова встречается в этом слове. 34. В данной последовательности букв найдите количество повторений букв слова "луна". 35. Составьте таблицу слов данного предложения, начинающихся с буквы "А", с указанием количества повторений каждого слова. 36. Задано определённое количество конкретных сочетаний букв (например, "ущ", "ющ" и др.). Определить, сколько таких групп символов содержится в заданном тексте. 37. Напишите программу, определяющую количество различных букв, содержащихся в заданном слове. 38. Напишите программу, которая считает число слов в предложении, начинающихся на заданную букву. 39. Напишите программу, подсчитывающую количество предложений в тексте (предложение оканчивается символами ".", "?", "!"). 40. Напишите программу, подсчитывающую количество слов в предложении. 41. Подсчитайте количество слов заданного текста, начинающихся с гласной. 42. Подсчитайте количество гласных и согласных букв, содержащихся в заданном тексте. 43. Для каждого из слов заданного предложения укажите, сколько раз оно встречается в предложении. 44. Для каждой буквы из заданного текста укажите, сколько раз она встречается в тексте. 45. Для запоминания числа p иногда используют "магические" фразы, например: "это я знаю и помню прекрасно Пи многие знаки мне лишни напрасны" или "кто и шутя и скоро пожелаетъ Пи узнать число ужъ знаетъ". Число букв в каждом слове любой из данных фраз представляет собою некоторую цифру числа p: "это" - 3, "я" - 1, "знаю" - 4 и т.д. Выведите на экран число p, используя любую из указанных фраз. 46. Для заданного стринга, состоящего из цифр, напишите программу его преобразования в число. Учтите всевозможные варианты вводимой информации. 47. Для заданного текста определить длину содержащейся в нем максимальной последовательности букв, отличных от латинских. Поиск в словах 1. Найдите слово максимальной длины в заданном тексте. 2. Перечислите все слова заданного текста, которые состоят из тех же букв, что и первое слово текста. 3. В заданном тексте найти пару слов, из которых одно является обращением другого. 4. Из данного текста выберите слова, имеющие заданное число букв. 5. Составьте таблицу слов данного текста, начинающихся с буквы "А", с указанием количества повторений каждого слова.
ЛИТЕРАТУРА
|
||||
Последнее изменение этой страницы: 2016-08-15; просмотров: 765; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.54.190 (0.011 с.) |