Разработка алгоритмов (блок-схем) и программ на языке Delphi
Построение базовой линейной структуры и организация ввода с формы переменной. Определение значения функции и построение блок-схемы базовой структуры "ветвление". Использование цикла со счетчиком. Рассмотрение особенностей работы с одномерными массивами.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 10.12.2021 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
КОНТРОЛЬНАЯ РАБОТА
по дисциплине: «Программирование и основы алгоритмизации»
на тему: «Разработка алгоритмов (блок-схем) и программ на языке Delphi»
Ангарск, 2021 г.
СОДЕРЖАНИЕ
- ЗАДАЧА 1. БАЗОВАЯ ЛИНЕЙНАЯ СТРУКТУРА
- ЗАДАЧА 2. БАЗОВАЯ СТРУКТУРА «ВЕТВЛЕНИЕ»
- ЗАДАЧА 3. ИСПОЛЬЗОВАНИЕ ЦИКЛА СО СЧЕТЧИКОМ
- ЗАДАЧА 4. ИСПОЛЬЗОВАНИЕ ЦИКЛОВ С ПОСТУСЛОВИЕМ И ПРЕДУСЛОВИЕМ
- ЗАДАЧА 5. РАБОТА С ОДНОМЕРНЫМИ МАССИВАМИ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ
ЗАДАЧА 1. БАЗОВАЯ ЛИНЕЙНАЯ СТРУКТУРА
Организовать ввод с формы переменной t
Определить константами: a = 8,2; b = 1,7
Определить по формулам:
Вывести y на экран.
Блок-схема линейного алгоритма:
Скриншот №1 программы:
Скриншот №2 программы:
Листинг программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg, Math;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
img1: TImage;
Button1: TButton;
Label3: TLabel;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private { Private declarations }
public { Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
const
a=8.2;
b=1.7;
var x, y, t: Real;
begin
t:=StrToFloat(Edit1.Text);
x:= b*(Sin((Pi/180 * (a*(Sqr(t))) * (Cos(Pi/180*(2*t))))))-1;
y:= (1/Exp(b*t))*(Sin(Pi/180*(x*t+b)))-(Sqrt(b*t+a));
Edit2.Text:= FloatToStrF(y, ffFixed, 10, 4)
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9', #8: ;
',':
begin
if Pos(',', (Sender as TEdit).Text)> 0 then
Key:=#0;
end; else Key:=#0; end; end; end.
ЗАДАЧА 2. БАЗОВАЯ СТРУКТУРА «ВЕТВЛЕНИЕ»
Определить значение функции
Блок-схема базовой структуры «ветвление»:
Скриншот №1 программы:
Скриншот №2 программы:
Листинг программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
Label1: TLabel;
img1: TImage;
lbl1: TLabel;
Edit1: TEdit;
Button1: TButton;
lbl2: TLabel;
Edit2: TEdit;
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>0 then
y:= Exp(1/3*ln((x+ Sqr(x)+ (Exp(3*ln(x))))))
else y:= Exp(x* Ln(x+10));
Edit2.Text:= FloatToStrF(y, ffFixed, 10,3);
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9', #8: ;
',', '-':
begin
if Pos(',', (Sender as TEdit).Text)> 0 then
Key:=#0;
end;
else
Key:=#0;
end;
end;
end.
ЗАДАЧА 3. ИСПОЛЬЗОВАНИЕ ЦИКЛА СО СЧЕТЧИКОМ
Дано натуральное число n=15. Вычислить:
y=
Блок-схема: использование цикла со счётчиком
Скриншот №1 программы:
Листинг программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg,Math;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
lbl1: TLabel;
img1: TImage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var n, i: integer;
s: Real;
begin
n:=15;
s:=0;
for i:=1 to n do
s:= s+ ((Cos(Pi/180*1) + Cos(Pi/180*n))/ (Sin(Pi/180*1)+ Sin(Pi/180*n)));
Memo1.Text:=FloatToStrF(s, ffFixed,10,3);
end;
end.
ЗАДАЧА 4. ИСПОЛЬЗОВАНИЕ ЦИКЛОВ С ПОСТУСЛОВИЕМ И ПРЕДУСЛОВИЕМ
Вычислить:
при изменении x от значения - до с шагом 0,2.
Блок-схема с использованием циклов:
Скриншот программы:
Листинг программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls, Math;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
img1: TImage;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
lbl1: TLabel;
lbl2: TLabel;
lbl3: TLabel;
procedure Button1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
a, b, c, x, r, y: Real;
begin
a:=StrToFloat(edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=StrToFloat(edit3.Text);
x:= 1/pi;
r:= 0.2;
while x<=Pi do
begin
y:= (Sin(a*x) - Cos(b*x))/c;
Memo1.Lines.Add('при x= ' + FloatToStrF(x, ffFixed, 10, 2)+ ' y= '+ FloattostrF(y, ffFixed, 10, 2));
x:= x+r;
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9', #8: ;
',', '-':
begin
if Pos(',', (Sender as TEdit).Text)> 0 then
Key:=#0;
end;
else Key:=#0;
end;
end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9', #8: ;
',', '-':
begin
if Pos(',', (Sender as TEdit).Text)> 0 then
Key:=#0;
end;
else Key:=#0;
end;
end;
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9', #8: ;
',', '-':
begin
if Pos(',', (Sender as TEdit).Text)> 0 then
Key:=#0;
end;
else Key:=#0;
end;
end;
end.
ЗАДАЧА 5. РАБОТА С ОДНОМЕРНЫМИ МАССИВАМИ
блок схема массив линейный
Ввести элементы одномерного массива размером 30 с использованием генератора случайных чисел в диапазоне [-10?10]. Найти: минимальный элемент и его номер
Блок-схема: работа с одномерным массивом
Скриншот №1 программы:
Скриншот №2 программы:
Листинг программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
lbl1: TLabel;
lbl2: TLabel;
Edit1: TEdit;
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, j, min: Integer;
A: array[1..30] of Integer;
st:string;
begin
Randomize;
for i:=1 to 30 do
A[i]:= Random(21)-10;
st:=' ';
for i:=1 to 30 do
st:=st+Inttostr(A[i])+' '+' ';
edit1.Text:=st;
min:=1;
for i:=1 to 30 do begin
if A[min]> A[i] then
min:=i;
j:= min;
end;
Label3.Caption:='минимальный элемент массива = '+intToStr(A[min]) + ' ' +'его номер = '+ IntToStr(j);
end; end.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ
1 Бобровский С. И. Delphi 7. Учебный курс. СПб.: Питер, 2008. 736 с.: ;
2 Каймин В. А. Информатика: Учебник. 5-е изд. М.: ИНФРА-М, 2008.- 285 с. (Высшее образование);
3 Программирование. Методические указания и варианты по выполнению лабораторных работ./Составила Засухина О. А. Ангарская государственная техническая академия. Ангарск, 2014 - 114 с.;
4 Рапаков Г. Г. Turbo Pascal для студентов и школьников / Г. Г. Рапаков, С. Ю. Ржеуцкая. СПб.:БХВ-Петербург, 2013. 352 с.: ил.;
5 Симонович С. В. Информатика. Базовый курс: Учебник для вузов. 3-е изд. Стандарт третьего поколения. СПб.: Питер, 2016. 640 с.: ил. (Серия «Учебник для вузов»);
6 Фаронов В. В. Delphi. Программирование на языке высокого уровня: Учебник для вузов - СПб.: Питер, 2008. 640 с.: ил.
Размещено на Allbest.ru
Подобные документы
Изучение функций и возможностей среды разработки языка программирования Pascal. Рассмотрение работы с одномерными и двумерными массивами, со строками и числами. Математическая формулировка задач. Разработка алгоритмов, описание структуры программ.
курсовая работа [879,8 K], добавлен 11.02.2016Приобретение навыков структурных блок-схем и листингов программ на языке "Ассемблер" для простых микропроцессорных систем управления процессами. Типовые структуры блок-схем алгоритмов обработки данных. Программная реализация типовых функций управления.
методичка [1007,8 K], добавлен 01.10.2010Особенности среды визуального проектирования Borland Delphi 7.0. Этапы разработки программы и составления блок-схемы алгоритмов. Способы вычисления кусочно-заданной функции одной переменной. Рассмотрение компонентов среды Delphi, ее предназначение.
контрольная работа [703,8 K], добавлен 24.09.2012Составление блок-схемы алгоритма решения задачи, погрешности вычисления суммы членов числового ряда. Разработка программ на языке на Visual Basic, работа с массивами. Особенности работы со строковыми данными. Варианты реализации формы приложения.
контрольная работа [220,4 K], добавлен 18.06.2010Исследование особенностей разработки линейных алгоритмов и их реализации в среде Delphi. Составление тестов для проверки программы. Характеристика основных элементов интерфейса, компонентов, значения их свойств. Построение графической схемы алгоритма.
лабораторная работа [316,6 K], добавлен 08.11.2012Понятие алгоритма, его назначение, представление (изобразительные средства для описания), типы, способы записи, схемы. Основные принципы разработки алгоритмов и программ. Характеристика языков программирования. Средства и правила построения блок-схем.
реферат [87,9 K], добавлен 26.03.2010Анализ и формализация задачи моделирования: построение концептуальной модели, ее формализация в виде Q-схемы. Построение имитационной модели: создание блок-схемы, представление базовой исходной имитационной модели. Исследование экономических процессов.
контрольная работа [156,0 K], добавлен 21.11.2010Разработка простейших линейных алгоритмов (составление логических выражений), программ с ветвлениями, циклических программ и составление их блок-схем. Практическое выполнение обработки массивов на примере вычисления элементов квадратной матрицы.
контрольная работа [173,3 K], добавлен 01.03.2010Приемы работы с инструментальной средой программирования С++. Кодирование арифметических и логических выражений с использованием стандартных библиотечных функций ввода, вывода в С++. Описание переменной вещественного типа в языке программирования С++.
лабораторная работа [137,9 K], добавлен 13.06.2014Разновидности конструктивных решений реализации весового оборудования. Разработка блок-схемы предустановок, блок-схемы измерения веса, блок-схемы вывода информации о весе в компьютер, блок-схемы устройства и программы работы микропроцессорного блока.
курсовая работа [525,4 K], добавлен 13.02.2023