Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ





Цель: Научиться программировать циклические алгоритмы.

 

Выполните задания в соответствии с вариантом, указанным преподавателем и подготовьте отчёт по работе. Отчёт должен содержать тему и цель работы, тексты заданий, блок-схемы алгоритмов решений, программы, результаты тестирования программ (вводимые данные и результаты, выдаваемые программами), выводы.

 

Задание 1. Оператор repeat.

 

Написать программу, вычисляющую требуемую сумму или произведение.

Таблица – Варианты заданий

Вариант Задание
  Найти сумму квадратов первых n чётных натуральных чисел (n вводится с клавиатуры).
  Найти сумму всех двузначных чисел, кратных 3.
  Найти произведение первых n чётных натуральных чисел (n вводится с клавиатуры).
  Найти сумму всех отрицательных нечётных двузначных числе.
  Найти произведение первых n нечётных натуральных чисел (n вводится с клавиатуры).
  Найти сумму всех отрицательных четных двузначных чисел.
  Найти произведение первых n двузначных натуральных чисел, кратных 3 (n вводится с клавиатуры).
  Найти сумму двузначных нечётных чисел.
  Найти произведение первых n двузначных натуральных чисел, которые делятся на 5 (n вводится с клавиатуры).
  Найти сумму всех двузначных натуральных чисел, кратных 5.
  Найти сумму квадратов первых n натуральных чисел (n вводится с клавиатуры).
  Найти сумму всех двузначных чётных чисел.

Блок-схема.

Пример программы.

Найти сумму первых n двузначных чисел, кратных 11 (n вводится с клавиатуры).

 

Program Pr1;

var n,s,a,i:integer;

begin

Write('Введите количество чисел n = ');

Readln(n); {вводится количество чисел}

s:=0; a:=10; i:=0; {присваиваются начальные значения}

repeat

if a mod 11=0 then begin {если число делится на 11 без остатка, то}

s:=s+a; {оно прибавляется к сумме}

i:=i+1 {и счётчик чисел увеличивается на 1}

end;

a:=a+1; {берётся следующее двузначное число}

until (i=n)or(a>99); {выход из цикла, если достигнуто нужное количество

чисел, или если проверены все двузначные}

writeln('Искомая сумма = ',s); {выводится результат}

readln {ожидается нажатие Enter}

end.

 

Задание 2. Оператор while.

Написать программу, вычисляющую значения функции с точностью до 3-х знаков после запятой на заданном отрезке с заданным шагом и выводящую результаты вычислений в виде таблицы, состоящей из двух столбцов – столбца, содержащего значения аргумента и столбца, содержащего значения функции. Значения концов отрезка и шага должны вводиться с клавиатуры.

Таблица – Варианты заданий

 

Вариант Функция Отрезок Шаг
  [0o;360o] 20o
  [0o;180o] 15o
  [-6;5]  
  [-2;2] 0,5
  [-90o;90o] 20o
  [0;10]  
  [-1;1] 0,25
  [-10;20]  
  [0;p]
  [0; ]
  [90o;270o] 30o
  [-p;p]

 

Пример программы.

Написать программу, вычисляющую значения функции с точностью до 2-х знаков после запятой на отрезке [-10;4] с шагом 2 и выводящую результаты вычислений в виде таблицы, состоящей из двух столбцов – столбца, содержащего значения аргумента и столбца, содержащего значения функции. Значения концов отрезка и шага должны вводиться с клавиатуры.

Блок-схема.

 

Program Pr2;

var a,b,h,x,y:real;

begin

writeln('Введите значения концов отрезка:');

readln(a,b); {вводятся концы отрезка}

writeln('Введите шаг:');

readln(h); {вводится шаг}

writeln('-------------------'); {формируется заголовок таблицы}

writeln(' x | y ');

writeln('-------------------');

x:=a; {х присваивается значение начала отрезка}

while x<=b do begin {цикл выполняется пока х≤b}

y:=x/2+1; {вычисляется функция у}

writeln(x:6:2,' | ',y:6:2); {выводятся х и у с заданной точностью}

x:=x+h {берётся следующее значение х}

end;

writeln('-------------------'); {подчёркивается таблица}

readln

end.

Задание 3. Оператор for.

Написать программу, вычисляющую сумму элементов предложенного ряда для n >2. Значения n и х должны вводиться с клавиатуры.

Таблица – Варианты заданий

Вариант Задание
 
 
 
 
 

Продолжение таблицы

 
 
 
 
 
 
 

Блок-схема.

Пример программы.

Написать программу, вычисляющую сумму элементов ряда

для n >2.

Значения n и х должны вводиться с клавиатуры.

Program Pr3;

var x,s,a:real;

n,i:integer;

begin

writeln('Введите x и n:');

readln(x,n); {вводятся значения х и n}

s:=1; a:=1; {задаются начальные значения суммы и первого слагаемого}

for i:=1 to n do begin

a:=a*(-1/x); {вычисляется следующее слагаемое}

s:=s+a {и прибавляется к сумме}

end;

writeln('Искомая сумма = ',s:4:2); {выводится результат}

readln

end.

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

1. Какими командами осуществляется компиляция и трассировка программы? Как вызвать пользовательский экран? Как организовать просмотр значений переменных величин при трассировке программы?

2. Как записывается и как работает оператор FOR?

3. В чем отличие оператора WHILE от оператора REPEAT?

4. Как программируются циклические алгоритмы с явно заданным числом повторений цикла?

5. Как программируются циклические алгоритмы с незаданным числом повторений цикла?

6. Для организации каких циклов, применим оператор FOR?

ЛАБОРАТОРНАЯ РАБОТА № 4







Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.