Описание символьных и строковых переменных в Pascal ABC
14 ма я группа № 13 (Информатика и ИКТ)
Урок № 73
Тема программы: Работа с символьной информацией
Тема урока: Решение задач с использованием символьных величин и строк символов
Цель: научиться решать задачи с использованием символьных величин и строк символов.
ПЛАН
1. Повторение теории
2. Решение задач
3.Самостоятельная работа
Теоретические сведения
Символьная переменная - величина, значением которой является один символ (буква, цифра, знак).
Строковая переменная - величина, значением которой является последовательность символов.
Значения символьных и строковых величин заключаются в апострофы (одиночные кавычки).
Например, 'A', '5', 'Минск'.
Длина строки - это количество символов в строке. Максимальная длинна строки в Pascal ABC - 255 символов.
Описание символьных и строковых переменных в Pascal ABC
Var s:string; {строковая переменная}
t:char; {символьная переменная}
Если известна длинная строки, например 20 символов, то для экономии памяти строку можно описать в следующем виде:
Var s1:string[20];
Чтобы в программе обратиться к конкретному символу строки, надо указать имя строковой переменной и индекс (порядковый номер) символа в строке. Запись s[1] обозначает первый символ строки s, s[i] - i-й символ строки s.
Два следующих друг за другом апострофа ('') обозначают пустую строку, т. е. строку с нулевой длинной.
Операции над символьными и строковыми переменными
1. Операции отношения <, >, <=, >=, =, <>. При сравнении строк сравниваются их коды ASCII. Сначала сравниваются первые символы строк. Большим из них считается тот, код которого больше. Если равны первые символы, то так же анализируется следующая пара до тех пор, пока не будет найдено различие. Если символы строк совпадают и первая строка короче второй, то вторая автоматически считается больше.
2. Операция конкатенации (соединения) +. Ее результатом является строка. Например, 'ab' + 'cd' = 'abcd'. Длинна строки, полученной соединением других строк, не должна превышать 255 символов, в противном случае программа завершится сообщением об ошибке.
Решение задач
Задача 1. В паскаль составить программу. Дан текст состоящий из слов , разделенных одним или несколькими пробелами, определить сколько слов в тексте.
Program enot;
Var s: string;
i,n,k:integer;
begin
read(s);
n:= length (s);
k:=0;
for i:= 1 to n do
if s[i]=' ' then k:=k+1;
writeln('vsego slov = ',k+1);
end.
Задача 2. Определить сколько цифр содержится в записи произвольного натурального числа.
- переменная s, которая вводится с клавиатуры, имеет строковый тип и переменная x, имеет целый тип данных;
- переменная k, определяется как целая и обозначает количество цифр;
- текст программы:
Program pr3;
Var s: string;
x, k: integer;
Begin
Writeln(‘введите число’);
Readln(x);
Str( x, s);
k:=length(s);
Writeln(‘в числе ‘,k,’ цифр’);
Readln;
End.
Задача 3. Дан текст, состоящий из русских слов. Текст не содержит знаков препинания. Упорядочить последовательность этих слов в алфавитном порядке.
Ввод | Вывод |
монитор сканер мышь клавиатура принтер | клавиатура монитор мышь принтер сканер |
Program z3;
var a : Array[1..10] of String;
s,t : String;
i, j, N : Integer;
begin
readln(s); s:=s+' '; n:=0; i:=1;
while i <= length(s) do
begin
t:=''; while s[i]<>' ' do begin t:=t+s[i]; i:=i+1 end;
i:=i+1; n:=n+1; a[n]:=t;
end;
for i := 1 to n-1 do
for j := i+1 to n do
If a[i]>a[j] then
begin
t := a[i]; a[i]:=a[j]; a[j]:=t
end;
for i := 1 to n do Write(a[i], ' ');
end.
Задания для самостоятельного решения
1. Дан текст. Вывести слова, встречающиеся в тексте по одному разу.
2. Дан текст. Вывести различные слова.
Домашнее задание: Повторить § 27, 28. Решить задачу:
В три символьные переменные F, I, O ввести свои фамилию, имя, отчество. Сформировать из этих данных строку S, содержащую ваши фамилию и инициалы.
Информационные источники (основные учебники по предмету)
Информатика. Базовый уровень: учебник для 10 класса / Семакин И. Г., Хеннер Е. К., Т.Ю. Шеина.- 5-е изд. — М.: БИНОМ. Лаборатория знаний, 2015. —264 с.
Ресурсы сети Интернет
1. http://infoplaneta.ucoz.net/index/urok_55_pravila_opisanija_simvolnykh_velichin_i_simvolnykh_strok_osnovnye_funkcii_i_procedury_paskal/0-314