Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Пример составления программы
Пусть задано некоторое целое натуральное число типа longint. Необходимо определить значение максимальной цифры и общее количество цифр числа. Для решения данной задачи необходимо последовательно выделять цифры заданного числа и сравнивать их между собой до тех пор, пока не будет получена самая старшая цифра. При этом на каждом шаге алгоритма должен увеличиваться счетчик количества цифр числа . Каждая выделенная цифра сравнивается с предыдущими и выбирается максимальная из них. Схема алгоритма представлена на рисунке. Схема алгоритма обработки числа Здесь для определения цифры младшего разряда k используется операция получения остатка от целочисленного деления на основание десятичной системы счисления 10 – операция mod. Затем с помощью операции целочисленного деления div отбрасывается младшая цифра, и исходное число x уменьшается в десять раз. После чего осуществляется переход на выделение цифры следуюшего разряда. И так до тех пор, пока не будут выделены все цифры исходного числа, и значение x не станет равным нулю. Ниже приведен текст программы: {**************************************** } {Цель - нахождение максимальной цифры } { и количества разрядов числа. } {Переменные: } { x – заданное число; } { k – текущая цифра числа; } { kmax – максимальная цифра; } { n – количество разрядов числа. } {Подпрограммы: нет } {Программист – ст. гр. 544 Белов М.А. } {Проверил: доцент Новичков В.С. } {Дата написания - 05.12.05 г. } {**************************************** } Program Number; Var x :longint; k, kmax : 0..9; n :integer; Begin {Number} {Ввод и эхо-печать исходных данных} WriteLn(‘Введите целое число x’); Read(x); WriteLn(‘В числе’, x:11); {Инициализация переменных} kmax := 0; n := 0; while x > 0 do {Начало цикла} begin {Выделение младшего разряда числа} n := n + 1; k := x mod10; {Поиск максимальной цифры} if k > kmax then kmax := k; {Уменьшение исходного числа} x := x div 10 end; {Конец цикла} WriteLn(‘Максимальная цифра ’, kmax); WriteLn(‘Из ’, n, ‘ разрядов’) End. {Number} Задания Дано n-значное целое число типа longint. Произвести с ним действия согласно номеру варианта. Вариант 1. Подсчитать количество четных цифр в числе. Вариант 2. Подсчитать количество нечетных цифр в числе. Вариант 3. Подсчитать количество цифр в числе, делящихся на 3 без остатка. Вариант 4. Подсчитать в числе количество цифр, не превосходящих заданной цифры, введеной с клавиатуры. Вариант 5. В исходном числе, содержащем нечетное количество цифр, вывести центральную цифру. Вариант 6. Вывести введенное число в зеркальном отображении. Вариант 7. Вывести только те цифры числа, которые не делятся на 3 без остатка. Вариант 8. Подсчитать количество цифр, значения которых больше заданной. Вариант 9. Вывести на экран только нечетные цифры в порядке их расположения в числе. Вариант 10. Вывести на экран только повторяющиеся цифры и общее количество их повторений. Вариант 11. Вывести наименьшую цифру числа. Вариант 12. Вывести наибольшую цифру числа. Вариант 13. Вывести цифры, лежащие в интервале [a, b]. Вариант 14. Вывести те цифры, которые при делении на р дают в остатке q, ( p>q>=0). Вариант 15. Заменить нулями все четные цифры. Вариант 16. Вывести только те цифры, значения которых совпадают с местом (разрядом) этой цифры в числе. Для упрощения задачи вводите каждую цифру только один раз. Вариант 17. Вывести только цифры самого младшего и самого старшего разрядов. Вариант 18. Вывести сумму всех четных цифр числа. Вариант 19. Вывести сумму всех нечетных цифр числа. Вариант 20. Вывести сумму наибольшей и наименьшей цифр числа. Вариант 21. Вывести сумму всех цифр числа. Вариант 22. Вывести разницу между цифрами старшего и младшего разрядов числа. Вариант 23. Если цифра старшего разряда больше цифры младшего разряда, то исходное число увеличить вдвое, в противном случае вычесть из него число, равное цифре старшего разряда. Вариант 24. Если цифра младшего разряда четная, то вывести все четные цифры числа, в противном случае – все нечетные. Вариант 25. Вывести разницу между максимальной и минимальной цифрами числа. Тема 8 |
||
Последнее изменение этой страницы: 2018-05-10; просмотров: 279. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |