Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Составьте программу, которая позволяет переставить местами, введенные с клавиатуры через пробел, Вашу фамилию и имя.

Первый Московский Образовательный Комплекс

 

 

Основы алгоритмизации и программирования

Язык программирования Турбо Паскаль

Практическая работа №6

Работа со строковыми переменными

Методические указания

Разработала преподаватель Ивлиева А.Л.

Москва, 2015


Практическая работа №6.

Работа со строковыми переменными

Цель работы:   Научиться объявлять строковые переменные и применять процедуры и функции для строк.

Теоретическая справка

Максимальная длина строки в Паскаль 255 символов. Строки называются динамическими, потому что могут иметь меньшую длину в пределах объявленных границ. Строка объявляется в разделе VAR:

var имя: STRING [длина];

Длину строки указывать необязательно, тогда будет объявлена строка длиной 255 символов.

При попытке записать в переменную строку длиннее, чем объявлена, лишняя часть будет отсечена.

Значением строки может быть любая последовательность символов, заключенная в апострофы.

Строки можно сливать, присваивать и сравнивать.

Строки соединяются с помощью знака «+».

Например:

S1:=’город’;

S2:=’Москва’;

S:=S1+’ ‘+S2; {S=’город Москва’}

Строки равны, если имеют одинаковую длину и посимвольно эквивалентны.

 

Процедуры и функции Назначение
Редактирование строк
LENGTH(S) Выдает текущую длину строки Например: S:=’магазин’; n:=LENGTH(S); {n=7}
COPY(S,N,L) Возвращает подстроку длиной L, начинающуюся с позиции N строки S Например: S:=’автоматизация’; S1:=COPY(S,3,5); {S1=’томат’}
DELETE(S,N,L) Удаляет подстроку длиной L, начинающуюся с позиции N строки S Например: S:=’автоматизация’; DELETE(S,8,6); {S=’автомат’}
INSERT(SUB,S,N) Вставляет подстроку SUB, начиная с позиции N строки S Например: S1:=’пока’; S2:=’лом’; INSERT(S2,S1,3); {S1=’поломка’}
POS(SUB,S) Ищет первое вхождение подстроки SUB в строку S и возвращает номер первого символа SUB в S или 0, если S не содержит SUB Например: S:=’магазин’; n:=POS(‘а’,S); {n=2} m:=POS(‘газ’,S); {m=3} p:=POS(‘о’,S); {p=0}

 

Процедуры преобразования
STR(X,S) Преобразует числовое значение Х в строковое S. Возможно задание формата для Х
VAL(S,X,Y) Преобразует строковое значение S (строка цифр) в значение числовой переменной Х. Если преобразование не может быть выполнено, то в переменную Y записывается номер символа строки, который явился причиной неудачи преобразования. Если преобразование выполнено успешно, то значение Y равно нулю.

Пример:

Написать программу, которая делает из слова «строитель» слова «тир» и «тело».

program strings1;

uses crt;

 

var str,str1,str2:string[20];

n:integer;

 

begin

clrscr;

write('Введите слово:');

readln(str);

n:=length(str);

writeln('Длина введенного слова:',n);

str1:=copy(str,2,1)+copy(str,5,1)+copy(str,3,1);

str2:=copy(str,6,3)+copy(str,4,1);

writeln('Первое слово:',str1);

writeln('Второе слово:',str2);

readln

end.

Пример:

Написать программу, которая заменяет в слове "сверток" "ток" на "ло"

 

program string2;

uses crt;

var s:string;

n:integer;

 

begin

CLRSCR;

s:='сверток';

n:=pos('ток',s);

delete(s,n,3);

insert('ло',s,n);

writeln('Получилось слово ',s);

readln;

end.

Задание (на 3)

1. Определить сколько букв в слове автоматизация. Из слова автоматизация составить слова зима и заяц.

Program str_1;

Введите строку

автоматизация

n= 13 зима заяц

2. Определить сколько букв в слове технолог. Из слова технолог составить слова холл и лоно.

program str_ 2;

Введите строку

технолог

длина слова технолог = 8 холл лоно

3. Определить сколько букв в слове таблица. Из слова составить слова бита и бал.

Program str_3;

таблица

бита бал

4. Выведите строку погода хорошая

Program str_4;

5. Выведите строку Студент колледжа.

Program str_5;

Составьте программу, которая позволяет поменять местами данные, размещенные на двух разных строках и поместить их на одной строке. Строки, состоящие из двух слов, разделённых пробелом, вводятся с клавиатуры.

program str_6;

Введите в строку фамилию и имя

Сергей Шишков

Введите в строку фамилию и имя

Вячеслав Иванов

Поменяли местами, получилось = Вячеслав Иванов, Сергей Шишков

Введите предложение

судья свистит в свисток

Количество слов в предложении начинающихся буквой «с» = 3

7. Заменить в слове монах подстроку нах на ряки.

program str_7;

Введите строку

монах

Введите строку

ряки

моряки длина полученного слова= 6

8. Заменить в слове ведро подстроку др на сл.

program str_8;

Введите строку

ведро

Введите строку

сл

весло

9. Заменить в слове воск подстроку ск на да.

Program str_9;

воск

да

вода

10. Определить местоположение буквы р в слове информатика.

Program str_10;

11. Написать программу, которая по введенному символу выводит его код, соответствующий таблице Asci

Program str_11;

C

67

12. Написать программу, которая по введенному коду выведет символ, соответствующий таблице Asci.

Program str12;

65

A

Задания на 4

13. Из слова кипарис составить слово рапира.

Program str_13;

Введите строку: кипарис

рапира

14. Написать программу, которая выводит строку в обратном порядке.

Program str_14;

Введите строку: кипарис

сирапик

15. Используя процедуру VAL написать программу для преобразования строковой переменной в числовую, учитывая, что CODE - целая величина. Code=0,если нет ошибки).

7908 0

16. Составьте программу, которая предлагает ввести с клавиатуры две строки s и t и выводит на экран более длинную строку.

program str_16;

Введите строку s

институт

Введите строку t

группа

Более длинная строка =институт

17. Написать программу, которая удаляет из введенной с клавиатуры строки начальные пробелы.

Program str_17;

Введите строку

Студент 1 курса

Длина введенной строки 18

Студент 1 курса

Длина преобразованной строки = 15

18. Написать программу, которая по введенному символу выведет его код, соответствующий таблице Asci, и, наоборот, по введенному коду выведет соответствующий кодовой таблице Asci символ.

program str_18;

Ответ: L 76 L

19. Подсчитайте, сколько слов во введенном предложении начинается с буквы «c».

Program str_19;

Составьте программу, которая позволяет переставить местами, введенные с клавиатуры через пробел, Вашу фамилию и имя.

Введите в строку два слова разделяя их пробелом

Медведев Владислав

Пробел находится на позиции 9

Поменяли слова местами, получилось: Владислав Медведев

21. Введите в 2 строки свою фамилию и имя и определите, какая из них длиннее.

program str_21;

Введите фамилию: Медведев

Введите имя: Владислав

имя Владислав длиннее фамилии Медведев

22. Используя процедуру преобразования числовой переменной в строковую (STR), написать программу, которая выведет на экран Цена 100 рублей. Изначально переменная С:=100 целочисленная.

ОТВЕТ: Цена 100 руб

На 5

23. Написать программу, которая определяет длину введенной строки и количество пробелов в ней.

Program str_23;

Введите строку

Весна - это лучшее время года.

Количество символов = 30

Количество пробелов = 5

24. Написать программу, которая выводит на экран введенную строку в «телеграфном» стиле (буквы сообщения должны выдаваться по одной с некоторой задержкой). (Используйте процедуру sleep(500).

program str_24;

Рейс №56 задерживается!

25. Написать программу в которой следует определить количество символов и точек в введенной строке, состоящей из нескольких предложений.

program str_25;

Сегодня понедельник. До праздника осталось несколько дней.

длина строки 58. Количество точек 2.

26. Напишите программу, которая выводит код введенного пользователем символа. Программа должна завершать работу в результате введения точки.

Program str_26;

Ответ: Введите символ и нажмите.

Для завершения работы программы введите точку.

->5

Символ: *5 Код: 53

->.

Символ: *. Код: 46

Пока.....

27. Написать программу, которая проверяет, есть ли в введенной строке цифры и определяет их количество.

Program str_27;

Введите строку

15 января 2017 года мне исполнится 18 лет.

В строке есть цифры. Их 8.

28. Написать программу, которая проверяет, является ли введенная с клавиатуры строка целым числом.

Program str_28;

Введите строку

76.,8

Это строка

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...