Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Пример составления программы




Пусть задано некоторое целое натуральное число  типа 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 не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...