Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Тема 2. Разветвляющиеся программыСодержание книги Поиск на нашем сайте Примеры решаемых задач Пример 1. Составить программу, которая определит большее из двух введенных чисел. Программа: Program maximum; Uses Crt; Var A, B: Integer; Begin Clrscr; Write (‘Введите два числа ’); Readln (A, B); If A>B Then Writeln (‘Большее число ’, A) Else If B>A Then Writeln (‘Большее число ’, B) Else Writeln (‘Числа равны’); Readln End. Пример 2. Составить программу, которая вводит число, обозначающее количество лет, и выводит для этого числа наименование «год», «года» или «лет». Например, «14 лет», «183 года», «31 год». Составим модель данной задачи. Исходным данным является целое число A. Результат: наименование. Наименование зависит от последней цифры введенного числа: 1 - «год»; 2,3,4 – «года», 0,5,6,7,8,9 – «лет». Исключением являются числа, две последних цифры которых составляют число от 11 до 14 – в этом случае требуемым наименованием будет «лет» («12 лет»). Алгоритм решения: ввод числа А; вычисление числа В из двух последних цифр числа А; если В лежит в интервале от 11 до 14, то писать наименование «лет» иначе выделить последнюю цифру числа А (обозначим С); если С=1, то вывести наименование «год»; если С=2 или С=3 или С=4, то вывести наименование «года»; если С=0 или С в интервале от 5 до 9, то вывести наименование «лет». Программа: Program Years; Uses Crt; Var A, B, C: Integer; Begin Clrscr; Write (‘Введите число ’); Readln (A); B:= A mod 100; If (B>=11) And (B<=14) Then Writeln (A, ‘ лет’) Else Begin C:= A mod 10; Case C Of 1: Writeln (A, ‘ год’); 2, 3, 4: Writeln (A, ‘ года’); 0, 5..9: Writeln (A, ‘ лет’) End End; Readln End. Тема 3. Циклические программы Примеры решаемых задач Пример 1. Составить программу, которая выведет на экран числа от 1 до N. Пояснение: составим три программы, т.е. решим данную задачу с использованием трех различных циклических конструкций.
Пример 2. Составить программу, которая будет запрашивать пароль до тех пор, пока не будет введен верный ответ. Программа: Program Password; Uses Crt; Const Pass=’паскаль’; { верный ответ } Var S: String; Begin Clrscr; Repeat Write (‘Пароль ’); Readln (S); { вводим пароль } If S <> Pass Then Writeln(‘Неверно!’) Until S=Pass; { цикл закончен, если ввели верный пароль } Writeln (‘Верно!’); Readln End. Пример 3. Составить программу, которая выведет на экран все положительные члены арифметической прогрессии с разностью D= -1.5 и первым членом A. Программа: Program Progress; Uses Crt; Const D= -1.5; { Константа – разность прогрессии } Var A: Real; { В А будут храниться по очереди все члены прогрессии } Begin Clrscr; Write (‘Введите первый член прогрессии ’); Readln (A); While A > 0 Do {пока очередной член прогрессии положителен} Begin Writeln(A); { печатаем число – член прогрессии } A:= A + D { вычисляем следующий член прогрессии и записываем его в ту же переменную А } End; Readln End. Пример 4. Составить программу, которая вычислит общее количество «5», «4», «3» и «2», полученных студентами группы за экзамен по программированию, а также средний балл за экзамен, если известны количество студентов в группе и отметки каждого из них. Программа: Program Students; Uses Crt; Var N, K, K5, K4, K3, K2, S, M: Integer; { N – количество студентов в группе, K – счетчик всех студентов, K5 – счетчик «5», K4 – счетчик «4», K3 – счетчик «3», K2 – счетчик «2», S – сумма всех отметок, M – отметка очередного студента } Sb: Real; { Sb – средний балл за экзамен } Begin Clrscr; Write (‘Сколько студентов в группе? ’); Readln (N); For K:= 1 To N Do { перебираем всех студентов } Begin Writeln (‘введите отметку ’, K, ‘студента ’); Readln (M); {В переменную М вводим все отметки по очереди} S:= S+M; { В переменной S накапливается сумма всех отметок} Case M Of { Увеличиваем нужный счетчик } 5: K5:= K5 + 1; 4: K4:= K4 + 1; 3: K3:= K3 + 1; 2: K2:= K2 + 1 End End; Sb:= S / N; { Вычисляем средний балл } Writeln (‘Количество «5» ’, К5); Writeln (‘Количество «4» ’, К4); Writeln (‘Количество «3» ’, К3); Writeln (‘Количество «2» ’, К2); Writeln (‘Средний балл группы за экзамен ’, Sb:5:2); Readln End. Пример 5. Составить программу, которая определит наибольшее из N вводимых чисел. Алгоритм поиска экстремума (максимума или минимума) числовой последовательности: сначала вводится первое число, оно полагается максимальным (или минимальным). После этого вводятся все остальные числа (от 2-го до N-го), каждое из них сравнивается с максимумом (минимумом), и если оно больше (меньше), то максимуму (минимуму) присваивается введенное число. Программа: Program Maximum; Uses Crt; Var Max, X: Real; K, N: Integer; Begin Clrscr; Write (‘Сколько чисел? ’); Readln (N); Write (‘Введите первое число ’); Readln (Max); For K:= 2 To N Do Begin Writeln (‘Введите ’, K, ‘ число ’); Readln (X); If X > Max Then Max:= X End; Writeln (‘Наибольшее из введенных чисел ’, Max); Readln End. Пример 6. Составить программу, которая рисует в алфавитно-цифровом режиме звездное небо из N разноцветных звезд, расположенных на экране случайным образом. Указание: Для решения данной задачи необходимо использовать специальную функцию – датчик случайных чисел. Она вызывается следующим образом: Random (N). Датчик случайных чисел возвращает случайное целое число из интервала от 0 до N-1. Таким образом, после выполнения команды A:= Random (10); значением переменной А будет какое-то число (неизвестное заранее) из интервала от 0 до 9. Для того, чтобы при каждом запуске программы генерировалась новая последовательность случайных чисел, необходимо перед вызовом функции Random выполнить инициализацию датчика случайных чисел. Она выполняется командой Randomize (т.е. вызывается процедура с таким именем). Кроме того, для решения данной задачи может потребоваться использование следующих процедур из модуля CRT: 1. ClrScr; - очистка экрана; 2. TextColor(c); - цвет выводимого текста, 0 £ с £ 15. Параметр С – это номер цвета (см. Приложение 1). 3. TextBackGround(c); - цвет фона, 0 £ с £ 7. Параметр С – это номер цвета (см. Приложение 1). 4. GotoXY(x,y); - позиционирование курсора в точку с координатами (x,y): 1 £ x £ 80, 1 £ y £ 25 (или 1 £ y £ 40 в зависимости от установленного максимального количества строк в алфавитно-цифровом режиме). 5. Delay(n); - приостановка (задержка) работы программы на n миллисекунд. Программа: Program Sky; Uses Crt; Var n, i, x, y, c: Integer; Begin ClrScr; Write (‘Сколько звезд будет на небе? ’); Readln (n); ClrScr; Randomize; For i:= 1 To n Do Begin x:= random (80) + 1; y:= random (24) + 1; c:= random (15) + 1; TextColor (c); Gotoxy (x, y); Write (‘ * ’) end; Readln End.
|
||||||||
|
Последнее изменение этой страницы: 2021-04-05; просмотров: 110; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.146 (0.008 с.) |