русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Тип Char


Дата добавления: 2015-09-15; просмотров: 942; Нарушение авторских прав


В прошлом выпуске мы с вами изучили новый тип, позволяющий работать со строками символов. Это был тип String, с его помощью можно хранить любые данные в текстовом виде, запрашивать программой строки будь то имя, фамилия или что-нибудь еще. Очень полезная возможность, не так ли? Но вот давайте представим, что мы решили запросить не целую строку, а один символ, например в качестве ответа на такой вопрос:

Повторить действие? (Y/N):

Здесь видно, что ввести нужно всего лишь одну букву - Y или N. Заводить для этого целую строку нецелесообразно, хотя и можно. Но при этом программа получается более громоздкой - целая строка используется для хранения всего лишь одного символа. При этом мы теряем память, засоряя ее; работа несколько замедляется, так как строки долго обрабатываются. В общем, здесь встает вопрос оптимизации, который волнует абсолютно всех программистов на свете.

Именно для таких целей - оптимизации - существует один тип, тоже символьный, он более простой, чем строки. Это тип Char.

Char - Переменная этого типа способна хранить всего лишь один символ. Это как бы строка, но с максимальной длиной, равной единице. Он очень удобен для некоторых случаев: невероятно экономит память, ускоряет работу и позволяет легче состалять программу.

Вот примеры присваивания значений переменной типа Char:

 
Program UseCHAR;
var
C: Char;
begin
C := 'Y';
Write(C);
C := ':';
Write(C);
Readln(C);
If C <> 'Y' Then Write('C не является буквой Y!');
Readln;
end.

Посмотрите внимательно на пример. Он очень простой, введите его в Паскале и посмотрите, что он делает. При его работе выводиться: Y: после чего программа ждет ввода. Если введенный символ не буква Y, то об этом сообщается пользователю. Необходимые пояснения к типу Char.



1. Переменной типа Char можно прямо в программе присвоить значение. Это делается посредством знака присваивания: ":=", после которого должен находиться символ, заключенный в одиночные кавычки (апострофы): 'A'.

2. Переменную можно с успехом использовать в конструкциях сравнения;

3. Ее можно читать с клавиатуры. При этом если мы введем строку, состоящую из нескольких символов, то значением переменной Char станет только 1-й символ.

4. Его можно прибавлять к строке:

Program UseCHAR;

Var

C: Char;

S: String;

Begin

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

Readln(S);

Write('Введите символ: ');

Readln(C);

S := S + C;

Write('Если это сложить, получиться: ',S);

Readln;

end.

Но вычитать нельзя!!! Запомните это.

5. Переменная типа Char может хранить совершенно любой символ, в том числе и букву русского языка (знак кириллицы).

Ну а теперь, напоследок, напишем программу, которая будет очень хорошо демонстрировать использование строк, символов, сравнения и goto.

Программа будет читать символы с клавиатуры, пока не прочитает символ "!" - восклицательный знак. Он будет служить сигналом окончания ввода. Все читаемые символы будут записываться в строку, которая по окончанию действия выведстя на экран. Начнем?

Для начала, как всегда, запишем алгоритм программы, то есть определимся, что она будет делать и расскажем это простым человеческим языком. Условимся, что мы имеем две переменных

- S: String; - в нее будут записываться все вводимые символы;

- C: Char; - этот символ будет постоянно читаться с клавиатуры.

А теперь алгоритм:

1. Читаем символ с клавиатуры;

2. Проверяем - если это не "!", то:

1. Добавляем введенный символ в строку (прибавляем его к строке);

2. Переходим у вводу символа - пункту 1.

Иначе (символ = !):

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

4. Ставим Readln; тем самым затормаживая программу;

5. Завершаем программу;

Вот вроде и все. Теперь текст программы:

 
Program Primer;
label
A;
var
C: Char;
S: String;
begin
A;
Write('Введите символ: ');
Readln(С);
If C <> '!' Then
begin
S := S + C;
Goto A;
end
else
Write('Вы ввели эти символы: ',S);
Readln;
end.

Введите эту программу и запустите. Как вам ее работа? Она делает все то, что и планировалось, помещает вводимые символы в строку и выводит ее на экран. Объяснять эту программу по шагам я не буду, разбирайтесь сами, это будет очень полезно. Советую написать что-нибудь самостоятельно в этом роде; придумайте условие и реализуйте его.

А пока на сегодня про Паскаль все, осталась небольшая практика.



<== предыдущая лекция | следующая лекция ==>
Процедура GOTO | Практика


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.016 сек.