Ввод символов с клавиатуры.

Ввод символов с клавиатуры почти не отличается от ввода чисел с клавиатуры. Для того чтобы ввести какие-то символы (буквы, знаки и т.д.) с клавиатуры необходимо для переменных использовать символьный тип данных Char.

Ввод логических переменных с клавиатуры.

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

Логические и символьные константы.

В данном уроке будет рассмотрено применение логических и символных констант. Логическая константа может принимать только 2 значения, либо True, либо False. В качестве значения символьной константы могут использоваться любые символы, которые есть в ...

Циклы и массивы

Массив строк типа STRING.

Одномерный массив строк используется для хранения в оперативной памяти компьютера промежуточного фрагмента текста с целью его обработки.

Многомерные массивы.

Индексы имеют еще одно свойство — чем больше объем массива, тем менее эффективна с ним работа, поэтому часто используют массивы массивов, то есть с двумя, тремя и более индексами для идентификации ...

Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.

Вывод сообщения на экран с помощью If.


program vetvlenija7;
uses crt;
var NUM :integer;
begin
clrscr;
writeln(‘Введите число от 1 до 4:’);
readln (NUM);
if NUM=0 then
writeln (‘Нуль’);
if NUM=1 then
writeln (‘Один’);
if NUM=2 then
writeln (‘Два’)
if NUM=3 then
writeln (‘Три’)
if NUM=4 then
writeln (‘Четыре’);
readln
end.

Эта программа выводит на экран сообщение (Нуль, Один и т. д.) в зависимости от того какое мы введем число. Однако, ту же задачу можно выполнить более простым способом с помощью оператора Case of.

Использование Case Of.


program vetvlenija7;
uses crt;
var NUM :integer;
begin
clrscr;
writeln(‘Введите число от 0 до 4:’);
readln (NUM);
case NUM of
0:writeln (‘Нуль’);
1:writeln (‘Один’);
2:writeln (‘Два’);
3:writeln (‘Три’);
4:writeln (‘Четыре’);
end;
readln
end.

В строке №8 записывается оператор выбора Case Of. Сначала записывается слово Case, затем записывается переменная, затем слово Of. После служебного слова Of идет перечисление всех возможных значений переменной (строка №9 - №13), а через двоеточие указывается действие, которое нужно сделать, если переменная принимает то или иное значение. Таким образом, если мы вводим с клавиатуры 0, то на экран выводится сообщение «Нуль» (строка №9), если вводим 1, то выводится сообщение «Один» (строка №10) и т.д.

Нам не нужно каждый раз писать конструкцию If…Then.
Достаточно указать CASE «переменная» OF, а затем для каждого значения этой переменной через двоеточие прописать вывод на экран. После перечисления всех операторов необходимо поставить служебное слово End.

case of

Запустим программу и введем любое число от 0 до 4 (например, 4)

case of.


Напишем программу, которая определяет квартал года по введенному числу месяца.

Использование Case Of Else.


program vetvlenija8;
uses crt;
var NUM :integer;
begin
clrscr;
write (‘Введите номер месяца’);
readln (NUM);
case NUM of
1,2,3: writeln (‘Первый квартал’);
4,5,6: writeln (‘Второй квартал’);
7,8,9: writeln (‘Третий квартал’);
10,11,12: writeln (‘Четвертый квартал’)
else
writeln (‘Вы неправильно указали месяц’)
end;
readln
end.

В строке №8 записываем оператор выбора Case Of. После слова Of (в строках №9 - №12) указываем возможные значения нашей переменной. Причем несколько значений можно указать в одной строке. Например, в строке №9 мы указываем 3 значения для переменной и действие, которое нужно совершить, если будут введены эти переменные. Т.е. если мы вводим с клавиатуры 1 или 2 или 3, то на экран выводится сообщение «Первый квартал».

В строке №13 записывается служебное слово Else. Если мы вводим с клавиатуры число, которое лежит вне диапазона чисел от 1 до 12, то должно совершиться действие, которое указывается после слова Else (строка №14).

Записываем программу в Паскале, запускаем ее и проверяем работоспособность, вводя различные числа.

case of else

case of else.


Дополнение к материалу.

В данном примере вместо перечисления значений переменной можно использовать диапазон значений переменной. Например, строку №9 можно записать так: 1..3: writeln (‘Первый квартал’); Т.е. сначала указывается первое значение переменной, а затем через 2 точки указывается последнее значение переменной.


Следующая статья : Циклы в Паскаль.


Комментарии  

 
0 # Юрий 20.03.2012 17:04
А в строку 3 Примера№23. Вывод сообщения на экран с помощью If. просится NAM.
Ответить
 
 
+11 # Zzzzzz 04.12.2012 14:58
Cool 8)
Ответить
 
 
+9 # Нео 16.12.2012 14:31
Das ist fantastisch! :lol:
Ответить
 
 
+7 # Нео 16.12.2012 14:33
А теперь вопрос можно ли case вказывать как меньше 3 или больше 100?
Ответить
 
 
0 # nexta 13.03.2016 16:36
используешь

case NUM of
3:оператор;
...
100:оператор;
else
оператор;
Ответить
 
 
+2 # I 20.12.2012 13:57
а как с помощью case допустим пишешь букву и он выводит комментарий???
Ответить
 
 
+3 # Zmey 14.02.2013 12:31
Case n of
a:writeln('Bukva A');
b:writeln('Bukva B');
C:...
Ответить
 
 
+1 # Nastya 06.02.2014 08:06
только где буквы нужно поставить апострофы, иначе программой будут читаться как переменные
Ответить
 
 
+2 # Yury 09.01.2017 11:00
Человек вообще-то правильно сказал, а вы минусы ставите. Так придет кто-то и подумает, что неправильно подсказала. Если n имеет тип char, то действительно верной будет конструкция:
Case n of
'a': ;
'b': ;

То что выше без кавычек будет верно ТОЛЬКО В ОДНОМ случае: когда перед этим написано
const a = 'a' (или любая другая буква) и т.д.
Ответить
 
 
-1 # BIG CRAB 10.01.2013 14:08
спасибо )
помогли с билетом при подготовке :-)
Ответить
 
 
-2 # AndreW 27.02.2013 14:53
Спасибо, помогли 8)
Ответить
 
 
-2 # саня 02.04.2014 06:04
:o :o :o :o :o :o :o :o :o :o :o
Ответить
 
 
+2 # Леха 02.04.2014 12:24
program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;
Var I: Integer;
A,Q,E:string;
Begin
Write('Think of a number of from 1 to 5 and press Enter');
ReadLn;
WriteLn('This number is greater than or equal to two?');
ReadLn(A);
If A='No'
Then I:=1
Else
Begin
WriteLn('This number is split into two?');
ReadLn(Q);
End;
Case Q Of
'Yes': WriteLn('This number is more than three?');
ReadLn(E); If E='Yes' Then I:=4
Else I:=2;
'No': WriteLn('This number is more than four?');
ReadLn(E); If E='Yes' Then I:=5
Else I:=4;
end;
ReadLn;
{ TODO -oUser -cConsole Main : Insert code here }
End.
Выдает ошибку:[Error] Project2.dpr(25 ): Incompatible types: 'Integer' and 'String' что делать?
Ответить
 
 
+4 # ivan 02.01.2015 05:25
Возможно все дело в оперторе case при работе со строковыми данными
Ответить
 
 
-8 # ти баран 11.11.2015 13:13
кей так не працює йому можна присвоювати тіки чилса
Ответить
 
 
0 # zulika 17.04.2014 18:51
sposibo pomogli :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:
Ответить
 
 
0 # dfyz 19.06.2014 17:39
как с помощю оператора case выбрать модуль
Ответить
 
 
-2 # гьаджимуса 28.04.2015 15:32
;-)
Ответить
 
 
0 # GOOD BOY 24.12.2015 21:26
Выходит ошибка с надписью "Ожидалась константа". Дело в том что у меня в операторе CASE вместо элемента списка стоит перемененная, буква которая с каждым запуском программы разная из-за рандома. Так-вот можно ли поставить переменную как элемент списка выбора в CASE что-бы ошибки не было. :P
Ответить
 
 
0 # илья 16.01.2016 07:23
:lol: :lol: :lol: :lol: :lol:
Ответить
 
 
0 # спс 23.08.2016 10:35
:lol:
Ответить
 
 
-5 # влад 11.11.2016 13:16
:-x :o :oops: :P :sigh: всё правильно я программист))
Ответить
 
 
-1 # Андрей 19.11.2016 17:17
Помогите пожалуйста с 2-мя задачами в паскале!!!!!!!! !!! 1)Нарисовать N кругов с радиусом от 5 до 50 в случайном месте случайным цветом в рамке. 2) Найти сумму 1/2+2/3+3/4+... +29/30
Ответить
 
 
-2 # дб 05.12.2016 18:23
:sigh: :roll: :P :sad: :sad: :-|
Ответить
 
 
+1 # DixonAlex 02.03.2017 12:00
Харё ляпать смайловски и прочие бредовины!!!
Ответить
 
 
0 # DixonAlex 02.03.2017 12:01
Это я про комментосы.
Ответить
 
 
0 # Arlen 21.05.2017 22:21
Aw, that was a really top quality post. In theory
Id like to write like this too taking time and also real effort to make a excellent article but what can I say I procrastinate alot and also by no means seem
to get something done.

Also visit my blog post Dann: http://tinyurl.com/3bf3b3f8c0a7a73add7131a08b219d03
Ответить
 

Добавить комментарий

Защитный код
Обновить

   ГлавнаяПаскальВетвления в ПаскальОператор выбора Case Of в Pascal.