Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2009, 12:57   #1
niziriska
Пользователь
 
Аватар для niziriska
 
Регистрация: 28.07.2008
Сообщений: 28
По умолчанию функции и процедуры

ваще их не понимаю помогите пожалуйста

5. Вычислить площадь правильного шестиугольника со стороной а, используя подпрограмму вычисления площади треугольника.

вот мой получившийся.. но не правильно работающий..
program lab_5;
Uses CRT;
var k,y,S1,S2,S,a,b,pl: real;

procedure ploschad(x1,x2,ugol:real; var result:real);
begin
result:=x1*x2*sin(ugol)/2;
end;

begin
{Program schitaet ploschad tol'ko dlya k>3}
writeln('vvedite chislo uglov');
readln(k);
writeln('vvedite storonu mnogougolnika');
readln(a);
y:=180*(k-2)/k;
b:=a;
{========1========}
ploschad(a,b,y,pl);
s1:=s1+2*pl;
{=================}
b:=sqrt(sqr(a)+sqr(a));
y:=90;
{========2========}
ploschad(a,b,y,pl);
s1:=s1+2*pl;
{=================}
write('ploschad ravna s=',s1);


readkey; readkey;
end.




и вторая - Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке (например, дано число 156, нужно получить 651).

эту вообщ ене опмню как.. что то с помощью mod и div... как я понимаюю но не помню(
Жизнь коротка... нужно успеть все!
niziriska вне форума Ответить с цитированием
Старый 24.01.2009, 13:08   #2
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

2
Код:
program chiclo;
uses crt;
var s,s1:string;
 i:integer;
begin
writeln('vvedite 4islo');
readln(s);
s1:='';
for i:=length(s) downto 1 do
s1:=s1+s[i];
writeln('naoborot',s1);
readln;
end.
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 24.01.2009, 13:13   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вот вторая задача.
Код:
uses crt;
var N,M:longint;
    k:byte;
begin
clrscr;
write('N=');readln(n);
M:=0;
while N>0 do
  begin
   k:=N mod 10;{отделяем последнюю цифру, она становится первой, второй и т.д.}
   M:=10*M+k;{умножаем предыдущее число на 10 и прибавляем эту цифру}
   N:=N div 10;{все повторяем но уже без этой цифры}
  end;
write('M=',M);
readln
end.
По первой задаче.
Откройте школьный учебник геометрии и Вы узнаете, что правильный 6-угольник состоит из 6 правильных 3-угольников, сторона которых естественно равна стороне 6-угольника. Ну, а найти площадь правильного треугольника существует море формул, на край хоть формулу Герона. Это и будет Ваша подпрограмма, лучше в данном случае функция, но если хотите, то и процедурой можно.
puporev вне форума Ответить с цитированием
Старый 24.01.2009, 13:15   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вообще-то речь шла о mod и div, так что строки это хорошо, но в данном случае не уместно.
puporev вне форума Ответить с цитированием
Старый 24.01.2009, 13:24   #5
niziriska
Пользователь
 
Аватар для niziriska
 
Регистрация: 28.07.2008
Сообщений: 28
По умолчанию

эм.. спасибо большое.. только эт конечно в функцию б.. а я их оформлять не умею(
Код:
function chislo(N,M:longint;k:byte): longint;
   begin
while N>0 do
  begin
   k:=N mod 10;{отделяем последнюю цифру, она становится первой, второй и т.д.}
   M:=10*M+k;{умножаем предыдущее число на 10 и прибавляем эту цифру}
   N:=N div 10;{все повторяем но уже без этой цифры}
  end;
end;

так?
Жизнь коротка... нужно успеть все!
niziriska вне форума Ответить с цитированием
Старый 24.01.2009, 13:27   #6
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Код:
function Chislo(N,M:longint;k:byte): longint;
begin
while N>0 do
   begin
      k:=N mod 10;{отделяем последнюю цифру, она становится первой, второй и т.д.}
      M:=10*M+k;{умножаем предыдущее число на 10 и прибавляем эту цифру}
     N:=N div 10;{все повторяем но уже без этой цифры}
   end;
Chislo:=M;
end;
puporev вне форума Ответить с цитированием
Старый 24.01.2009, 13:32   #7
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию 1) Для шестиугольника

Код:
program capta1n;
const
 pi = 3.1415;
var
 a,sq : real;

 function ploshad ( b,ugol : real ) : real;
 begin
   ploshad:=sqr(b)*sin(ugol)
 end;

begin

  write ('Vvedite storonu mnogougol''nika: '); readln (a);
  if a>0 then
  begin
    sq:=3*ploshad(a,2*pi/3);
    a:=sqrt(2*sqr(a)-2*sqr(a)*cos(2*pi/3));
    sq:=sq+ploshad(a,pi/3)
  end;

  writeln ('Ploshad: square= ',sq:0:2);
  readln

end.

Последний раз редактировалось capta1n; 24.01.2009 в 13:47. Причина: ПОПРАВИЛ! :)
capta1n вне форума Ответить с цитированием
Старый 24.01.2009, 13:36   #8
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию шестиугольник

1
Код:
program SMN;
uses crt;
var smn1,b:real;
function str(a:real):real;
var p:real;
    s:real;
begin
 p:=(a+2*a/Sqrt(3))/2;
 str:=sqrt(p*(p-a)*(p-a/Sqrt(3))*(p-a/Sqrt(3)));
end;
begin
writeln('vvedite a');
readln(b);
smn1:=str(b)*6;
writeln(smn1:4:2);
readln;
end.
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 24.01.2009, 13:38   #9
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

вот теперь прога работает нормально

Последний раз редактировалось capta1n; 24.01.2009 в 13:47.
capta1n вне форума Ответить с цитированием
Старый 24.01.2009, 13:46   #10
niziriska
Пользователь
 
Аватар для niziriska
 
Регистрация: 28.07.2008
Сообщений: 28
По умолчанию

Цитата:
Для шестиугольника
а мона тоже самое тока не с функцией?
Жизнь коротка... нужно успеть все!
niziriska вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедуры и функции Алeксандр Паскаль, Turbo Pascal, PascalABC.NET 1 22.01.2009 04:54
Процедуры и функции V25 Паскаль, Turbo Pascal, PascalABC.NET 1 17.11.2008 20:02
Процедуры и функции KulOle Паскаль, Turbo Pascal, PascalABC.NET 1 26.10.2008 14:18
Процедуры и функции 11111 Помощь студентам 10 26.11.2007 15:06