Задание 21

1. Условие:

Вычислить сумму квадратов всех целых чисел, попадающих в интервал (Ln(x), exp(x)) при x>1

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

Ln - возвращает натуральный логарифм аргумента.

Еxp(x) - значение e, возведённое в степень х, где e — основание натуральных логарифмов.

Trunc - целая часть числа с плавающей запятой

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

Таблица 1.

No Имя Назначение Тип Ед. изм. ОДЗ
  n число целое - положительное четное
  b Вспомогательная переменная целое - любое
  i Вспомогательная переменная вещ - любое
  x Вспомогательная переменная вещ - любое
  sum результат длинное целое число - диапазон 2147483648..2147483647
  SOOB1 Сообщение текст - 1 вид
  SOOB2 Сообщение текст - 1 вид

Сообщения:

c1: ‘Введите число 22<x>1: ’

c2: ‘Сумма квадратов целых чисел в интервале от до ’

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

Таблица 2.

№ теста Исходные данные Результат Примечания
  x Ln(x) Exp(x) sum
    0.693147180559945 7.38905609893065    
    1.79175946922806 403.428793492735    
    2.30258509299405 22026.4657948067    
    3.04452243772342 1318815734.48321 -110642475  
    - - - Ошибка времени выполнения: Значение было недопустимо малым или недопустимо большим для Int32.*

* дописываю промежуток вводимых значений n от 2 до 21.

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

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

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

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

program kontr21;

Var

a, b, i: integer;

x: real;

sum: longint;

Begin

Repeat

writeln('Введите число 22<x>1: ');

readln(x);

until (x > 1) and (x < 22);

a:= Trunc(ln(x)+1);

b:= Trunc(exp(x));

for i:= a to b do

sum:= sum + Sqr(i);

writeln('Сумма квадратов целых чисел в интервале от ', ln(x), ' до ', exp(x), ' = ', sum);

readln;

end.

Задание 24а.

1. Условие:

Продолжить последовательность и составить программу, печатающую N чисел данной последовательности: 21, 20, 18, 15, 11, 6, ___, ___

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

Inc(x) - процедура порядкового типа увеличивает x на 1

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

Таблица 1.

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

Сообщения:

c1: ‘Введите количество цифр в последовательности’

c2: ‘, ’

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

Таблица 2.

№ теста Исходные данные Результат вывода Примечания
  n  
    21, 20, 18, 15, 11  
    21, 20, 18, 15, 11, 6, 0, -7, -15, -24, -34  
    21, 20, 18, 15, 11, 6, 0, -7, -15, -24, -34, -45, -57, -70, -84, -99, -115, -132, -150, -169  

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

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

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

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

program kontr25a;

Var

a,n,i:integer;

Begin

writeln('Введите количество цифр в последовательности');

readln(n);

a:=21;i:=0;

while i<n do begin

write(a,', ');

inc(i);

a:=a-i;

end;

end.


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



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