Урок 12

Составление алгоритмов обработки строковых величин

Теоретическая часть

     В строковую переменную можно записывать не только буквы, но и цифры. Однако это будут не числа, как таковые, а их символьное представление. Для преобразования символьных представлений числа в само число, и наоборот. Например, возьмем 2 числа: 125 и 347. Если эти числа записаны в строковых переменных, то с ними можно производить те действия, которые производятся над строками. Например, в результате операции сцепления '125' + '347' получится '125347'. Если же данные числа будут записаны в переменных типа Integer или Real, то над ними можно производить операции, предусмотренные для чисел (сложение, вычитание умножение, деление и т.д.). Например, в результате операции сложения 125+347 получится 472.

п.1. Функции преобразования строкового представления числа к числовому значению.

StrToFloat(а) - функция, преобразует строку a (string) в число (real)

              Например: m:='20.1';      s:='24.3';     t:=s+m;   Результат: 24.320.1;   k:=StrToFloat(m)+StrToFloat(s); Результат: 44.4

StrToInt(a) - функция, преобразует строку a (string) в число (integer)

              Например: m:='200';      s:='240';     t:=s+m;   Результат: 240200;   k:=StrToInt(m)+StrToInt(s); Результат: 440

п.2. Функции преобразования числа к строковому представлению.

FloatToStr(x) - функция, преобразует число х (real) в строку а (string).

              Например: m:=20.1;      s:=24.3;     t:=s+m;   Результат: 44.4;   k:=FloatToStr(m) +FloatToStr(s); Результат: 24.320.1

IntToStr(x)  - функция, преобразует число х (integer) в строку а (string)

              Например: m:=200;      s:=240;     t:=s+m;   Результат: 440;   k:=IntToStr(m)+IntToStr(s); Результат: 200240

п. 3. Процедуры преобразования типов

 Str (x, st) — преобразование числового значения X в строковый и помещение результата в строку St.

         Например:   k:= 12;  Str (k, s);         Результат: s='12'

 Val (st, x, code) — преобразует значение строки St в величину целочисленного или вещественного типа и помещает результат в X. Code - целочисленная переменная.  Если во время операции преобразования ошибки не обнаружено, значение code равно нулю, если ошибка обнаружена (строковое значение не переводится в цифровое), code будет содержать номер позиции первого ошибочного символа, а значение x не определено.

        Например:      1. s:=’5.78’;  val(s,n,cod);  Результат:  n=5.78    cod=0

                                  2. s:=’5,78’;  val(s,n,cod);  Результат:  n=0          cod=2 – второй символ ошибочный

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

               program  t;

                      var x:string;

                            a,s, k,code :integer;

               begin

                        writeln('Введите строку ');

                        readln(x);

                        k:=1;  s:=0;

                   while k<= length(x) do

                       begin

                         val(copy(x,k,1),a,code);

                         s:=s+a;

                         k:=k+1;

                       end;

                 writeln('Сумма цифр введенного числа =  ',s);

             end.

Практическая часть

Задание 1. С  клавиатуры вводятся два числа: целое и вещественное. Составьте программу, которая преобразовывает эти числа в строку.

Задание 2. С клавиатуры вводятся две строки содержащие числа. Составьте программу, которая преобразует эти строки в числа и выполнить арифметическое действие сложение этих чисел.

Задание 3. С клавиатуры вводится строка, содержащая арифметическое выражение в виде двух чисел, между которыми стоит знак арифметического действия минус. Составьте программу, которая выполняет данное арифметическое действие и выводит результат.

Например :  Ввод: 40-17        Результат:  30-17=23

Электронная рабочая тетрадь

Задание 1. Символьные и строковые величины(найти пару)

Задание 2. Символьные и строковые величины(ввод текста)

Задание 3. Символьные и строковые величины(заполнить пропуски)

Задание 4. Строковая величина(сортировка картинок)

Задание 5. Стандартные процедуры и функции(таблица соответствий)

Проверка знаний

Кроссворд - Строковые величины

Тест - Стандартные процедуры и функции