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

Решение задач с помощью языка программирования Delphi: вычисление значения функции Y от X; систем двух уравнений; прогрессий; последовательностей; вычисление числа с определенной точностью; перевод числа из десятичной в восьмеричную систему счисления.

Рубрика Программирование, компьютеры и кибернетика
Вид отчет по практике
Язык русский
Дата добавления 08.06.2010
Размер файла 83,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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-ой день».


Подобные документы

  • Теоретические основы объектно-ориентированного языка программирования Delphi, изучение среды визуального проектирования приложений. Определение 40-го числа Фибоначчи, составление листинга и блок-схемы программы, тестирование ее на работоспособность.

    курсовая работа [261,1 K], добавлен 25.03.2015

  • Понятие и основные свойства алгоритма. Линейный, ветвящийся и циклический виды вычислительных процессов. Перевод числа из десятичной системы счисления в двоичную, восьмеричную, шестнадцатеричную системы, сложение чисел, выполнение вычитания и умножения.

    контрольная работа [125,7 K], добавлен 15.09.2013

  • Особенности и тонкости программирования в среде Delphi. Специфика перехода от алгоритмического решения к непосредственной программной реализации на языке Object Pascal с использованием всех необходимых средств данного языка. Анализ полученных результатов.

    реферат [246,2 K], добавлен 17.11.2012

  • Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.

    курсовая работа [1,2 M], добавлен 04.08.2014

  • Использование объектно-ориентированной методологии при программировании математических процессов. Среда языка программирования Delphi для решения математических задач. Объектно-ориентированные, декларативные и императивные языки программирования.

    дипломная работа [1,8 M], добавлен 14.09.2011

  • Целые числа в позиционных системах счисления. Недостатки двоичной системы. Разработка алгоритмов, структур данных. Программная реализация алгоритмов перевода в различные системы счисления на языке программирования С. Тестирование программного обеспечения.

    курсовая работа [593,3 K], добавлен 03.01.2015

  • Создание Windows-приложения на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое, как планируется, будет обеспечивать решение специализированных задач по формированию, обработке на ЭВМ и выводу информации.

    курсовая работа [967,6 K], добавлен 20.05.2008

  • Изучение особенностей создания алгоритмов вычислительных задач. Визуальное программирование стандартных компонентов среды программирования Delphi. Технология создания компонента Delphi для решения производственной задачи. Выполнение блок-схемы алгоритма.

    курсовая работа [638,0 K], добавлен 30.01.2015

  • История развития, характеристика, предназначение и особенности языка программирования Delphi. Разработка проекта создания кроссворда на объектно-ориентированном языке Delphi, который состоит из 19 вопросов по горизонтали и 16 вопросов по вертикали.

    курсовая работа [970,5 K], добавлен 15.05.2014

  • Перевод числа из десятичной системы счисления в двоичную. Результат выполнения в TURBO PASKAL заданных функций и операций. Программа вычисления значений функции на языке PASKAL, блок-схема. Вычисление суммы и произведения всех элементов массива.

    контрольная работа [66,6 K], добавлен 15.02.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.