Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Реализация циклических структур




Var

ИСПОЛЬЗОВАНИЕ ПЕРЕМЕННЫХ ТИПА CHAR

Тип CHAR - это символьный тип данных. Значениями переменных такого типа являются отдельные символы.

Описание переменных типа СHAR:

имена: char;

Например:

Var

u,v: char;

Тогда можно записать операторы присваивания:

u:='а';

v:=u;

u:='*';

Апостороф (') употребляется, когда значение типа char явно указывается в программе. При выводе апострофы не печатаются и не высвечиваются на экране.

Возможна, например, такая запись:

if u='b' then v:='a'

ЗАДАНИЯ

№1. Что будет выведено на экран в результате выполнения следующей программы:

Const

a='Р';

c='Г';

Var

b,d:char;

Begin

b:='Д';

d:='У';

writeln(b,a,d,c)

End.

№2. Присвоить переменной X символ 'М',

переменной Q символ 'и',

переменной Y символ 'а',

переменной R символ 'н',

переменной Z символ 'ш',

переменной S символ 'м'.

С помощью этих переменных вывести следующие слова: Маша, наша, Миша, ниша, шина, машина, мина.

№3. Найдите ошибки в следующем фрагменте программы:

Var

b,c,y: char;

a: real;

……………

case y of

'18','30': C:='11';

'3': c:=A;

'20': B:=A

end

№4. Если целое число S отрицательное, то присвоить переменной Q символ '-', если положительное - '+', если 0 - '0'.

№5. Ввести значение символьной переменной Х. Если это '+' или '-', то вычислить значение Z:

Z=Sin2B+Cos2C

Написать две программы: с использованием CASE и без его использования.

№6. Ввести символ Х. Выяснить, что это за символ, и:

если Х='!', то вычислить R=Q·R;

если Х='0','1','2',...,'9', то вычислить U=B2-4·A·C;

если Х='A','B',...,'Z','a','b',...'z', то вычислить R=d·R;

иначе N положить равным 0,1.

№7. Миникалькулятор. Вводится первое число, знак операции (+,-,*,/ и ^ - степень), второе число. Вывести на экран результат. На неправильный ввод операции должно быть предусмотрено соответствующее сообщение.

№8. Задан падеж первой буквой ('И' - именительный и т.д.). Вывести в заданном падеже слово 'Печь'. На неправильный ввод должно быть соответствующее сообщение.

№9. Перепишите следующую программу и подчеркните все ошибочные места. Укажите общее количество ошибок в данной программе.

Сonst

a:=23,7; b:48; c='#'

Var

d:real

e;f:integer

h:chr;

Begin

d=a+b; e:=a-b; f:=2b; e:=f*b;

h:='&'; f:=b*10/2; c:=h;

if d>b and c<h or a=d then

d=d-a e=e-f

else

f=ord(c);

case h of

'0..8': h:=Succ(c);

'9': d:=Sgr(b);

'10': e:=Sqr(b);

'a'..'f','z'..'h': e:=Round(a) f:=Trunc(a);

!: h:=b;

*: h:=chr(b);

else e:=b div 10; f:=b mod 10;

end {case}

Write('a=,'a,' b=',c,' c=',a+b+d:10:2,e,f,g,h)

End.

В языке PASCAL существует три оператора цикла:

1) оператор цикла с параметром;

2) оператор цикла с постусловием;

3) оператор цикла с предусловием.

6.1. ПРИМЕНЕНИЕ ОПЕРАТОРА ЦИКЛА С ПАРАМЕТРОМ

Оператор цикла FOR организует выполнение одного оператора заранее известное число раз. Существует два варианта оператора.

Общий вид оператора цикла с параметром:

FOR i:=a TO b DO s

или

FOR i:=a DOWNTO b DO s

где i - переменная порядкового типа (CHAR, INTEGER, BYTE и т.д.) - параметр цикла;

a, b - переменные или выражения такого же типа, что и I(если I целочисленная переменная, то a и b могут принимать значения как положительные, так и отрицательные, и ноль);

s - оператор (тело цикла).

Шаг изменения параметра цикла:

1-й случай: TO - эквивалентен оператору: i:=succ(i);

2-й случай: DOWNTO - эквивалентен оператору: i:=pred(i).

Отсюда для целочисленного i получим:

1-й случай: TO - шаг равен 1,

2-й случай: DOWNTO - шаг равен -1.

Часть оператора без тела цикла (без s) называется заголовком цикла.

Цикл работает следующим образом. Сначала вычисляются и запоминаются начальное и конечное значения параметра цикла: a и b. Далее параметру цикла присваивается начальное значение: a. Затем значение параметра цикла сравнивается со значением b. Далее, пока параметр цикла меньше или равен конечному значению b (в первом варианте) или больше или равен конечному значению b (во втором варианте), выполняется тело цикла (после каждого выполнения тела цикла параметр цикла изменяется с указанным шагом (например, для целочисленных переменных, с шагом 1 (1-й случай) или -1 (2-й случай))); в противном случае происходит выход из цикла.

1-й случай: Если а>b, то оператор s не будет выполнен ни разу.

2-й случай: Если a<b, то оператор s не будет выполнен ни разу.

Изменить начальное и конечное значение параметра цикла в теле цикла невозможно, т.к. они вычисляются только один раз перед началом работы цикла. Хотя во многих учебниках по языку PASCAL написано, что изменять значение параметра цикла в теле цикла тоже нельзя, программисты на практике убедились, что на самом деле можно, но новое значение не должно превышать b (в первом случае) либо быть меньше b - (во втором).

В версии Turbo Pascal 7.0 для прекращения цикла можно использовать процедуру Break, которая передает управление следующему за этим циклом оператору, а также можно использовать процедуру Continue, которая прекращает текущую итерацию ближайшего охватывающего цикла и вызывает следующую итерацию.




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 409; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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