Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
«Комсомольский-на-Амуре государственный технический университет»
Факультет компьютерных технологий
Кафедра «Информационные системы»
ОТЧЕТ
по расчетно-графическому заданию
по курсу «Информатика и программирование» 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
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
Значение функции
Вещественный
Блок-схема.
Описание интерфейса.
Объект.
Свойство.
Устанавливаемое значение.
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 }--PAGE_BREAK--
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
begin
//получитьисходныеданные
y:=(power(12, 2/3)+power(sin(3*x),2)+sqrt(12))/power(x,4);
Label1.Caption:=FloatToStr(y);
end;
//вычислить значения у
if x
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
Переменная формулы.
Целый.
Выходные данные.
Назначение.
Тип.
р
Результат вычислений.
Вещественный.
Блок-схема.
Описание интерфейса.
Объект.
Свойство.
Установленное значение.
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); продолжение
--PAGE_BREAK--
end;
label3.Caption:=floattostr(p);
end else
label3.Caption:='Неудовлетворяетусловию';
end else
label3.Caption:='Не удовлетворяет условию';
end;
Тестирование программы.
Значение n.
Результат.
-1
Не удовлетворяет условию.
2
4,5
2,3
Не удовлетворяет условию.
1
2
Не удовлетворяет условию.
Задача №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
Переменная функции
Вещественный
у
Переменная функции
Вещественный
Выходные данные
Назначение
Тип
х
Значение функции
Вещественный
Блок-схема.
Описание интерфейса
Объект.
Свойство.
Устанавливаемое значение.
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); продолжение
--PAGE_BREAK--
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 значение
/>
Структура проекта.
/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>
Математическая модель
Входные данные.
Назначение
Тип
Х
Переменная
Вещественное
е
Точное вычисление
Вещественное
Выходные данные.
Назначение
Тип
S
Значение суммы
Вещественный
Блок-схема.
/>
Описание интерфейса
Объект
Свойство
Назначение
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 продолжение
--PAGE_BREAK--
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)
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
/>/>/>/>Проект
/>/>/>/>Form1
/>
/>
/>
/>/>
/>
/>
/>
/>/>Procedure Button1Click (вычисление)
Математическая модель.\
Входные данные
Назначение
Тип
L
Переменная
Вещественное
K
Переменная
Вещественное
N
Переменная
Вещественное
Выходные данные.\
Назначение
Тип
S
Значение суммы
Вещественное
Блок-схема.
Описание интерфейса.
Объект
Свойство
Устанавливаемое значение.
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; продолжение
--PAGE_BREAK--
repeat
S:=S+(Random(l+1)+k); //вычислитьзначениеS
until S
Label1.Caption:=IntToStr(S);
end;
end.
Тестирование программы
Значение
Значение
Значение
Результат
2
7
22
7
Задача №7
В 1985 году урожай ячменя составил 20 ц с га. В среднем каждые 2 года за счет применения передовых агротехнических приемов урожай увеличивается на 5 %. Определить, через сколько лет урожайность достигнет 25 ц с га.
Структура проекта
/>Проект
/>
/>
/>/>/>/>/>Form1
/>
/>
/>/>/>Procedure FormCreate
/>
Математическая модель
Входные данные
Назначение
Тип
S
Переменная
Целое
I
Переменная
Вещественное
Выходные данные
Назначение
Тип
I
Значение
Вещественное
Блок-схема
Описание интерфейса
Объект
Свойство
Устанавливаемое значение
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.
Переведите число из десятичной в восьмеричную систему счисления.
Структура проекта.
/>/>
Математическая модель.
Входные данные.
Назначение
Тип
Z
Переменная
Целое
Выходные данные.
Назначение
Тип
Z
Результат вычислений
Целое
Блок-схема.
Описание интерфейса.
Объект
Свойство
Установленное значение
Edit1 продолжение
--PAGE_BREAK--
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
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км
Целое
Блок-схема.
Описание интерфейса.
Объект
Свойство
Назначение
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-ой день».