Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Drs26
0 / 0 / 2
Регистрация: 02.03.2013
Сообщений: 28
#1

Программы + меню ( надо 2 программы написать с меню вместе ) - Turbo Pascal

29.11.2013, 01:53. Просмотров 670. Ответов 1
Метки нет (Все метки)

Ребята есть проблема, что бы в задании выдавало определенное решение то есть, надо что бы решение было через средние выбрал их и ответ, надо через левые выбрал и ответ... Идея появилась сделать это через меню.. та вот есть проблема: 2 отдельных задания и меню... а как его соединить .. помогите пожалуйста. Скидываю коды.. которые имею.

Меню:
Pascal
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
72
73
74
75
76
77
78
79
80
81
82
83
84
uses crt;
const kol=2;{Koli4ectvo punktov menu}
      {masiv nazvaniu punktov menu}
      vybor:array[1..kol] of string=
      ('1-Metod levix','2-Metod srednix ');
procedure Menu(var k:byte;var c:char);{sozdanie i vuvod menu na ekran}
var kod: char;
    i:byte;
begin
window(1,1,80,25);
textbackground(0);
clrscr;
gotoxy(4,1);
write('Menu');
k:=1; {vuveden punk 1-ro menu}
repeat
for i:=1 to kol do
 begin
  if i=k then {vudekenuy punk}
   begin
    textbackground(7);
    textcolor(12);
   end
  else  {ostakbnue}
   begin
    textbackground(0);
    textcolor(15)
   end;
  gotoxy(1,i+1);{stavim kurcor}
  write(vybor[i]);{vuvodim pynktu}
 end;
c:=readkey;
if c=#27 then halt{Esc-Vuxid z programmu}
else if c=#0 then kod:=readkey;{priznax clujebnoy klaviwu}
  case kod of
  #72: begin{strelka vverx}
       if c=#0 then k:=k-1;
       if k=0 then k:=4;{ecli vushe verxa, to vniz}
       end;
  #80: begin {strelka vniz}
       if c=#0 then k:=k+1;
       if k=5 then k:=1;{ecli nije niza, to verx}
       end;
  end;
until c=#13;{najat Enter, vuxodim iz menu v vubranu10 procedure}
end;
{osnova prog}
var k:byte;
    c:char;
    s:string;
begin
textbackground(2);
textcolor(14);
clrscr;
gotoXY(27,11);
write('Vubor metoda');
gotoXY(10,12);
write('Ypravlenie stralkami verx-vniz, Vubor punkta Enter, Vuxod Esc');
gotoXY(30,13);
write('Najmite Enter');
readln;
window(1,1,80,25);
textbackground(0);
textcolor(15);
clrscr;
s:='Vubran metod ';
 repeat
   Menu(k,c);{vuvod menu}
   clrscr;
   case k of{vubiraem strelkami deystvie}
   1: begin
       write(s,'Metod levix');
      readln;
      end;
   2: begin
       textbackground(0);
       textcolor(15);
       clrscr;
       write(s,'Metod srednix');
       readln;
      end;
  end;
 until c=#27;
end.
Метод левых:
Pascal
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
var
  n : integer;
  s,Rn: real;
 
function f(x:real):real;
begin
  f:=sqrt(2*x*x+3)/(x*x+6*x);
end;
 
procedure rect (a,b:real; n:integer; var s:real);
var
  i : integer;
  h,x : real;
begin
  h:=(b-a)/n;
  x:=a+h/2;
  s:=0.0;
  n:=10;
  for i:=1 to n do
    begin
      s:=s+f(x);
      x:=x+h-h/2;
    end;
  s:=s*h;
end;
 
begin
  rect (0.25,2,10, s);
  writeln;
  write('Integral = ',s:4:4);
  writeln;
end.

Метод средних:
Pascal
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
{metod serednih pryamokutnykiv}
var
  n : integer;
  s: real;
 
function f(x:real):real;
begin
  f:=sqrt(2*x*x+3)/(x*x+6*x);
end;
 
procedure rect (a,b:real; n:integer; var s:real);
var
  i : integer;
  h,x: real;
begin
  h:=(b-a)/n;
  x:=a+h/2;
  s:=0.0;
  n:=10;
  for i:=1 to n do
    begin
      s:=s+f(x);
      x:=x+h;
    end;
  s:=s*h;
end;
 
begin
  rect (0.25,2,10, s);
  writeln;
  write('Integral = ',s:4:4);
  writeln;
end.
Помогите...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 01:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Программы + меню ( надо 2 программы написать с меню вместе ) (Turbo Pascal):

Меню для программы
Здравствуйте. Написал программу, но по заданию надо к ней сделать меню. Я...

Меню для программы-тест
Народ, помогите пожалуйста!!!!!!!!!!!! У меня есть код проги-теста, нужно...

Составить меню для программы
Здравствуйте, нужна помощь и советы в довольно объемной работе по Turbo Pascal....

Нужно составить меню для программы
Нужно составить меню, которое могло бы выполнить следующее для программы 1-...

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

Внести коррекцию к меню программы (Ввод и выход)
Program mas1; Uses Crt; type mas=array of integer ; var a,d:mas;...

1
Puporev
Модератор
54149 / 41782 / 28889
Регистрация: 18.05.2008
Сообщений: 98,331
29.11.2013, 09:48 #2
У вас в разных методах разный результат, разберитесь в ними.
Pascal
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
uses crt;
const kol=2;{Koli4ectvo punktov menu}
      {masiv nazvaniu punktov menu}
      vybor:array[1..kol] of string=
      ('1-Metod levix','2-Metod srednix ');
procedure Menu(var k:byte;var c:char);{sozdanie i vuvod menu na ekran}
var kod: char;
    i:byte;
begin
window(1,1,80,25);
textbackground(0);
clrscr;
gotoxy(4,1);
write('Menu');
k:=1; {vuveden punk 1-ro menu}
repeat
for i:=1 to kol do
 begin
  if i=k then {vudekenuy punk}
   begin
    textbackground(7);
    textcolor(12);
   end
  else  {ostakbnue}
   begin
    textbackground(0);
    textcolor(15)
   end;
  gotoxy(1,i+1);{stavim kurcor}
  write(vybor[i]);{vuvodim pynktu}
 end;
c:=readkey;
if c=#27 then halt{Esc-Vuxid z programmu}
else if c=#0 then kod:=readkey;{priznax clujebnoy klaviwu}
  case kod of
  #72: begin{strelka vverx}
       if c=#0 then k:=k-1;
       if k=0 then k:=2;{ecli vushe verxa, to vniz}
       end;
  #80: begin {strelka vniz}
       if c=#0 then k:=k+1;
       if k=3 then k:=1;{ecli nije niza, to verx}
       end;
  end;
until c=#13;{najat Enter, vuxodim iz menu v vubranu10 procedure}
end;
 
function f(x:real):real;
begin
  f:=sqrt(2*x*x+3)/(x*x+6*x);
end;
 
procedure lev_rect(a,b:real; n:integer; var s:real);
var
  i : integer;
  h,x : real;
begin
clrscr;
h:=(b-a)/n;
x:=a+h/2;
s:=0.0;
for i:=1 to n do
 begin
  s:=s+f(x);
  x:=x+h-h/2;
 end;
s:=s*h;
write('Integral=',s:0:4);
readln
end;
procedure srd_rect (a,b:real; n:integer; var s:real);
var
  i : integer;
  h,x: real;
begin
clrscr;
h:=(b-a)/n;
x:=a+h/2;
s:=0.0;
{  n:=10;}
for i:=1 to n do
 begin
  s:=s+f(x);
  x:=x+h;
 end;
s:=s*h;
write('Integral=',s:0:4);
readln
end;
{osnova prog}
var k:byte;
    c:char;
    s:real;
begin
textbackground(2);
textcolor(14);
clrscr;
gotoXY(10,10);
write('Integral sqrt(2x^2+3)/(x^2+6x) int=[0.25;2] n=10');
gotoXY(30,11);
write('Vubor metoda');
gotoXY(10,12);
write('Ypravlenie stralkami verx-vniz, Vubor punkta Enter, Vuxod Esc');
gotoXY(30,13);
write('Najmite Enter');
readln;
window(1,1,80,25);
textbackground(0);
textcolor(15);
clrscr;
repeat
 Menu(k,c);{vuvod menu}
 clrscr;
 case k of{vubiraem strelkami deystvie}
 1: lev_rect(0.25,2,10,s);
 2: begin
     textbackground(0);
     textcolor(15);
     clrscr;
     srd_rect(0.25,2,10,s);
    end;
 end;
until c=#27;
end.
Добавлено через 38 минут
Напиши для левых так
Pascal
1
2
3
4
5
6
7
8
9
h:=(b-a)/n;
x:=a;
s:=0.0;
for i:=1 to n do
 begin
  s:=s+f(x);
  x:=x+h;
 end;
s:=s*h;
И возьми N больше, например 1000.
Онлайн сервис выдает I=0.654689
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2013, 09:48
Привет! Вот еще темы с решениями:

Меню программы - 1 обработчик реагирует на все клавиши
Решил замутить в Паскаль игру. Работаю с меню, но на удивление, не срабатывает...

Объединение программы с меню в Turbo Vision
У меня есть программа: var x:byte; begin for x:=90 downto 5 do if (x mod...

Как создать меню, которое будет запускать внешние программы?
Подскажите плз как создать менюшку которая будет запускать внешние програмки...

Как отрубить все "ненужные" клавиши в меню программы.
Здравствуйте, уважаемые форумчане. Вопрос у меня такой: как можно "отрубить"...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru