КАТЕГОРИИ: Архитектура-(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; Просмотров: 438; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |