Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Простые типы данных. Символьный тип.Перечисляемые и интервальные типы
Пример 16. Напишите программу вывода последовательности символов: А АВ ABC... AB..YZ на экран. Решение. Последовательность символов строится по следующему правилу: последовательно выводятся начальные отрезки латинского алфавита, состоящие из 1 символа, потом из 2 символов и так далее, до тех пор, пока не будет выведен весь алфавит. Число таких отрезков равно количеству букв в алфавите. Так как символьный тип данных является порядковым типом, то можем использовать цикл с параметром. Program Example_17; Var i,j:Char; Begin For i:='a' To 'z' Do {число начальных отрезков алфавита} For j:='a' To i Do {число символов в данном начальном отрезке} Write(j); Readln; End. Результат работы программы: a a b a b c a b c d...x y z Пример 17. Напишите программу, которая подсчитывает число цифр, входящих в исходный текст. Текст - это последовательность символов, ввод которой заканчивается нажатием клавиши <Enter>. Решение. Так как окончанием ввода последовательности служит нажатие клавиши <Enter> (ее обозначение - #10), будем вводить символы до тех пор, пока значение очередного символа не совпадет со значением #10. Анализируя каждый символ, будем увеличивать счетчик, если символ является цифрой. Program Example_18; Var ch:Char; k:Integer; Read(ch); k:=0; While ch<>#10 Do {пока не нажата клавиша <Enter>} Begin If (ch>='0') And (ch<='9') Then inc(k); Read(ch); End; Writeln('Число цифр равно ',k); End. Вещественный тип Пример 18. Напечатайте таблицу значений функции у = sin(x) на отрезке [0, 1] с шагом 0,1 (считайте, что при печати на каждое вещественное число отводится по 4 позиции строки). Решение. Постановка задачи наталкивает нас на использование цикла с вещественным параметром, но цикл с параметром предполагает использование переменной порядкового типа, а тип Real таковым не является. Program Example_18_l; {вариант 1} Var i: Real; Begin i:=0; While i<=l Do Begin Writeln(i:2:l, ‘’,sin(i):4:3); End; Readln; End. Program Example_18_2;{вариант 2} Var i: Integer; Begin i:=0; While i<=10 Do Begin Writeln(i,’’,sin(i/10):4:3); Inc (i); End; Readln; End. На первый взгляд работа этих программ должна быть одинаковой, но, запустив программы, мы обнаружим, что первая программа выдает значения функции sin(x) для всех значений х от 0 до 0,9, а вторая программа - для всех значений х от 0 до 1. Почему это происходит? Пример 19. Дано х, принадлежащее интервалу от -1 до 1. Составьте программу вычисления суммы ряда с заданной точностью Е. Нужная точность считается полученной, если очередное слагаемое оказалось по модулю меньше, чем данное малое положительное число Е (это и все последующие слагаемые учитывать не надо).
Решение. На первый взгляд программа должна вычислять очередное слагаемое и прибавлять его к сумме, полученной на предыдущем этапе. При нахождении значения можно воспользоваться циклом с параметром, но, с другой стороны, чтобы вычислить значение , достаточно значение (найдено на предыдущем шаге) умножить на х. Program Example_19; Var x,st,si,у,e:Real; n,z:Integer; Begin Write('Введите х, принадлежащее (-1,1)'); Readln (x); Write('Введите погрешность вычисления'); Readln (e); y:=0; n:=l; z:=l; st:=x; sl:=x; Repeat Inc(y,z*sl); Inc(n); z:=-z; st:=st*x; sl:=st/n; Until sl<e; Writeln(y); Readln; End.
|
|||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 171; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.96.159 (0.005 с.) |