Рефераты
 

Разработка алгоритмов и программирование различных вычислительных процессов на языке Delphi

Разработка алгоритмов и программирование различных вычислительных процессов на языке Delphi

36

Министерство образования и науки Российской Федерации

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

Государственное образовательное учреждение высшего профессионального образования

«Комсомольский-на-Амуре государственный технический университет»

Факультет компьютерных технологий

Кафедра «Информационные системы»

ОТЧЕТ

по расчетно-графическому заданию

по курсу «Информатика и программирование» 1 семестр.

Тема: «Разработка алгоритмов и программирование различных вычислительных процессов на языке Delphi».

Студент группы 9ПИ-1 Шикер С.А.

2010

Вариант №16

1. Вычислить значение функции Y от произвольного X. Провести тестирование программы. Даны t= -23,4; d= 12; p=17,6

2. Дано натуральное n. Вычислить:

3. Исследовать, сколько решений имеет система 2-х уравнений с двумя неизвестными. В случае единственного решения найти его по правилу Крамера, где a, b, c, d, p, q - вещественные числа

4. Даны действительные числа a, b, e (a>b>0, e>0). Последовательности x1, x2, … и y1, y2, …образованы по закону: x1=a, y1=b, xk = xk-1+yk-1; . Найти первое xn такое, что

5. Даны целое число n, действительные числа x, e (e> 0, n>= 0). Вычислить с точностью e значение

6. Написать программу набора суммы очков S из слагаемых, являющихся целыми числами, каждое из которых принадлежит интервалу [k, l] и генерируется случайным образом. Сумму набирать до тех пор, пока не выполнится условие S < n-5 (n - задано).

7. В 1985 году урожай ячменя составил 20 ц с га. В среднем каждые 2 года за счет применения передовых агротехнических приемов урожай увеличивается на 5 %. Определить, через сколько лет урожайность достигнет 25 ц с га.

8. Переведите число из десятичной в восьмеричную систему счисления.

9. Начав тренировки, спортсмен в первый день пробежал 13 км. Каждый следующий день он увеличивал дневную норму на 1,4 % от нормы предыдущего дня. На какой день он пробежит больше 24 км?

Задача №1.

Вычислить значение функции Y от произвольного X. Провести тестирование программы. Даны t= -23,4; d= 12; p=17,6

Структура проекта

Проект

Form1

Procedure Button1Click (вычисление)

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

Входные данные.

Назначение

Тип

t

Константа функции

Вещественный

d

Константа функции

Целый

p

Константа функции

Вещественный

x

Переменная функции

Вещественный

Выходные данные.

Назначение

Тип

y

Значение функции

Вещественный

Блок-схема.

36

Описание интерфейса.

Объект.

Свойство.

Устанавливаемое значение.

Label1

Caption

“x”

Label2

Caption

“y”

Edit1

Text

поле ввода значения х

Button1

Caption

кнопка «Вычислисть»

Label3

Caption

поле вывода значения у

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Math;

type

TForm1 = class(TForm)

Edit1: TEdit; //после ввести значение х

Button1: TButton; //кнопкка Вычислить

Label1: TLabel; //после вывести значение у

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

x,y:real; //значения х,у

begin

x:=StrToFloat(Edit1.Text);

if x>3 then

Label1.Caption:='Функция не определена';

if (x>=2) and (x<=3) then

begin

//получить исходные данные

y:=(power(12, 2/3)+power(sin(3*x),2)+sqrt(12))/power(x,4);

Label1.Caption:=FloatToStr(y);

end;

//вычислить значения у

if x<2 then

begin

y:=(-23.4*power((x+2.5),3)-ln(abs(power(x,3))))/(17.6+3*(-23.4));

Label1.Caption:=FloatToStr(y);

end;

end;

end.

Тестирование программы.

Значение х

Результат

1

19,073669

3

0,0861794

4

Функция неопределенна

Задача №2.

Дано натуральное n. Вычислить: .

Структура проекта.

Проект

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

Входные данные.

Назначение.

Тип.

n

Переменная формулы.

Целый.

Выходные данные.

Назначение.

Тип.

р

Результат вычислений.

Вещественный.

Блок-схема.

36

Описание интерфейса.

Объект.

Свойство.

Установленное значение.

Label1

Caption

“n”

Label2

Caption

Результат

Edit1

Text

Поле ввода значения n

Button1

Caption

Кнопка Вычислить

Label3

Caption

Поле вывода значения

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls,Math;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit; // значение n

Label2: TLabel;

Label3: TLabel; // значение

Button1: TButton; // кнопка Вычислить

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

i,r: integer;

p,m,n:real;

begin

n:=strtofloat(Edit1.Text);

p:=1;

m:=n-Trunc(n); // возвращает целую часть от числа, получаем дробную часть, если число введено не целое

if m=0 then //если число целое, то запускается цикл

begin

r:=Trunc(n); // переводим число из вещественного типа в целое

if n>0 then

begin

for i:=1 to r do

begin

p:=P*intpower((1+1/i),i);

end;

label3.Caption:=floattostr(p);

end else

label3.Caption:='Не удовлетворяет условию';

end else

label3.Caption:='Не удовлетворяет условию';

end;

Тестирование программы.

Значение n.

Результат.

-1

Не удовлетворяет условию.

2

4,5

2,3

Не удовлетворяет условию.

1

2

0

Не удовлетворяет условию.

Задача №4.

Даны действительные числа a, b, e (a>b>0, e>0). Последовательности x1, x2, … и y1, y2, …образованы по закону: x1=a, y1=b, xk = xk-1+yk-1; . Найти первое xn такое, что

Структура проекта.

Проект

Form1

Procedure Button1Click (вычисление)

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

Входные данные

Назначение

Тип

Х1

Переменная функции

Вещественный

У1

Переменная функции

Вещественный

у

Переменная функции

Вещественный

Выходные данные

Назначение

Тип

х

Значение функции

Вещественный

Блок-схема.

36

Описание интерфейса

Объект.

Свойство.

Устанавливаемое значение.

Label1

Caption

“x1”

Label2

Caption

“y1”

Label3

Caption

“e”

Edit1

Text

поле ввода значения х1

Edit2

Text

Поле ввода значения у1

Edit3

Text

Поле ввода значения е

Button1

Caption

кнопка «Вычислисть»

Label4

Caption

поле вывода значения x

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, math;

type

TForm1 = class(TForm)

Edit1: TEdit; //после ввести значение x1

Edit2: TEdit; //после ввести значение y1

Edit3: TEdit; //после ввести значение е

Label1: TLabel; //поле вывести значение x1

Label2: TLabel; //поле вывести значение y1

Label3: TLabel; //поле вывести значение e

Button1: TButton; //кнопка Вычислить

Label4: TLabel; //после вывести значение х

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

e,x,y,x1,y1: real; //значения e,x,y,x1,y1

begin

//получить исходные данные

x1:=StrToFloat(Edit1.Text);

y1:=StrToFloat(Edit2.Text);

e:=StrToFloat(Edit3.Text);

if (y1>0) and (x1>y1) and(e>0) then

begin

repeat

y:=power(x1*y1,1/2);

x:=x1+y1;

x1:=x;

y1:=y;

until (ABS(x-y)>=e);

Label4.Caption:=FloatToStr(x1);

end else

Label4.Caption:='Числа не удовлетворяют условию';

end;

end.

Тестирование программы

Значение х1

Значение у1

Значение е

Результат

12

3

34

65,34543039642

213

16

26

229

12

16

25

Числа не удовлетворяют условию

Задача №5.

Даны целое число n, действительные числа x, e (e> 0, n>= 0). Вычислить с точностью e значение

Структура проекта.

Проект

36

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

Входные данные.

Назначение

Тип

Х

Переменная

Вещественное

е

Точное вычисление

Вещественное

Выходные данные.

Назначение

Тип

S

Значение суммы

Вещественный

Блок-схема.

36

Описание интерфейса

Объект

Свойство

Назначение

Label1

Caption

ввести значение n

Label2

Caption

ввести значение х

Label3

Caption

ввести значение е

Label4

Caption

поле вывода результата

Edit1

Text

поле ввода значения n

Edit2

Text

поле ввода значения х

Edit3

Text

поле ввода значения е

Button1

Caption

Кнопка Вычислить

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, math;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

n,x,e,z,y,s,m,k:real;

begin

n:=StrToFloat(Edit1.Text);

x:=StrToFloat(Edit2.Text);

e:=StrToFloat(Edit3.Text);

m:=1;

k:=0;

y:=0;

s:=(1/n)*Power(x/2,n);

z:=n-Trunc(n);

if (z=0) and (e>0) and (n>=0) then

begin

repeat

k:=k+1;

m:=m*k*(k+n);

y:=(power(-1,k)/m)*Power(x/2,n+2*k);

s:=y+s;

until (ABS(y)<=e);

Label1.Caption:=FloatToStr(s);

end else

Label1.Caption:='Числа не удовлетворяют условию';

end;

end.

Тестирование программы

Значение n

Значение х

Значение е

Результат

5

7

4

-378,543303956125

1,5

2

9

Числа не удовл. условию

6

10

1

-13031,2233984138

Задача №6

Написать программу набора суммы очков S из слагаемых, являющихся целыми числами, каждое из которых принадлежит интервалу [k, l] и генерируется случайным образом. Сумму набирать до тех пор, пока не выполнится условие S < n-5 (n - задано).

Проект

Form1

Procedure Button1Click (вычисление)

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

Входные данные

Назначение

Тип

L

Переменная

Вещественное

K

Переменная

Вещественное

N

Переменная

Вещественное

Выходные данные.\

Назначение

Тип

S

Значение суммы

Вещественное

Блок-схема.

36

Описание интерфейса.

Объект

Свойство

Устанавливаемое значение.

Edit1

Caption

Поле ввода “K”

Edit2

Caption

Поле ввода “L”

Edit3

Caption

Поле ввода “N”

Label1

Text

Поле вывода “K”

Label2

Text

Поле вывода “L”

Label3

Text

Поле вывода “N”

Label4

Text

Поле вывода “S”

Button1

Caption

Кнопка «Вычислить»

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton; //кнопка Вычислить

Edit1: TEdit; //поле ввести значение L

Label1: TLabel; //поле вывести значение L

Edit2: TEdit; //поле ввести значение К

Edit3: TEdit; //поле ввести значение N

Label2: TLabel; //поле вывести значение К

Label3: TLabel; //поле вывести значение N

Label4: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

k,l,n,S:integer; //значения K, L, N, S

begin

Randomize;

k:=StrToInt(Edit1.Text);

l:=StrToInt(Edit2.Text);

n:=StrToInt(Edit3.Text);

S:=0;

repeat

S:=S+(Random(l+1)+k); //вычислить значение S

until S<(n-5);

Label1.Caption:=IntToStr(S);

end;

end.

Тестирование программы

Значение

Значение

Значение

Результат

2

7

22

7

Задача №7

В 1985 году урожай ячменя составил 20 ц с га. В среднем каждые 2 года за счет применения передовых агротехнических приемов урожай увеличивается на 5 %. Определить, через сколько лет урожайность достигнет 25 ц с га.

Структура проекта

Проект

Form1

Procedure FormCreate

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

Входные данные

Назначение

Тип

S

Переменная

Целое

I

Переменная

Вещественное

Выходные данные

Назначение

Тип

I

Значение

Вещественное

Блок-схема

36

Описание интерфейса

Объект

Свойство

Устанавливаемое значение

Label1

Caption

Поле вывода I

Edit1

Text

Поле ввода S

Button1

Caption

Кнопка «Вычислить»

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1:TEdit;

Button1:TButton;

Label1: TLabel;

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

var

i:integer; // значение i

s:real; // значение S

begin

s:=20;

i:=0;

repeat

i:=i+2;

s:=s+s*0.05;

until s>=25;

label1.Caption:='Урожайность достигнет 25 ц с га через '+IntTоStr (i) +' лет';

end;

end.

Тестирование программы.

«Урожайность достигнет 25 ц с га через 10 лет»

Задача №8.

Переведите число из десятичной в восьмеричную систему счисления.

Структура проекта.

Проект

36

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

Входные данные.

Назначение

Тип

Z

Переменная

Целое

Выходные данные.

Назначение

Тип

Z

Результат вычислений

Целое

Блок-схема.

36

Описание интерфейса.

Объект

Свойство

Установленное значение

Edit1

Text

Поле ввода значения Z

Label1

Caption

Поле вывода значения Z

Label2

Caption

Результат

Button1

Caption

Кнопка Вычислить

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit; //поле ввести значение z

Button1: TButton; // кнопка Вычислить

Label1: TLabel; // поле вычислить значение z

Label2: TLabel; // поле вычислить значение j

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

i,j:integer; // значения i, j

s,z:string; // значения s, z

begin

Label1.Caption:=''; // вычислить значение j

j:=StrToInt(Edit1.Text);

repeat

// вычислить значение z

z:=z+IntTOStr(j mod 8);

j:=j div 8;

until j<8;

z:=z+IntTOStr(j);

for i:=Length(z) downto 1 do

Label1.Caption:=Label1.Caption+z[i]

end;

end.

Тестирование программы

Значение Z

Результат

79

117

11

13

39

47

Задача №9.

Начав тренировки, спортсмен в первый день пробежал 13 км. Каждый следующий день он увеличивал дневную норму на 1,4 % от нормы предыдущего дня. На какой день он пробежит больше 24 км?

Структура проекта.

Проект

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

Входные данные.

Назначение

Тип

S

Путь, пройденный за один день

Целое

I

День

Целое

Выходные данные.

Назначение

Тип

I

День, на который спортсмен пробежит больше 24км

Целое

Блок-схема.

36

Описание интерфейса.

Объект

Свойство

Назначение

Label1

Caption

Поле вывода значения I

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

var

i:integer;

s:real;

begin

s:=13;

i:=1;

repeat

i:=i+1;

s:=s+s*0.14;

until s>=24;

label1.Caption:='Спортсмен пробежит больше 24км на '+IntTOStr(i)+' день';

end;

end.

Тестирование программы.

«Спортсмен пробежит больше 24 км на 6-ой день».


© 2010 BANKS OF РЕФЕРАТ