русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Решение задач с использованием циклов с условием


Дата добавления: 2015-09-15; просмотров: 1814; Нарушение авторских прав


Повторение

  1. Выписать фрагмент программы для решения указанной ниже задачи и обосновать, почему был выбран тот или иной вариант оператора цикла:
вычислить факториал некоторого числа p;
факториал некоторого числа равен p, найдите это число;
определить, является ли заданное число степенью числа 3;
вычислить y = 1! + 2! + 3! +...+ n!
вычислить xn, где n - целое положительное число;
вычислить значения x1, x2, x3,..., xn.
  1. В каких случаях используется конструкция вложенных циклов?

Пример

Написать программу, которая находит и выводит на печать все четырёхзначные a b c d, числа a, b, c, d - различные цифры, для которых выполняется: ab - cd = a + b + c + d.

Решение



Задачу можно решать несколькими способами. Одним из возможных способов является перебор всех четырёхзначных чисел и проверка для каждого из них выполнения условий. Попробуем сократить перебор, для этого преобразуем второе условие:

10a + b -(10c + d) = a + b + c + d;

9(a - c) = 2(c + d);

a - c / c + d = 2 / 9

Проанализировав первое условие, получаем, что a = c + 2, d = 9 - c и 0<=c<=7.

Program Example_17;
Var a,b,c,d : Integer;
Begin
For c:=0 To 7 Do
Begin
a:=c+2; d:=9-c;
For b:=0 To 9 Do
If (b<>c) And (b<<a) And (b<>d) Then
Write(a,b,c,d,' ');
Writeln
End;
End.

Таким образом, мы решили задачу, значительно сократив перебор.

Пример:

Если мы сложим все цифры какого-либо числа, затем все цифры найденной суммы и будем повторять много раз, мы, наконец, получим однозначное число (цифру), называемое цифровым корнем данного числа. Например, цифровой корень числа 34697 равен 2 (3 + 4 + 6 + 9 + 7 = 29; 2 + 9 = 11; 1 + 1 = 2). Составим программу для нахождения цифрового корня натурального числа.

Решение



  1. Сколько переменных потребуется для решения задачи, какого типа будут эти переменные?
  2. Всегда ли необходимо вычислять сумму цифр числа (а если введенное число является однозначным)?
  3. Вычислим сумму цифр числа: для этого будем выделять цифры числа и увеличивать текущую сумму. Какую конструкцию необходимо использовать для этого?
  4. В результате выполнения цикла мы получили число. Является ли оно однозначным (корнем данного числа)? Какую конструкцию необходимо использовать для нахождения корня числа? Какую конструкцию необходимо использовать для нахождения корня числа? Какие действия должна выполнять программа внутри этой конструкции?

Программа, вычисляющая корень данного числа, может выглядеть следующим образом:

Program Example_18;
Var n, k, s : Longint;
Begin
Writeln('Введите число');
Readln(n);
s:=n;
While s>9 Do
Begin
k:=s; s:=0;
Repeat
s:=s+k Mod 10;
k:=k Div 10;
Until k=0;
End;
Writeln('цифровой корень числа ',n,' равен ',s);
End.

Решение задач

  1. Найти все трёхзначные числа, удовлетворяющие каждому из условий:
    1. любые две цифры различны;
    2. число равно среднему арифметическому всех трёхзначных чисел (включая данное), имеющих тот же цифровой состав.
  2. Стороны прямоугольника заданы натуральными числами M и N. Составить программу, которая будет находить, на сколько квадратов, стороны которых выражены натуральными числами, можно разрезать данный прямоугольник, если от него каждый раз отрезается квадрат максимально большой площади.
  3. Дано натуральное число n>=2. Составить программу разложения этого числа на простые множители:
    1. простой множитель p должен быть выведен k раз, где k - натуральное число, такое, что n делится на pk и не делится на pk+1;
    2. каждый простой множитель должен быть выведен ровно один раз.
  4. Даны натуральные числа N и p. Получить все натуральные числа, меньшие N и взаимно простые с p.
  5. Даны целые числа p и q. Получить все делители числа q, взаимно простые с p.
  6. Сумма квадратов длин катетов a и b прямоугольного треугольника равна квадрату длины гипотенузы c: a2 + b2 = c2. Тройка натуральных чисел, удовлетворяющих этому равенству, называется Пифагоровыми числами. Составить программу нахождения основных троек Пифагоровых чисел, используя следующие формулы:

a = u*v; b = u2 - v2 / 2; c = u2 + v2 / 2,

где u и v - взаимно простые нечётные натуральные числа и u>v.

  1. Найти наименьшее натуральное число N представимое двумя различными способами в виде суммы кубов двух натуральных чисел x3и y3 (x>=y).
  2. Даны натуральные числа m, n1, n2,...,nm (m>=2). Вычислить НОД(n1, n2,...,nm), воспользовавшись соотношением НОД(n1, n2,...,nm) = НОД(НОД(n1, n2,..., nm-1), nm) и алгоритмом Евклида.
  3. Найти все простые несократимые дроби, заключённые между 0 и 1, знаменатели которых не привышают 7 (дробь задаётся двумя натуральными числами - числителем и знаменателем).


<== предыдущая лекция | следующая лекция ==>
Вложенные циклы | Простые типы данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.