У вас вопросы?
У нас ответы:) SamZan.net

По дисциплине ldquo;Программирование на языке высокого уровняrdquo; Выполнил Студент группы 5841 Атро

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 2.2.2025

Федеральное Агенство по Образованию РФ

Томский Университет Систем Управления и Радиоэлектроники (ТУСУР)

Кафедра компьютерных систем управления в проектировании (КСУП)

Отчет к лабораторной работе №1 (задача №21)

По дисциплине

“Программирование на языке высокого уровня”

 Выполнил

Студент группы 584-1

Атрошенко М.А.

 

Проверил

Ст. пр. кафедры КСУП

Рыбалка Е. Н.

Томск 2004

Условие задачи:

Дано натуральное число n.  Вычислить произведение первых n сомножителей 1/1 * 3/2 * 5/3 * ... .

Описание используемых переменных и обоснование выбора типа переменных.

n – целочисленная переменная, выражающая (максимальное) количество элементов;
nod - целочисленная переменная, выражающая значение наибольшего общего делителя дву чисел;
chislit, znamen – целочисленные переменные, выражающие числитель и знаменатель соответственно;
result -  вещественная переменная, выражающая значение произведения элементов;
i – целочисленная переменная, используемая в качестве счетчика в циклах;
ch, zn – переменные вещественного типа, являющиеся числителем и знаменателем соответственно после деления на их наибольший общий делитель.

Формальное описание алгоритма решения задачи:

{Заметим, что данный числовой ряд можно записать в виде формулы: (2n-1)/n }

1) вводится с клавиатуры действительное число n;
2) если пользователь вводит с клавиатуры число
n ≤ 0, то программа выводит сообщение пользователю о невозможности определения произведения k элементов, если введено n > 0, то программа начинает вычислять с использованием цикла значения числителя (2n-1) и знаменателя n, а так же вычисляет значение (2n-1)/n;
3) после нахождения значений числителя и знаменателя, находим их наибольший общий делитель;
4) деление числителя и знаменателя на их наибольший общий делитель;
5) вывод на экран значения, дроби (так как значение дроби есть точное значение) и приближенное значение; завершение программы.

Текст программы:

uses crt;{подключение модуля}

var

  n,i,nod:integer;

  chislit,znamen:longint;

  result,ch,zn:real;

begin

clrscr;

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

readln(n);

if (n<=0) then writeln('значение неопределено')

 else

begin

result:=1;

chislit:=1;

znamen:=1;

for i:=1 to n do

begin

 result:=result*(2*i-1)/i;

 chislit:=chislit*(2*i-1);{ значение числителя }

 znamen:=znamen*i; {значение знаменателя}

 end;

i:=chislit;

{нахождение НОД}

repeat

dec(i);{уменьшение значения i на единицу}

nod:=i;

until ((chislit mod i =0 )and(znamen mod i = 0));

{после выхода из цикла мы получим значение НОД}

ch:=chislit/nod;{значение числителя после деления на НОД}

zn:=znamen/nod; {значение знаменателя после деления на НОД}

writeln('Произведение ',n,' первых сомножителей равно: ',ch:0:0,'/',zn:0:0);

writeln('или в значении с плавающей точкой: ',result:3:3);

readkey;{ожидание нажатия клавиши}

end;

end.{завершение программы} 

Описание алгоритма решения задачи при помощи блок – схемы.

Блок нахождения НОД.


начало

Ввод натурального числа n>0

n

out

true

result=result*(2*i-1)/i

chislit=chislit*(2*i-1)

znamen=znamen*i

nod=i

i = 1

i ≤ n

Остаток от деления chislit на i=0

AND

Остаток от деления znamen на i=0

true

i=i-1

i=chislit

Определение НОД(nod)*

Числителя(chislit) и

Знаменателя(znamen)

ch=chislit/nod

zn=znamen/nod

false

Вывод на экран значения

ch ‘/’ zn (ввиде дроби)

вывод на экран значения

result(приближенное значение ряда)

конец

false




1. Высшее образование в Германии
2. Развитие малого бизнеса в России на примере курорта Геленджик
3. West of Europe consist of two lrge islnds ~ Gret Britin nd Irelnd nd bout 5 thousnd smll islnds
4. Охрана труда на 20132014 учебный год Специальности 5В080800 Почвоведение и агрохимия 5В080100 Агрономия 5В081
5. На тему- Прибыль и ее роль в рыночной экономике Выполнил- Студент 4 курса Заочного отделения Группы
6. Информационная система складского учёта бытовых электроприборов
7. 12 Затверджую
8. Лекция 10 Психологическая работа с созависимыми клиентами 6 ч
9. Московские музеи
10. Тема- Дослідження напівпровідникових стабілітронів