Пользователь

Добро пожаловать,

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

Меню сайта




Ваше мнение
Как вы узнали о нашем сайте?

От друга, знакомого
Из печатных источников
Из поисковой машины
По ссылке с другого сайта
Случайно
Не знаю


Результаты
Другие опросы

Всего голосов: 1031
Комментарии: 4


Наши партнеры



Статистика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Книги-online



Лабораторная работа №3

Лабораторная работа №3

Программирование циклических алгоритмов

Теоретический материал Справочник по процедурам и функциям


Цель работы: закрепить практические навыки работы с системой Borland Pascal, научиться правильно использовать различные операторы циклов; научиться составлять программы решения задач с использование циклических структур.

Общие сведения

Алгоритм называется циклическим, если он содержит многократное выполнение одних и тех же операторов при различных значениях промежуточных данных. Число повторений этих операторов может быть задано в явной (цикл с известным заранее числом повторений) или неявной (цикл с неизвестным заранее числом повторений) форме. Перед выполнением работы необходимо изучить различные схемы организации циклов и операторы FOR, WHILE, REPEAT.

Примеры

Пример1: На промежутке от 1 до M найти все числа Армстронга. Натуральное число из n цифр называется числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу.

Этапы решения задачи:
  • Математическая модель: xО[1;M], x=
  • Составим блок схему программы:


  • Распишем составные части блока"Находим все числа Армстронга на заданном промежутке и печатаем их"
    Опишем блок "Подсчитываем сколько цифр в числе i"
    Опишем блок "Проверяем, является ли i числом Армстронга"
    Дальнейшая детализация не требуется, запишем блок-схему целиком:
    Дальнейшей детализации не требуется, переведем программу на язык Паскаль.
    PROGRAM Primer_1; 
    var i,k,s,p,n: Integer; 
       BEGIN 
         Write('Введите M '); Readln(m); 
         	For i:=1 to M do 
            begin 
              s:=0; k:=i; n:=0; 
              While k0 do 
                begin k:=k DIV 10; n:=n+1 end; 
                  k:=i; 
                  While k0 do 
                  begin p:=k MOD 10; k:=k DIV 10; 
                    If p0 then s:=Trunc (s+Exp(n*Ln(p))) 
                  end; 
                  If s=f then WriteLn (f)
           end; 
    END. 
    

    Контрольные вопросы

  • Как записывается и как работает оператор FOR?
  • Для организации каких циклов применим оператор FOR?
  • В чем отличие оператора WHILE от оператора REPEAT?
  • Как программируются циклические алгоритмы с явно заданным числом повторений цикла?
  • Как программируются циклические алгоритмы с заранее неизвестным числом повторений цикла?
  • Напишите оператор цикла, который не выполняется ни разу.
  • Напишите оператор цикла, который выполняется неограниченное число раз.
  • Замените оператор "Repeat A Until B" равносильным фрагментом программы с оператором While.
  • Задачи

    Вычисление выражений:
    Дано натуральное n. Вычислить:
    1. ;

    2. ;

    Дано действительное число х, натуральное число n. Вычислить:
    3.x ( x - n )( x - 2 n )( x - 3 n )…( x - n2 );
    4. ;

    5. ;
    Дано натуральное n. Вычиcлить:
    6. ;

    7. ;

    Вычислить приближенно значение бесконечной суммы (справа от каждой суммы дается ее точное значение, с которым можно сравнить полученный ответ):
    8.= ;

    9.= ;

    10.= ;

    Нужное приближение считается полученным, если вычислена сум-+\.ма нескольких первых слагаемых, и очередное слагаемое оказалось по модулю меньше данного положительного числа e.

    Задачки на смекалку

  • Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9.
  • Найти все трехзначные числа, сумма цифр которых равна данному целому числу.
  • Найти все трехзначные числа, средняя цифра которых равна сумме первой и второй цифр.
  • Найти все трехзначные числа, которые можно представить разностью между квадратом числа, образованного первыми двумя цифрами и квадратом третьей цифры.
  • Найти все двузначные числа, сумма квадратов цифр которых делится на 17.
  • Найти все трехзначные числа, представимые в виде сумм факториалов своих цифр.
  • Найти двузначное число, обладающее тем свойством, что куб суммы его цифр равен квадрату самого числа.
  • Найти двузначное число, равное утроенному произведению его цифр.
  • В каких двузначных числах удвоенная сумма цифр равна их произведению?
  • Можно ли заданное натуральное число М представить в виде суммы квадратов двух натуральных чисел? Написать программу решения этой задачи.

  • Задачи повышенной сложности
  • Определить, является ли заданное число совершенным , т.е. равным сумме всех своих (положительных) делителей, кроме самого этого числа (например, число 6 совершенно: 6=1+2+3).
  • Дано натуральное k. Напечатать k-ю цифру последовательности 1234567891011121314..., в которой выписаны подряд все натуральные числа.
  • Дано натуральное k. Напечатать k-ю цифру последовательности 149162536..., в которой выписаны подряд квадраты всех натуральных чисел.
  • Дано натуральное k. Напечатать k-ю цифру последовательности 1123581321..., в которой выписаны подряд все числа Фибоначчи.
  • Вычислить , многократно применяя итерационную формулу . Начальное приближение выбрать самостоятельно. Прекратить вычисления, если разность двух последовательных итераций станет меньше, чем произведение последнего приближения на . Назад На главную     Учебник по языку Pascal          Лабораторные работы по программированию          bookdelphi bookdelphi


  • Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском


    .


    книги по программированию исходники компоненты шаблоны сайтов C++ PHP Delphi скачать