Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 04.04.2010
Сообщений: 19

Програмирование разветвляющихся алгоритмов. Не пойму где ошибки.

16.05.2010, 12:24. Показов 859. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. расчитать значение функции (см. картинку), выбрав значение f(x): sh(x), x^2, e^x
При любом выборе выбирает исключительно первую функцию.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Memo3: TMemo;
    RadioGroup1: TRadioGroup;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
const e=2.7182818284;
var p,x,a,u:real;
begin
x:=StrToFloat(Memo1.Text);
p:=StrToFloat(Memo2.Text);
 
case RadioGroup1.ItemIndex of
0: u:=(exp(x*ln(e))-exp(-x*ln(e)))/2;
1: u:=exp(2*ln(x));
2: u:=exp(x*ln(e))  ;
end;
 
  if x=abs(p) then a:=(u-p)*(u-p);
    if (x>3)and(x<abs(p)) then a:=abs(u-p);
      if x>abs(p) then a:=2*u*u*u+3*p*p;
 
Memo3.Lines.Add('Значение равно'+FloatToStr(a));
 
 
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Lines.Clear;
Memo2.Lines.Clear;
Memo3.Lines.Clear;
Label1.Caption:='x = ';
Label2.Caption:='p = ';
Button1.Caption:='Подсчитать';
RadioButton1.Caption:='f(x)=sh(x)';
RadioButton2.Caption:='f(x)=x^2';
RadioButton3.Caption:='f(x)=e^x';
end;
 
end.


2. Ввести число К и вывести надпись:" Мы выпили К бутылок напитков". Слово бутылок согласовать с числом К.
При нажатии на кнопку ничего не происходит.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Label1: TLabel;
    Button1: TButton;
    Memo2: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var k: real;
    n:integer;
begin
k:=StrToFloat(Memo1.Text);
 
n:=Trunc(k);
if n>19 then n:=n-(n div 10)*10 else n:=n;
case n of
0,5-9,10-19: Memo2.Lines.Add('Мы выпили'+FloatToStr(k)+ 'бутылок лимонада');
1   : Memo2.Lines.Add('Мы выпили'+FloatToStr(k)+ 'бутылку лимонада');
2-4 : Memo2.Lines.Add('Мы выпили'+FloatToStr(k)+ 'бутылки лимонада');
end;
 
 
 
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Lines.Clear;
Memo2.Lines.Clear;
Label1.Caption:='Введите K';
Button1.Caption:='Итого';
 
end;
 
end
Миниатюры
Програмирование разветвляющихся алгоритмов. Не пойму где ошибки.  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.05.2010, 12:24
Ответы с готовыми решениями:

программирование разветвляющихся алгоритмов...
помогите решить на языке Delphi...очень нужно...

Реализация разветвляющихся алгоритмов
как это всё построить, желательно кодом

Программирование разветвляющихся алгоритмов
Нужен код алгоритма для вычисления А, е - экспонента!!! Помогите, пожалуйста!

4
18 / 18 / 7
Регистрация: 21.01.2010
Сообщений: 58
16.05.2010, 12:40
Вот чуть-чуть подправил:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.Button1Click(Sender: TObject);
var k: real;
    n:integer;
begin
k:=StrToFloat(Memo1.Text);
 n:=Trunc(k);
if n>19 then n:=n-(n div 10)*10 else n:=n;
case n of
0,5..9,10..19: Memo2.Lines.Add('Мы выпили '+FloatToStr(k)+ ' бутылок лимонада');
1: Memo2.Lines.Add('Мы выпили '+FloatToStr(k)+ ' бутылку лимонада');
2..4 : Memo2.Lines.Add('Мы выпили '+FloatToStr(k)+ ' бутылки лимонада');
end;
end;
Диапазон ставится через .. Например 0..10
0
 Аватар для Sasha123
12 / 11 / 2
Регистрация: 14.05.2010
Сообщений: 28
16.05.2010, 12:44
2. Ввести число К и вывести надпись:" Мы выпили К бутылок напитков". Слово бутылок согласовать с числом К.
При нажатии на кнопку ничего не происходит.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: 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 k:real;
    n:integer;
begin
k:=StrToFloat(Edit1.Text);
n:=Trunc(k);
if n>19 then n:=n-(n div 10)*10 else n:=n;
case n of
0,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19: Label2.Caption:='Мы выпили'+'  '+FloatToStr(k)+'  '+ 'бутылок лимонада';
1   : Label2.Caption:='Мы выпили'+'  '+FloatToStr(k)+'  '+ 'бутылку лимонада';
2,3,4 : Label2.Caption:='Мы выпили'+'  '+FloatToStr(k)+'  '+ 'бутылки лимонада';
end;
end;
 
end.
0
18 / 18 / 7
Регистрация: 21.01.2010
Сообщений: 58
16.05.2010, 12:54
DaYana, а в первой программе не нужно RadioButton. Кинь на форму RadioGroup и а свойстве Items напиши
f(x)=sh(x)
f(x)=x^2
f(x)=e^x
И тогда код останется правильным.
0
0 / 0 / 0
Регистрация: 04.04.2010
Сообщений: 19
16.05.2010, 13:25  [ТС]
Спасибо большое Всем За помощь! Очень благодарна!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.05.2010, 13:25
Помогаю со студенческими работами здесь

Программирование разветвляющихся алгоритмов
Условие в файле Заранее благодарен LeshaVi, Учитесь пользоваться управлением вложениями. ...

Реализация разветвляющихся алгоритмов
f(x) используется из 3-ёх значений: sh(x) - гиперболический синус x^2 e^x Помогите составить решение для 3-ёх этих значений

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

Программирование разветвляющихся алгоритмов
Отредактируйте вид формы и текст программы в соответствии с полученным заданием. задание и задание я прикрепил... помоги пожалуйста

Программирование разветвляющихся алгоритмов
Помогите создать программу разветвленный алгоритм в Delphi m=\frac{max\left(f(x),y,z \right)}{min\left(f(x),y \right)}+5 где функция...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru