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


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



ЗНАЕТЕ ЛИ ВЫ?

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



 

Изменить цену товара, применив: copy, delete, val, str, insert.

 

Program Primer9; uses crt;

var a,b: string;

x,y,p,r: integer;

Begin

clrscr;

a:='Цена товара 100 руб.'; { начальная фраза }

p:=pos('1',a); { позиция цифры 1 }

b:=copy(a,p,3); { вырезка числа 100 }

delete(a,p,3); { удаление числа 100 из фразы }

val(b,x,r); { преобразование '100' в число 100 }

y:=2*x; { изменение числа 100 }

str(y:4,b); { преобразование 200 в константу '200' }

insert(b,a,p); { вставка '200' }

writeln(a); { печать полученной фразы }

readkey;

End.

 

З А Д А Н И Я:

 

1. Набрать и исполнить программу.

 

2. Уменьшить начальную цену до 1 и получить 2000.

 

3. Из фразы "Сашеньке вчера исполняется 120 лет" получить фразу

"Саше завтра исполняется 12 лет", используя процедуры и функции.

 

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 27

 

ОБРАБОТКА СИМВОЛЬНЫХ И СТРОКОВЫХ ВЕЛИЧИН 2

З А Г А Д К А

 

Задать пользователю загадку и похвалить его за правильный ответ.

 

Program Primer10; uses crt;

var otg,name,a: string;

Begin

clrscr;

write('Здравствуйте. Как Вас зовут? '); readln(name);

clrscr; writeln;

writeln(name,', отгадайте загадку: ');

a:='Висит груша,нельзя скушать.';

Repeat

write(a,' Отгадка: '); readln(otg); clrscr; {только READLN}

until (otg='лампа') or (otg='лампочка');

writeln;

writeln;

writeln('Молодец, ',name,'! До свидания!');

readkey;

End.

 

З А Д А Н И Я:

 

1. Набрать и исполнить программу.

 

2. Ввести свою загадку и ответ. Предусмотреть различные способы ввода отгадки.

 

3. "Спрятать" в программе отгадку и вызывать ее с помощью строковых процедур и функций.

 

4. Установить пароль для защиты текста от неразрешённого доступа.

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 28

ОБРАБОТКА СИМВОЛЬНЫХ И СТРОКОВЫХ ВЕЛИЧИН 3

 

Получить перевертыш: ОГОРОД - ДОРОГО.

 

Program Primer11; uses crt;

var a: string;

i,l: integer;

Begin

clrscr;

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

clrscr; { for i:=length(a) downto 1 do write(a[i]); }

writeln(a);

l:=length(a);

for i:=l downto 1 do writeln(copy(a,i,1));

readkey;

End.

Очень давно слово "АБРАКАДАБРА" записывали определенным образом на ткани и это заклинание носили в виде шарфика вокруг шеи. Считалось, что заклинание защищает от малярии и других болезней. Получить эту запись в виде треугольника.

 

Program Primer12; uses crt; Программу можно написать

var a: string; и другими способами.

i, k: integer;

Begin Можете подумать на досуге.

clrscr;

a:='a b r a k a d a b r a';

k:=0;

for i:=1 to 11 do

Begin

gotoxy(30+i,9+i);

delete(a,22-k,2);

write(a);k:=k+2

end;

readkey;

End.

З А Д А Н И Я:

 

1. Набрать и исполнить программы. Разобраться в работе программ.

 

2. Ввести слово произвольной длины и напечатать его в виде

треугольника: 1)Л 2) ЛИПА 3) ЛИПА 4) ЛИПКА

ЛИ ЛИП ИПА ИПК

ЛИП ЛИ ПА П

ЛИПА Л А

 

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 29

ОБРАБОТКА СИМВОЛЬНЫХ ВЕЛИЧИН 4

 

Задача: Ввести с клавиатуры предложение.

1. Подсчитать в нем количество всех символов.

2. Подсчитать количество букв "а".

3. Заменить запятые пробелами.

4. Осуществить движение первых двух символов вниз.

 

Program Simwol; Uses crt;

var a, { начальное предложение }

b, { промежуточная переменная }

c: string; { конечное предложение }

i, { переменная цикла }

k, { счетчик символов "а" }

l: integer; { счетчик символов }

Begin

clrscr;

write('Введите предложение:'); readln(a);

l:=length(a);

writeln('В предложении содержится ',l,' символов');

k:=0; b:=''; c:='';

for i:=1 to l do begin b:=copy(a,i,1); if b='a' then k:=k+1 end;

writeln('В предложении содержится ',k,' символов "a");

for i:=1 to l do

Begin

b:=copy(a,i,1);

if b<>',' then c:=c+b else c:=c+' '

end;

delay(6000); { временная задержка вывода (пауза) }

clrscr; write(c);

b:=copy(c,1,2);

for i:=2 to 22 do

Begin

gotoxy(1,i); write(b); delay(500); { печать двух символов }

gotoxy(1,i); write(' ') { стирание этих символов }

end; readkey;

End.

 

З А Д А Н И Я:

 

1. Набрать и исполнить программу.

 

2. Разобраться в работе программы.

 

3. Заменить движение первых двух символов на движение слова.

 

4. Заменить движение слова по вертикали на движение по наклонной.

 

5. Заменить движение слова на перемещение букв этого слова по одной.

М А С С И В Ы

 

ПОСТАНОВКА ЗАДАЧИ - существует большое число задач, требующих много

однотипных переменных. Например, присвоить переменным значения среднесуточных температур в течение года.

Работать с таким количеством переменных очень трудно: процесс описания, присваивания, способы обработки переменных и т.д.

 

РЕШЕНИЕ ЗАДАЧИ - введем новое понятие - массив.

МАССИВ - это упорядоченный по номерам набор значений, объединенных общим типом и именем. Упорядоченность в том, что элементы массива располагаются в последовательных, пронумерованных ячейках памяти. Массив имеет фиксированные: имя, тип и количество значений. Массиву выделяется место в памяти.

Элементы массива - это переменные с индексами. Индексы можно вычислять.

 

ОПРЕДЕЛЕНИЕ МАССИВА - массивы, как и простые переменные, подлежат описанию в разделе переменных:

 

VAR <имя>: ARRAY[<min индекс..max индекс>] OF <тип элементов>;

 

array (эррэй) - массив. of (оф) - из.

Тип индексов - любой скалярный тип кроме real. Индексы можно вычислять.

Тип элементов - любой для данной версии языка.

[min..max] - размер массива. min - нижняя, max –верхняя границы индексов. min<=max. Границы можно задать с помощью переменных.

 

Можно задавать постоянный массив:

const x: array [1..10] of integer=(4,6,3,5,2,1,7,8,9,13);

const x: array [1..8] of char=('a','b','c','d','e','f','g','h');

Элементы таких массивов являются константами.

 

Если массивы одинаковы и отличаются лишь именами, то их можно описать в одной строке:

var a,b,c:array[1..n] of real;, где n -верхняя граница индекса и n описывается в разделе констант.

 

ВИДЫ МАССИВОВ:

 

Одномерные - ряд элементов. B[5] - 5-ый элемент массива.

Двумерные - таблицы. B[3,5] - элемент таблицы B,стоящий в 3 строке и в 5 столбце.

Многомерные - ряд таблиц (изучаются в Вузе).

 

ЗАПОЛНЕНИЕ МАССИВА:

1. С помощью CONST.

2. С помощью READ и циклической конструкции.

3. Часто требуется обнуление ячеек массива. For I:=1 to n do A[I]:=0;

4. Для отладки программ и для программирования игр, тестов применяют заполнение массива случайными числами. randomize; For I:=1 to n do A[I]:=random(q-p+1)+p; q³p

5. Присваивание значений. A[1]:=7; A[2]:=77; A[3}:=33; и т. д.


 

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 30

ЗАПОЛНЕНИЕ И ВЫВОД МАССИВОВ

 

Заполнить и вывести на экран одномерный массив целых чисел.

 

Program Primer1; uses crt;

var a: array[1..5] of integer;

i: integer;

Begin

clrscr;

{******* заполнение массива c клавиатуры *******}

for i:=1 to 5 do

Begin

write('a[',i,']='); readln(a[i]);

end;

clrscr;

{***** вывод массива на экран *****}

Write(‘Массив А: ’); for i:=1 to 5 do write(a[i],’ ‘);

readkey;

End.

 

 

З А Д А Н И Я:

 

1. Набрать и исполнить программу.

 

2. Увеличить число элементов массива.

 

3. Описать размерность массива с помощью переменных.

 

4. Оформить программу с помощью процедуры ввода массива и процедуры вывода массива на экран.

 

5. Заполнить массив нулями.

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 31

ЗАПОЛНЕНИЕ И ВЫВОД МАССИВОВ (продолжение)

 

 

Заполнить и вывести на экран одномерный массив символов.

 

Program Primer2; uses crt;

const a: array[1..5] of char=('a','b','c','d','e');

procedure Print(n: integer);

var i: integer;

Begin

for i:=1 to n do write (a[i]:2)

end;

Begin

clrscr;

write('Массив А: '); Print(5);

readkey;

End.

 

 

З А Д А Н И Я:

 

1. Набрать и исполнить программу.

 

2. Вывести на экран первые 3 буквы.

 

3. Вместе с тремя буквами вывести на экран последнюю букву.

 

3. Заполнить массив дробными и отрицательными значениями.

 

4. Заполнить и вывести на экран одномерный массив, содержащий 200 одинаковых элементов.

 

5. Вывести элементы построчно (используйте wherex, см. практическое занятие 17).

 

6. Вывести элементы в указанной с клавиатуры строке экрана.

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 32

 

ОБРАБОТКА ОДНОМЕРНЫХ ЧИСЛОВЫХ МАССИВОВ.

#1. СУММИРОВАНИЕ ЭЛЕМЕНТОВ МАССИВА

 

ПОСТАНОВКА ЗАДАЧИ: Найти сумму элементов одномерного массива.

Найти среднее арифметическое.

Program Summa; uses crt;

const n=5;

var a: array[1..n] of integer;

m,i,s: integer; Автоматическое заполнение

случайными числами от1 до20

procedure Input; Procedure Input;

begin begin

for i:=1 to n do p:=1; q:=20; randomize;

begin for i:=1 to n do a[i]:=random(q-p+1)+p;

write('a[',i,']='); readln(a[i]); end;

End

end;

procedure Print;

Begin

write('Массив целых чисел А: ');

for i:=1 to n do write(' ',a[i])

writeln; writeln; { пропуск строки }

end;

procedure Sum(m: integer);

Begin

s:=0;

for i:=1 to m do s:=s+a[i];

end;

Begin

ClrScr;

Input; { заполнение массива из 5 элементов }

ClrScr;

Print; { печать заполненного массива }

write('Сколько элементов суммировать: '); readln(m);

Sum(m); writeln; { суммирование m элементов массива }

writeln('Сумма ',m,' элементов массива равна: ', s);

{ суммирование всех элементов массива }

Sum(n); writeln;

writeln('Сумма всех ',n,' элементов массива равна: ', s);

Write ('Среднее арифметическое всех элементов равно ', s/n);

Readkey;

End.

З А Д А Н И Я:

1. Набрать и исполнить программу.

2. Увеличить число элементов массива.

3. Найти сумму 8 элементов массива.

4. Осуществить ввод количества элементов массива с клавиатуры.


 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 33

 

# 2. ОБРАБОТКА ОДНОМЕРНЫХ ЧИСЛОВЫХ МАССИВОВ



Поделиться:


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

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