Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Строки в Pascal

Содержание

Строка - это массив символов, т.е. элементов типа char. В Паскале строке соответствует тип данных String.var Имя : string [Длина];Если длина не указана, выделяется память под строку до 255 символов. Теория
Автор: учитель информатикиМКОУ Плесской СОШЮдин А.Б.2012 годСтроки  в Pascal Строка - это массив символов, т.е. элементов типа char. В Паскале строке Правила:строки равны только при одинаковом наборе символов и одинаковой длине; Например: 'ABC'='ABC' Теория Функция LengthФункция Length(S) определяет текущую длину строки S. Результат — значение целого Uses crt;var a,b:string;    m,n:Integer;Begin Clrscr; Writeln('ВВеди первую строку ');Readln(a); Функция Сору Функция Сору(S, P, N) выделяет из строки S подстроку длиной Задача 3. Составить программу осуществляющую вырезку из слова ИНФОРМАТИКА букв так, что Преобразование типов Процедура val позволяет преобразовать цифровые символы (изображение числа) в число. В общем Преобразование типов s1:='ABCDE123456789';val(s1,n,code);Writeln(n);В PascalABC есть более развитый арсенал преобразований как в DELPHI:S:=IntToStr(N) - преобразует Преобразование типов Символы и их коды Символы и их коды Задача 7. Дана строка символов. Определить сколько раз в ней встречается буква Замечание Подсчет символов в строке Замена символов в строке Замена символов в строке Задача 9 Удалить из строки введенной с клавиатуры все буквы R (латинские, Удаление символов из строки Вложенные условия. Вложенные условия Вложенные циклы Вложенные циклы
Слайды презентации

Слайд 2 Строка - это массив символов, т.е. элементов типа

Строка - это массив символов, т.е. элементов типа char. В Паскале

char. В Паскале строке соответствует тип данных String.
var Имя

: string [Длина];

Если длина не указана, выделяется память под строку до 255 символов.

Теория 1

var s1:string;

строка 255 символов

var s2:string[20];

строка 20 символов


Слайд 3 Правила:
строки равны только при одинаковом наборе символов и

Правила:строки равны только при одинаковом наборе символов и одинаковой длине; Например:

одинаковой длине;
Например: 'ABC'='ABC' и 'ABC'≠'abc'

иначе происходит поэлементное

сравнение символов
по их кодам:
'0'<'1'<...<'9'<'A'<...<'Z'<'a'<...<'z'<символы кириллицы
Например: 'ADS'<'АДС'
65+68+83 < 192+196+209 (По таблице ASCII)

Сравнение двух строк

Теория 2

Сумма кодов строки S1

Сумма кодов строки S1>S2,


Слайд 4 Теория

Теория

3

Соединение двух строк.

s1:='2011' + ' год';
Writeln(s1);

s1:='10';
s2:='класс';
s3:=s1+' '+s2;
Writeln(s3);


Слайд 5 Функция Length
Функция Length(S) определяет текущую длину строки S.

Функция LengthФункция Length(S) определяет текущую длину строки S. Результат — значение


Результат — значение целого типа.
Теория

4

PROGRAM Dlina_1;
VAR S : STRING;
n:INTEGER;
BEGIN
Writeln(введите слово ') ; Readln(S);
n:= Length (S) ;
Writeln(‘введите слово ', n:5 ,' букв..');
END.


Записываем длину строки в переменную целого типа

PROGRAM Dlina_2;
VAR S : STRING;
BEGIN
Writeln(’введите слово’) ; Readln(S);
Writeln(’слово состоит из ’, Length (S) ,’букв. ’);
END.


Выводим на экран длину строки, как результат выполнения функции

Задача 1. Составить программу подсчитывающую количество букв в слове.


Слайд 6 Uses crt;
var a,b:string;
m,n:Integer;
Begin
Clrscr;

Uses crt;var a,b:string;  m,n:Integer;Begin Clrscr; Writeln('ВВеди первую строку ');Readln(a); Writeln('ВВеди

Writeln('ВВеди первую строку ');Readln(a);
Writeln('ВВеди вторую строку ');Readln(b);
m:=Length(a);

n:=Length(b);
if (m=n) then writeln('Строки равны');
if (m>n) then writeln('Первая больше');
if (mEnd.

Задача 2. Сравнить длину двух строк введенных с клавиатуры.


Вычисляем длину строк


Сравниваем длины и выводим соответствующие пояснения

Задача на сравнение строк 5


Слайд 7 Функция Сору
Функция Сору(S, P, N) выделяет из

Функция Сору Функция Сору(S, P, N) выделяет из строки S подстроку

строки S подстроку длиной N символов, начиная с позиции

P. Здесь N и P – целочисленные выражения.

Теория 6

В фразе МАМА МЫЛА РАМУ слово РАМУ начинается с 11 буквы и состоит из 4 букв
COPY(s1,11,4)


Слайд 8 Задача 3. Составить программу осуществляющую вырезку из слова

Задача 3. Составить программу осуществляющую вырезку из слова ИНФОРМАТИКА букв так,

ИНФОРМАТИКА букв так, что бы из них получилось слово

ТОРТ.

Program n3_1;
Uses crt;
var a,b,c,d:string;
Begin
Clrscr;
a:='информатика';
b:='';
c:=copy(a,8,1);
d:=copy(a,4,2);
b:=c+d+c;
writeln(b);
End.

Задача на составление строк 7


Используем функцию работы с символьными переменными
COPY

Второй вариант:
Program n3_2;
Uses crt;
var a,b:string;
Begin
Clrscr;
a:=‘информатика';
b:=a[8]+a[4]+a[5]+a[8];
writeln(b);
End.


Используем определение строки как массива символов


Слайд 9 Преобразование типов

Преобразование типов

8

Функция STR

Str(x, S) преобразует число x в строковый формат. Где x – любое числовое выражение, S – строковая переменная.

Задача 4 . Составьте программу которая выводит первую и последнюю цифру натурального числа, введенного с клавиатуры.

PROGRAM Primer;
uses Crt;
VAR S: STRING;
n:INTEGER;
BEGIN
Write('Введи число ');readln(n);
Str(n,S);
Writeln('Первая цифра -',S[1]);
Writeln('Последняя цифра - ',S[length(S)]);
END.

Преобразуем натуральное число в строку



Слайд 10 Процедура val позволяет преобразовать цифровые символы (изображение числа)

Процедура val позволяет преобразовать цифровые символы (изображение числа) в число. В

в число. В общем виде обращение к процедуре выглядит

так:
VAL (Строка, Число, Код) ;
где Строка – строковая константа или переменная, содержащая изображение числа;
Число – переменная целого или дробного типа, которой должно быть присвоено значение
Код – возвращаемый процедурой код ошибки (целое число)

Преобразование типов 9

Процедура VAL


Слайд 11 Преобразование типов

Преобразование типов

10

BEGIN
s1:='123456789';
val(s1,n,code);
Writeln(n);
END.

BEGIN
s1:='123456789ABCDE';
val(s1,n,code);
Writeln(n);
END.




Слайд 12 s1:='ABCDE123456789';
val(s1,n,code);
Writeln(n);

В PascalABC есть более развитый арсенал
преобразований как

s1:='ABCDE123456789';val(s1,n,code);Writeln(n);В PascalABC есть более развитый арсенал преобразований как в DELPHI:S:=IntToStr(N) -

в DELPHI:

S:=IntToStr(N) - преобразует целое число к строке;
n:=StrToInt(S) -

преобразует строку в целое число
S:=FloatToStr(r) - преобразует вещественное число к строке
R:=StrToFloat(s) преобразует строку в вещественное число.
Если преобразование невозможно, то возникает ошибка времени выполнения

Преобразование типов 11


Слайд 13 Преобразование типов

Преобразование типов

12

Задача 5. Дано строка символов а1+а2=. Где 1<=а1 и а2<=9. Составить программу, вычисляющую это выражение. Измените программу так, что бы вместо знака «+» можно было писать «-», «*», «/».

VAR S: STRING; a,b,c:real;
code:INTEGER;
BEGIN
Write(‘Введи выражение = ');read(s);
val(s[1],a,code);
val(s[3],b,code);
if (s[2]='+') then c:=a+b;
if (s[2]='-') then c:=a-b;
if (s[2]='*') then c:=a*b;
if (s[2]='/') then c:=a/b;
clrscr;
Writeln(s,c);
END.

Из строки берем первый и третий символ и преобразуем в число



Слайд 14 Символы и их коды

Символы и их коды

13

Функции ORD и CHR

Функция Ord(S) – определяет порядковый номер символа.

Функция Chr(i) – определяет символ с порядковым номером i


По номеру 255 выводим символ из кодовой таблицы Я


Слайд 15 Символы и их коды

Символы и их коды

14

Задача 6. Составьте программу, которая по символу введенному с клавиатуры, выводит его номер в кодовой таблице.

PROGRAM Primer;
uses Crt;
VAR S: char;
n,code:INTEGER;
BEGIN
Write('Введи символ ');readln(s);
Writeln('Символ ', s ,' имеет код -',ord(s));
END.

Функция ORD работает только символьным типом данных



Слайд 16 Задача 7. Дана строка символов. Определить сколько раз

Задача 7. Дана строка символов. Определить сколько раз в ней встречается

в ней встречается буква А (русская).
Program n5;
Uses Crt;
Var

s:string;
i,k:integer;
begin
ClrScr;
Write('ВВеди строку '); readln(s);
k:=0;
for i:=1 to length(s) do if (s[i]='А') then k:=k+1;
writeln('Буква А встречается = ', k:8,' раз');
end.

Перебираем от 1 до последней буквы

Если на i-ом месте стоит А увеличиваем К на 1



Подсчет символов в строке 15


Слайд 17 Замечание

Замечание

16

for i:=1 to length(s) do begin
if (s[i]=……
if (s[i]=……
end;

Замечание. Если требуется поиск нескольких символов в строке, то условия заключаем в программные скобки BEGIN … END


Слайд 18 Подсчет символов в строке

Подсчет символов в строке

17

Начало

Ввод S

i,1,length(s)

Si ='A'

К=К+1

Вывод К

Конец

Да

Нет

Блок-схема к задаче подсчета букв А в строке

К=0


Слайд 19 Замена символов в строке

Замена символов в строке

18

Задача 8. Дана строка символов. Заменить в ней все буквы А на букву О.

Program n6;
Uses Crt;
Var s:string;
i:integer;
begin
ClrScr;
Write('ВВеди строку '); readln(s);
for i:=1 to length(s) do if (s[i]='A') then s[i]:='O';
writeln(s);
end.

Перебираем от 1 до последней буквы


Если на i-ом месте стоит А ставим на i-е место О.



Слайд 20 Замена символов в строке

Замена символов в строке

19

Начало

Ввод S

i,1,length(s)

Si ='A'

Si ='O'

Вывод S

Конец

Да

Нет

Блок-схема к задаче замен буквы А на О


Слайд 21 Задача 9 Удалить из строки введенной с клавиатуры

Задача 9 Удалить из строки введенной с клавиатуры все буквы R

все буквы R (латинские, заглавные).
Program n7;
Uses Crt;
var a,b:String;

i:integer;
begin
ClrScr;
Write('ВВеди строку = ');readln(a);
b:='';
for i:=1 to length(a) do if (a[i]<>‘R') then b:=b+a[i];
a:=b;
writeln(a);
end.

Перебираем от 1 до последней буквы



Подготавливаем дополнительную переменную


Если на i-ом месте не стоит R то прибавляем эту букву к тому, что есть в B


То, что получилось в В перемещаем обратно в А

Удаление символов из строки 20


Слайд 22 Удаление символов из строки

Удаление символов из строки

21

Начало

Ввод A

i,1,length(A)

Ai <>'R'

B=B+ Ai

Вывод А

Конец

Да

Нет

Блок-схема к задаче удаления букв R из строки

B=''

A=B


Слайд 23 Вложенные условия.

Вложенные условия.

22

begin
clRscr;
Readln(s);
for i:=1 to length(s) do
if (s[i]='а') or (s[i]='б') then
if (s[i]='а') then s[i]:='б' else s[i]:='а';
writeln(s);
end.

Задача 10. В заданном тексте везде букву "а" заменить на букву "б",  а букву "б" - на букву "а".


Из всей строки нам нужно выбрать только А и Б


И только после осуществлять замену


Слайд 24 Вложенные условия

Вложенные условия

23

Начало

Ввод S

i, 1, length(S)


Si ='а'

Si ='б'

Si ='а'

Вывод S

Конец

Si ='а' или Si ='б'

Да

Нет

Да

Нет

Блок-схема к задаче замены А на Б и наоборот


Слайд 25 Вложенные циклы

Вложенные циклы

24

begin
ClrScr;
Write('ВВеди строку '); readln(s);
s1:=',.;:"!?-';
for i:=1 to length(s1) do begin
k:=0;
for j:=1 to length(s) do if (s[j]=s1[i]) then k:=k+1;
if (k<>0) then writeln(s1[i],' - ',k:5,' раз');
end;
end.

Задача 11. Дана строка символов, содержащая знаки препинания. Подсчитать какие и сколько знаков препинания содержит строка.




Внешний цикл, осуществляющий перебор знаков записанных в S1

Тело внешнего цикла содержит цикл, отвечающий за перебор символов введенной строки


  • Имя файла: stroki-v-pascal.pptx
  • Количество просмотров: 155
  • Количество скачиваний: 0