Задание 5. Цель контрольной работы

Иркутск 2015


Цель контрольной работы:

Проверка знаний по разделам:

· целочисленная арифметика;

· переводы целых чисел из одной системы счисления в другую;

· операторы IF, Case, Whilе, Repeat;

· алгоритмизация циклических процессов.

Порядок выполнения

1. Номер варианта: 0.

2. Номера задач: 7, 5, 11, 16, 17, 24д

Задание 7

Нарисовать блок-схемы и определить значение переменной s после выполнения следующих операторов. Расписать изменение переменных s и i по шагам выполнения цикла.

7.а.

s = 0; i:= 0;

while i < 5 do begin i:= i + 1; s: = s + 1/i; end;

шаг i s
     
     
    1.5
    1.83
    2.08
    2.28

7.б.

s: =0; i: = 10;

while i >1 do begin s:= s +1/i; i:= i -1 end;

шаг i s
     
    0.10
    0.21
    0.34
    0.48
    0.65
    0.85
    1.10
    1.43
    1.93

7.в.

s: = 0; i: = 1;

repeat s: = s + 1/i; i: = i - 1 until i< = 1;

шаг i s
     
    1.0

7.г.

s:=1; i:=10;

repeat s:=s*(10+i); i:=i-2 until i<1;

шаг i s
     
     
     
     
     
     

Задание 5.

1. Условие:

Дано действительное число a и натуральное число n.

Вычислить: a*(a-1)*(a-2)*... * (a-n2).

2. Математическая модель:

Натуральные числа больше 0.

Действительное число - это любое положительное число, отрицательное число или нуль.

3. Таблица внешних спецификаций:

Таблица 1.

No Имя Назначение Тип Ед. изм. ОДЗ
  a действительное число Вещ. - любое
  n натуральное число целое - Больше 0
  i Вспомогательная переменная целое - любое
  res Результат выполнения Вещ - любое
  SOOB1 Сообщение текст - 1 вид
  SOOB2 Сообщение текст - 1 вид
  SOOB3 Сообщение текст - 1 вид

Сообщения:

c1: ‘введите вещественное число a: ’

c2: ‘введите натуральное число n>0: ’

c3: ‘результат: ’

4. Таблица тестов:

Таблица 2.

№ теста Исходные данные Результат Примечания
  a n res
         
  0.1   1.93  
  2.3   -1914.05  

5. Алгоритмизация:

Блок-схема алгоритма (рис. 1):

Рис. 1. Блок-схема алгоритма

6. Кодирование алгоритма:

program kontr5;

var

a: real;

n: integer;

res: real;

i: integer;

begin

cls;

write('Введите вещественное число a: ');

readln(a);

repeat

write('Введите натуральное число n > 0: ');

read(n);

until (n > 0);

res:= a;

for i:= 1 to n*n do

res:= res*(a-i);

writeln('Результат: ', res:5:2);

end.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: