Строковые переменные

Автор работы: Пользователь скрыл имя, 15 Марта 2010 в 15:23, Не определен

Описание работы

При решении задач в программировании выполняется обработка информации различного характера. Это могут быть целые и дробные величины, строки и другое. Соответственно константы и переменные должны быть описаны как целые, дробные, строковые и т.д.
Для описания множества допустимых значений величины и совокупности операций, в которых может участвовать данная величина, используется указание её типа данных. Тип данных (data type) – множество величин, объединенных определенной совокупностью допустимых операций. Каждый тип данных имеет свой диапазон значений и специальное зареверзированное слово для описания.

Файлы: 1 файл

строковые переменные.doc

— 225.00 Кб (Скачать файл)

      Var i:Integer;

      s: String;

      Begin

      Writeln (‘Введите текст’);

      Readln (s);

      i: =1;

      While i<Length(s) Do Begin

      If (s [i]=‘,’) And Not (s [i+1]=’  ‘)

      Then Insert (‘  ‘, s, i+1);

      Inc  (i)

      End;

      Writeln (s);

      Readln

      End.

Задания для  самостоятельной работы

    1.Написать программу для вывода последовательностей символов:

    а)ZYYXXX…AA..AA;

    в)ABC…ZZBC…ZZZC…ZZ..ZZ.

    2.Составить программу, которая выводит True, если в заданной строке буква ‘A’ встречается чаще, чем буква ‘B’, и False в противном случае.

    3.Проверить, правильно ли в заданном тексте расставлены круглые скобки (т.е. находится ли справа от каждой открывающей скобки соответствующая ей закрывающая скобка, а слева от каждой закрывающей – соответствующая ей открывающая).

    4.Подсчитать количество прописных латинских букв в строке.

    5.Удвоить вхождение некоторой буквы в текст. Например, при удваивании буквы ‘а’ текст ‘ мама папа’ должен превратиться в текст ‘маамаа паапаа’.

    6.Даны две строки. Вывести буквы, встречающиеся и в той и другой строках.

    7.Дан текст. Вывести все слова, начинающиеся с прописных букв латинского алфавита.

    8.Дан текст. Определить:

    длину самого короткого и самого длинного слов;

    количество слов, начинающихся и оканчивающихся одной и той же буквой;

    количество слов, в которых содержится хотя бы одна заданная буква;

    количество слов, которые содержат заданную букву определенное количество раз;

    количество слов, являющихся палиндромами.

    9.Дан текст. Вывести слова, встречающиеся в тексте по одному разу.

    10.Дан текст. Вывести различные слова.

      Примечание. Термин ‘текст’ в условиях задач следует понимать в смысле первого примера экспериментальной части данного занятия.

РАБОТА  СО СТРОКАМИ

 

      Тип String (строка) в Турбо Паскале широко используется для обработки текстов. Этот тип является стандартным и во многом похож на одномерный массив символов Array [0..N] of Char. Значение N соответствует количеству символов в строке и может меняться от 0 до 255. Символы, входящие в строку, занимают позиции с 1 до N. Начальный байт строки с индексом 0 содержит информацию о ее длине, т.е. это символ с кодом, равным длине строки.

      Можно также описывать переменные типа String[K], где K - целое число не больше 255. Так определяются строки с длиной не больше K. Этот тип уже не является стандартным. С символами строки можно работать как с элементами массива из символов, но в отличие от массивов, строки можно вводить целиком, сравнивать друг с другом и сцеплять операцией "+".

ПРИМЕР: Работа со строками.

var s,x,y,z:string;

begin

  x:='turbo';

  y:='pascal';

  z:=x+' '+y; { z='turbo pascal' }

  s:=''; { пустая строка }

  for c:='a' to 'z' do s:=s+c; { s='abcd..xyz' }

  writeln(s);

end.

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

ПРИМЕР: Сравнение строк.

'abcd' > 'abcD' { 'd'>'D' }

'abcd' > 'abc' { 'd'>'' }

'abc' < 'axxc' { 'b'<'x' }

'abcd' = 'abcd'

      Существует  ряд стандартных функций и  процедур для работы со строками.

  • Функция Length(s) выдает длину строки s.
  • Функция Concat(s1,s2,..,sn) возращает строку s1+s2+..+sn.
  • Функция Copy(s,p,k) возвращает фрагмент строки s, который начинается в позиции p и имеет длину k.
  • Функция Pos(s1,s) ищет первое вхождение подстроки s1 в строку s и возвращает номер первого символа s1 в строке s или 0 если не нашли.
  • Процедура Delete(s,p,k) удаляет из строки s фрагмент, который начинается в позиции p и имеет длину k.
  • Процедура Insert(s,s1,p) вставляет в строку s подстроку s1, начиная с заданной позиции p.

      Турбо Паскаль позволяет производить преобразования числовых значений в строковые и наоборот. Для этого используются процедуры Str(X:n:d,S) и Val(S,X,e). Первая получает их числа X строку S с изображением этого числа, в которой не менее n символов и из них d знаков после запятой. Параметры n и d необязательные. Вторая процедура получает из строки S число X. При успешном результате e=0.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Урок 1

Вид урока: лекция.

Тема: «Понятие строковой переменной».

Цель: • познакомить учащихся с новым типом переменных;

           • развить память, мышление;

           • воспитание сознательной дисциплины  учащихся на уроке; 

План.

1. Орг. момент.

2. Изложение  нового материала.

3. Закрепление  нового материала (решение задач).

4. Итог, домашнее  задание. 

Ход урока.

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

   Строковое значение заключается  в апострофы. Например, ‘A + B’,     ‘урок’, ‘5 + 4’,    ’45’.

   Строка, не содержащая ни одного  символа, называется пустой (  ’  ’).

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

   В Pascal строковый тип переменных задается в разделе описания переменных с помощью ключевого слова string. При этом можно указать количество символов в строке.

Например, var  A: string [5]. 

   Если количество символов не  указано, то оно по умолчанию  считается равным 255. Значения строковых  переменных задаются либо оператором присваивания ( := ), либо операторами read или readln, позволяющими вводить эти значения с клавиатуры. 

   Напишем программу – приветствие:  ЭВМ запрашивает ваше имя, затем  выводит сообщение «Здравствуй,  …!».

program  privet;

             uses crt;

             var  A: string;

begin

            clrscr;

            write (‘введите ваше имя’);

            readln (A);

            write (‘Здравствуй, ’, А, ‘!’);

            readln

end. 

   К строкам можно применять  операцию объединения «+», называемую  сцеплением или конкатенацией.

 

 Например,  а:= ‘пар’                                      а:=’20’

                       в:= ‘ад’                                        в:= ‘04’

                      с:=а+в   (парад)                           с:= а+в  (2004) 

Физкультминутка. 

III. Разобрать с ребятами программу.

program  slovo;

              uses crt;

              var a, b, c, d, k, l, m, n: string;

begin

           clrscr;

           a:= ‘пар’;

           b:= ‘ом’;

           c:= ‘с’;

           d:= ‘ад’;

           k:= a + b;    l:= c + b;   m:= c + d;   n:= a + d;

           write (k, ‘ ’, l, ‘ ‘, m, ‘ ‘, n  );

           readln

end.

   В результате работы этой программы  на экране появятся следующие  слова: паром сом сад парад 
 

IV. Домашнее задание:

1) выучить определения;

2) написать  программу получения слов: пароход, паровоз, пароварка. 

  
 
 
 
 
 
 
 
 
 
 
 

Урок 2

Вид урока: практическая работа.

Тема: «Объединение строк».

Цель: • совершенствование ЗУН учащихся;

          • развитие алгоритмического  мышления, памяти;

          • воспитание бережного обращения  с компьютерной техникой. 

План.

1. Орг.момент.

2. Проверка  домашнего задания.

3. Самостоятельная  работа учащихся за компьютером.

4. Итог, домашнее задание. 

Ход урока.

I. Провести инструктаж по ТБ. 

II. Проверить домашнее задание (вызвать одного ученика к доске).

Пока  ученик пишет программу на доске, провести устный опрос.

- дайте  определение строки;

- какая  строка называется пустой?

- какие  переменные называются строковыми?

- какую  операцию можно применять к строковым переменным? 

Физкультминутка. 

III. Задания для самостоятельной работы. 

1. Применить  операцию конкатенации к переменным  A, B, C, D и E так, чтобы получилось указанное в таблице значение переменной Х 

A B C D E X
ворон про ил а енка ворона проворонила вороненка
кормила ку ка ш он кукушка кормила  кукушонка
черт заказать - моя еж мечта заказать чертеж – моя мечта
пар ад надо смотреть по надо посмотреть парад
двор а е трав на на дворе  трава

Информация о работе Строковые переменные