Обработка символьных и строковых данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Обработка символьных и строковых данных



Теоретическая часть.

Для обработки символьной информации используются те же операторы Бейсика, что и для обработки числовой информации

Напомним, что имена символьных переменных записываются со знаком $ в конце, а символьные константы заключаются в двойные кавычки («….»)

Примеры:

1) 10 X$=«РЕШЕНИЕ № 1»

2) 10 X$=«РЕШЕНИЕ»

20 Y$=«№ 1»

30 PRINT X$;Y$ RUN РЕШЕНИЕ № 1

3) 10 READ A$,B$,C$

20 DATA «1 октября», «12 часов», «5 мин.»

30 PRINT A$;B$;C$

40 END

RUN

1 октября 12 часов 5 мин.

 

4) 10 DIM A$(4)

20 FOR I=1 TO 4

30 READ A$(I)

40 PRINT A$(I)

50 NEXT I

60 DATA «Понедельник», «Вторник», «Среда», «Четверг»

70 END

При обработке символьной информации можно использовать символьные функции:

1 ) LEN(X$) –определение количества символов в символьной переменной X$.

Пример:

10 PRINT LEN(«результат»)

RUN

2 ) STRING$(K,X$) – определяет количество повторений первого символа символьной переменной X$

Пример:

10 PRINT STRING$(4,”ALPHA”)

RUN

AAAA

Над символьными переменными, константами и функциями можно осуществлять операцию сцепления (+)

Пример:

10 PRINT STRING$(2, “ALFA”)+ STRING$(3, “BETA”)

RUN

AABBB

3 ) SPACE$(K) – формирует строку из K пробелов

Пример:

10 PRINT SPACE(5)

RUN

[ [ [ [ [

 

10 PRINT “А”+SPACE$(3)+”B”

RUN

A [ [ [ B

4) VAL (X$) –выделяет числа, находящиеся в начале значения переменной X$

 

Пример:

10 INPUT A$

20 V=VAL(A$)

30 PRINT V

RUN

21 июня 2000 г.

 

5 ) INSTR(N,X$,Y$) - определяет номер позиции первого вхождения цепочки символов Y$ в цепочку X$ начиная с N-го символа

Пример:

10 PRINT INSTR(“ABCDEFAB”, “AB”)

RUN

 

6 ) LEFT$(X$,N) – выделяет первые N символов переменной X$

 

7 ) RIGHT$(X$,N) - выделяет последние N символов справа из

символьной переменной X$

 

8) MID$(X$,N,M) – выделяет из цепочки X$ M символов, начиная с N-й позиции

 

Вопросы для контроля

 

1. Как обозначается символьная переменная?

2. Как записывается символьная переменная?

3. Какой функцией определяется количество символов в символьной переменной или константе?

4. Каково назначение функций STRING, VAL, INSTR, LEFT, RIGHT, MID?

 

Задание к контрольной работе № 8

Вариант Задание
  Составить схему алгоритма и программу для обработки заданного текста. Исходный текст и результаты вывести на печать.
1. Подсчитать длину каждого слова в тексте (20 слов).
2. Составить список букв, которыми заканчивается каждое слово (20 слов).
3. В списке слов заменить все шипящие на! (20 слов).
4. В тексте, состоящем из 5 строк, вывести строки по возрастанию количества входящих в них слов (вывести количество слов).
5. Найти самое длинное и самое короткое слово в тексте (20 слов).
6. В 5 предложениях определить длину (в словах) каждого предложения.
7. Дан текст и слово, найти сколько раз данное слово встречается в тексте.
8. Преобразовать данный текст, исключив из него союзы.
9. Составить список слов (из заданного текста), длина которых не превышает заданное количество букв.
10. В произвольном тексте (5 предл.) исключить разделительные знаки и затем расположить все слова текста в алфавитном порядке.
11. Составить программу, выделяющую заданные слова из произвольного текста.
12. В тексте (30 слов) подсчитать количество слов, начинающихся с гласной буквы, вывести их на печать в алфавитном порядке.
13. В тексте (20 слов) определить количество букв в каждом слове. Вывести слова текста, упорядоченные в алфавитном порядке в виде вектора. Рядом с каждым словом указать количество букв.
14. Обнаружить в заданном тексте слова, содержащие более 3 -х гласных букв, сначала распечатать их, а потом заменить гласные буквы символом "-" и снова распечатать их.
15. В произвольном тексте (30 слов) вывести на печать буквы, с которых начинаются слова в алфавитном порядке. Под ними расположить слова с соответствующими начальными буквами.
16. Заданы три числа, обозначающие число, месяц, год. Определить номер этого дня с начала года.
17. В произвольном тексте определить, имеются ли одинаковые символы. Указать их и определить количество повторений каждого.
18.     В произвольном тексте найти повторяющиеся слова, определить количество повторений каждого из них.
19. Задан текст (20 слов). Преобразовать его так, чтобы слова располагались по возрастанию количества входящих в них гласных.
20. Определить количество гласных и количество согласных букв, входящих в каждую строку текста (5 строк).
21. В тексте найти все слова, состоящие из одного слога и вывести их в столбец, отсортировав по мере увеличения количества символов.
22. Получить элементы данной последовательности символов в обратном порядке и определить имеются ли в последовательности одинаковые символы.
23. Дана строка символов. Каждое слово записать в обратном порядке. Вывести все слова, которые совпадают по написанию в исходной и результирующей строках. Если совпадений нет, вывести соответствующее сообщение.
24. В тексте на русском языке составить список слов, которые содержат более 3-х гласных букв.
25.   Задан текст 20-30 слов. Расположить все слова по алфавиту в виде таблицы.
26. В трех предложениях определить количество букв А в первом предложении и заменить их ”*”, Е во втором и заменить их пробелом, Н в третьем и заменить их ”!”. Если таких букв нет, вывести соответствующее сообщение.
27.     Задан текст из 5 строк. Расположить слова каждой строки по алфавиту.
28. Составить список гласных букв, используемых в главном тексте (20слов). Буквы расположить в алфавитном порядке с указанием их количества.
29. Из данного текста (20слов) выделить слова, содержащие 3 и более согласных букв.
30. Задан текст, состоящий из 20 слов. Слова расставить в порядке возрастания их длины.
31. Задан произвольный текст из 12 слов. Найти слова, со – держащие не более N букв. Остальные слова вывести в виде, урезанном до N букв.
32. Подсчитать количество шипящих в произвольном тексте, состоящем из 20 слов.
33. В произвольном тексте (30слов) подсчитать количество знаков препинания каждого типа.
34. Задан произвольный список из 20 слов. Выбрать из него слова,длина которых не превышает 6 букв. Расположить эти слова в порядке возрастания в них количества букв.
35. В тексте из 20 слов найти слово с наибольшим количеством гласных букв.
36. В заданном тексте из 30 слов заменить все гласные буквы символом ”*” и подсчитать количество замен.
37. Задан текст из 6-ти предложений. Найти предложение с наименьшим количеством слов.
38. В заданном тексте из 30 слов подсчитать, сколько раз встречается частица не. Слова расположить в алфавит ном порядке.
39. В тексте из 20 слов определить, какая из гласных букв встречается чаще всего. Вывести список гласных букв с указанием их количества.
40. В произвольном тексте из 10 предложений заменить все разделительные знаки символом «+». Расставить предложения в порядке возрастания количества входящих в них слов.
41. В тексте из 30 слов выписать все слова, начинающиеся с согласных букв и расставить их в алфавитном порядке.
42. В произвольном тексте из 8-ми предложений подсчитать, сколько раз встречается союз и (или) и заменить его на символ «*».  
43. В тексте из 20 слов в самом длинном слове расставить буквы по алфавиту.
44. В произвольном тексте из 20 слов,найти слово, содержа- щее наименьшее количество гласных букв и заменить их на символ «–».
45. В произвольном тексте из 10 предложений определить, какой из знаков препинания встречается чаще всего и заменить его символом «*».
46. В произвольном тексте из 10 предложений, расположить в алфавитном порядке слова в каждом предложении.
47. В произвольном тексте из 20 слов исключить слова, содер- жащие менее 3-х букв. Оставшиеся слова расположить в алфавитном порядке.
48. Дан текст из 20 слов. Выписать слова, начинающиеся на букву а и расположить их в порядке возрастания в них количества букв.
49. Дан текст из 15 слов. Поменять местами самое длинное и самое короткое слово.
50. Дан текст из 20 слов. Заменить в каждом слове первую и последнюю буквы символом «*». Слова расставить в алфавитном порядке.

 

Контрольная работа №9

СОЗДАНИЕ И ОБРАБОТКА ГРАФИЧЕСКИХ ИЗОБРАЖЕНИЙ

Теоретическая часть.

Перевод экрана в графический режим осуществляется с помощью оператора

SCREEN K, где К = 1 – режим средней разрешающей способности; К=2 – режим высокой разрешающей способности.

В графическом режиме можно выводить на экран отдельные точки, линии, различные геометрические фигуры и т.д.

Экран в зависимости от режима SCREEN 1 или SCREEN 2 имеет соответственно

320х200 и 640х200 точек.

Координаты точки экрана для операторов графики можно задавать как в абсолютной форме (x,y), x – горизонталь, y- вертикаль, так и относительно последней точки, которая устанавливается каждым оператором графики.

STEP (G,V) – определяет смещение относительно последней точки соответственно на величину G по горизонтали и V по вертикали.

В графическом режиме можно выводить и текстовую информацию по 40 символов в строке (SCREEN 1) или по 80 (SCREEN 2).

Для работы в графи чеком режиме используется следующее операторы:

CIRCLE (M,N),A

где M,N – координаты центра эллипса,

A – определяет Х-полуось, если E<=E1 (E2)

Чертится круг радиуса А, если Е=1

А определяет Y – полуось, в противном случае где:

E1=5/6 (SCREEN 1), E2=5/12 (SCREEN 2).

LINE [(M1,N1)]-(M2,N2)

В [ ] скобках приведены необязательные параметры. Этот оператор случит для вывода на экран прямой линии или прямоугольника с заданными параметрами.

Координаты (M1,N1), (M2,N2) определяют в абсолютной или относительной форме точки экрана, через которые проходит отрезок искомой прямой.

По умолчанию для параметра (M1, N1) определяются координатой точки последней ссылки.

PSET (M,N) – выводит на экран дисплея точки с указанными координатами (M,N)

Координаты (M,N) могут задаваться как в абсолютной, так и в относительной форме.

LOCATE M,N - устанавливает курсор в позицию экрана с заданными координатами M,N, где M – номер строки, а N- номер позиции в строке.

DRAW X$ - выводит на экран рисунок определяемый символьным параметром Х$, который содержит команды управления работой с графическим экраном. Команды перемещения начинают движение и вычерчивание линий с конечной точки предыдущего перемещения.

Смысл этих команд следующий:

Uk – перемещение вверх на расстояние k точек.

Dk - перемещение вниз на расстояние k точек.

Lk - перемещение влево на расстояние k точек.

Rk - перемещение вправо на расстояние k точек.

Ek – перемещение по диагонали вверх и вправо на k точек.

Ek - перемещение по диагонали вниз и вправо на k точек.

Gk - перемещение по диагонали вниз и влево на k точек.

Hk - перемещение по диагонали вверх и влево на k точек.

M x,y - абсолютное или относительное перемещение до точки с координатами (x,y).

GET (M1,N1) – (M2,N2), <имя> - служит помещения копии буфера экрана в заданный параметром <имя> числовой массив. Параметр (M1,N1) – (M2,N2) задает диагональ прямоугольной области экрана, копия содержимого которой помещается в числовой массив с именем <имя>.

PUT (M,N),<имя> - служит для восстановления содержимого экрана, ранее помещенного оператором GET в числовой массив <имя>. Параметры (M,N) и <имя> имеют тот же смысл, что и в операторе GET.

Примеры программ:

1)

10 SCREEN 2: INPUT “ЗАДАТЬ РЕБРО КУБА <133 ”;P: CLS

20 A=0: B=0: C=2*P: D=0: GOSUB 100:B=-P:D=B:GOSUB 100

30 B=0:C=0:GOSUB 100:A=2*P:C=A:GOSUB 100:A=0:B=-P:

40 C=P:D=-3/2*P:GOSUB 100:A=2*P:C=3*P:GOSUB 100

50 B=0:D=-.6*P:GOSUB 100:A=0:B=0:C=P:GOSUB 110

60 A=P:B=D:C=3*P:GOSUB 110:A=3*P:D=-3/2*P

70 GOSUB 100:A=P:B=D:GOSUB 100:C=P:D=-.6*P:GOSUB 100

80 INPUT “ЕЩЕ? (1-ДА,2-НЕТ)”;T: LOCATE 25,50

90 ON T GOTO 10: END:

100 LINE (10+A,199+B)-(10+C,199+D): RETURN

110 LINE (10+A,199+B)-(10+C,199+D),,,&H1111: RETURN

В данном примере запрашивается размер ребра куба и на его основе на экран по средством операторов LINE (строки 9-10)

выводится трехмерный куб с указанным ребром. На экран воспроизводится как видимые (сплошные), так и невидимые (пунктирные) ребра куба.

2)

10 CLS: ‘ Вывод на экран графика функции k=(x/46)^2

20 PRINT “Y=K*(X/46)^2”: LOCATE 2: SCREEN 2: A=100

30 LINE (10,100)-(600,100): LINE (305,0)-(305,199)

40 INPUT “ЗАДАТЬ К”,K: LOCATE 2: FOR L=-295 TO 295

50 PSET (305+L,A-K*(L/46)^2): NEXT: INPUT “ЕЩЕ? (Y/N”),A$

60 IF A$=”Y” OR A$=”y” THEN LOCATE 2:GOTO 3 ELSE END

В данной программе оператор PSET используется совместно с оператором LINE для вывода семейства графиков функции y=k*(x/46)^2 в зависимости от задаваемого значения для коэффициента <k>, лежащего в пределах –750 и 750.

 

Вопросы для контроля

1. Как осуществляется переход в графический режим?

2. Какова форма и смысл основных графических функций?

 

Задание к контрольной работе №9

 

  Вариант Функция Интервал изменения аргумента
      От до
    sin/x -3.14 3.14
    cos/x -3.14 3.14
    x/tgx 0.1 1.5
    1-exp(-x)    
    1/sinx   3.14
    1/cosx    
    x/lnx    
    X/sinx   3.5
    X/cosx    
    x/tgx    
    -10  
    X+sinx -3.14 3.14
    X+cosx -3.14 3.14
    -3.14 3.14
    -3.14 3.14
    Tgx   3.14
       
    -3.14 3.14
       
       
    -2  
    2sin    
    -3.14 3.14
    1/(1-exp(-x)) 0.01  
    exp(sinx) -5  
    0.1  
    0.1  
    sinx+tgx -3.14 3.14
    lnx+sinx    
       
       
  x/lnx    
  -3.14 3.14
     
  -10  
  Tg2x   3.14
  -3.14 3.14
  exp(sin2x) -5  
  0.1  
  0.1  
  3sinx+2tgx -3.14 3.14
     
     
     
     
     
     
  -10  
     
  -3.14 3.14
           

 

Приложение



Поделиться:


Последнее изменение этой страницы: 2016-09-20; просмотров: 361; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.144.32 (0.057 с.)