- •2 Этапы развития эвм
- •3)Архитектура основные принципы работы эвм.
- •4) Операционные системы, их функции.
- •Вопрос 5
- •'Это текстовая строка'
- •'Это '' - символ одиночной кавычки'
- •Билет 6 Типы данных в Delphi
- •8 Вопрос Преобразование числовых данных в строковые и обратно. § 24. Строковый тип данных
- •24.1. Строковые величины
- •24.2. Операции со строковыми величинами
- •24.3. Стандартные подпрограммы
- •* 24.4. Преобразование строковых данных
- •* 24.5. Отображение числовой информации в графическом режиме
- •9 Вопрос
- •10 Билет- Язык блок-схем
- •Основные элементы схем алгоритма
- •Объектно-ориентированное программирование Основные понятия
- •Оператор цикла repeat
- •Оператор цикла while
- •Оператор цикла for
- •15 Вопрос
- •1. Основные понятия объектно-ориентированного программирования
- •2. Объект - как базовое понятие в объектно-ориентированном программировании
- •2.1 Инкапсуляция
- •2.2 Наследование как важнейшее свойство объекта
- •2.3 Экземпляры объектных типов
- •2.4 Поля объектов
- •2.5 Методы
- •2.6. Полиморфизм
- •3. Понятие класса
- •4. Процесс объектно-ориентированного проектирования
- •5. Объектно-ориентированные языки
- •6. Простая объектная модель и ссылочно-объектная модель
- •7. Языки и программное окружение
- •18 Вопрос
- •19 Вопрос
* 24.4. Преобразование строковых данных
Для преобразования числовых данных в строковые и обратно используются стандартные процедуры:
Str (X, S); Преобразование целого (или вещественного) числа Х в строку S.
Val (S, X, Code); Преобразование строки S в значение числовой переменной Х; Code (переменная типа Integer) при этом играет роль признака возможности такого преобразования: если Code=0, преобразование успешно; в противном случае значение Code равно позиции ошибочного знака в строке.
Благодаря этим процедурам числовые данные можно преобразовать в строки и применять к ним строковые функции, а строковые данные – в числовые, к которым применимы арифметические операции.
Пример выполнения процедуры Str (X, S):
Описание |
X |
S |
Длина строки |
Var X: Integer; S: String; |
12345 |
'12345' |
5 |
-12345 |
'-12345' |
6 | |
Var X: Real; S: String; |
12345 |
' 1.2345000000E+04' |
17 |
-12345 |
'-1.2345000000E+04' |
17 | |
34.5 |
' 3.4500000000E+04' |
17 |
Пример выполнения процедуры Val (S, X, Code):
Описание |
S |
X |
Code |
Var S : String; X, C : Integer; |
170 |
170 |
0 |
5.5 |
0 |
2 | |
Var S : String; X : Real; C : Integer; |
17E3 |
1.7000000000E+04 |
0 |
-0.25 |
-2.5000000000E-01 |
0 | |
93A5 |
0 |
3 |
Примеры программ:
Пример 1. Найти сумму цифр заданного натурального числа. Рассматривая число как строку, и преобразуя каждый символ в число с помощью процедуры Val, можно найти сумму цифр достаточно «длинного» числа. Пусть A – заданная строка, S – искомая сумма, k – номер символа (цифры), С – результат преобразования символа в число. Полагаем, что данные корректны, и после преобразования сразу выполняем суммирование цифр. |
Program SUMM; Var A: String; S, C, k, cod : Integer; Begin Write ('Число='); Readln (A); S:=0; For k:=1 to Length (A) do Begin Val (A[k], C, cod); S:=S+C End; Writeln ('S=', S) End. |
Пример 2. Проверить, является ли палиндромом сумма двух палиндромических натуральных чисел, не больших 1010. Решение задачи распадается на следующие этапы: 1) ввод двух натуральных чисел a, b; так как корректность данных не гарантируется, при вводе каждого числа требуется проверка соответствия его условию задачи; 2) вычисление суммы c=a+b; 3) проверка, является ли с палиндромом. Итак, в алгоритме выделились две самостоятельные подзадачи: первая – ввод чисел с требуемой проверкой; эта задача решается дважды (для чисел a и b); вторая – проверка, является ли число палиндромом; эта задача решается трижды (для чисел a, b и c). Оформим в программе подпрограммы пользователя: VVOD и PALINDROM для решения соответственно первой и второй подзадач. В результате их выполнения будут получены значения простого типа (соответственно натуральное число и логическая величина). Значит, уместно использование функций пользователя. В функции PALINDROM после преобразования числа N (единственный параметр-значение) в строку T формируется логический результат. Функция VVOD содержит обращение к функции PALINDROM для проверки корректности вводимого числа x. |
Program Palindromy ; Var a, b, c : LongInt ; Function PALINDROM (N :LongInt): Boolean ; Var T : String; D, n : Byte ; Begin STR (N, T); D :=Length (T); n:=1; While (n<=D div 2) and (T[n]=T[D-n+1]) Do n:=n+1; If n>D div 2 Then PALINDROM :=True Else PALINDROM :=False End; Function VVOD (b:String): LongInt; Var x : LongInt; Begin Write (b); Readln (x); While PALINDROM (x)=False Do Begin Writeln ('Это не палиндром. Повторите ввод'); Readln (x) End; VVOD:=x End; Begin Writeln ('Введите два палиндромических числа, не большие 10^10'); a:=VVOD ('a='); b:=VVOD ('b='); c:=a+b; Write ('Сумма ', a, '+', b, '=', c); If PALINDROM (c)=False Then Write (' не'); Writeln (' палиндром') End . |