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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2017, 11:42   #1
users1
Пользователь
 
Регистрация: 12.01.2017
Сообщений: 19
По умолчанию Разбить прогу на procedure and function

Привет всем написал программу, но не знаю как разделить на procedure and function. Помогите пожалуйста

ВОТ КОД
Код:
program p2;

uses
  crt;

var
  i, n: byte;
  Arr_X, Arr_Y: array of real;
  S: real;

begin
  
  //ввод данных
  repeat
    writeln('Введите количество вершин n-угольника, не превосходящее 20');
    readln(n);
  until ((3 <= n) and (n <= 20));
  
  Inc(n);
  SetLength(Arr_X, n);
  SetLength(Arr_Y, n);
  
  for i := 0 to n - 2 do
  begin
    writeln('Введите координаты x(', i + 1, ')');
    readln(Arr_X[i]);
    writeln('Введите координаты y(', i + 1, ')');
    readln(Arr_Y[i]);
  end;
  
  Arr_X[n - 1] := Arr_X[0];
  Arr_Y[n - 1] := Arr_Y[0];
  
  //вычисление по формуле
  for i := 0 to n - 2 do
  begin
    S := S + (Arr_X[i] + Arr_X[i + 1]) * (Arr_Y[i] - Arr_Y[i + 1]) / 2;
  end;
  
  writeln('Площадь вашего ', n - 1, '-угольника = ', Abs(S));
  
end.

Последний раз редактировалось Вадим Мошев; 08.02.2017 в 15:40.
users1 вне форума Ответить с цитированием
Старый 08.02.2017, 14:56   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

А что именно оформить как процедуры и функции?
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 08.02.2017, 15:01   #3
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Код:
program p2;

var
  i, n: byte;
  Arr_X, Arr_Y: array of real;
  S: real;

function square(x, y: array of real): real;
var
  S: real;
  i: integer;

begin
  //вычисление по формуле
  for i := 0 to n - 2 do
  begin
    S := S + (Arr_X[i] + Arr_X[i + 1]) * (Arr_Y[i] - Arr_Y[i + 1]) / 2;
  end;
  square := s;
end;

begin
  
  //ввод данных
  repeat
    writeln('Введите количество вершин n-угольника, не превосходящее 20');
    readln(n);
  until ((3 <= n) and (n <= 20));
  
  Inc(n);
  SetLength(Arr_X, n);
  SetLength(Arr_Y, n);
  
  for i := 0 to n - 2 do
  begin
    writeln('Введите координаты x(', i + 1, ')');
    readln(Arr_X[i]);
    writeln('Введите координаты y(', i + 1, ')');
    readln(Arr_Y[i]);
  end;
  Arr_X[n - 1] := Arr_X[0];
  Arr_Y[n - 1] := Arr_Y[0];
  writeln('Площадь вашего ', n - 1, '-угольника = ', Abs(Square(Arr_x, arr_y)));
end.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 08.02.2017, 16:59   #4
users1
Пользователь
 
Регистрация: 12.01.2017
Сообщений: 19
По умолчанию

спасибо
users1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Function and procedure darm Паскаль, Turbo Pascal, PascalABC.NET 2 10.03.2016 20:59
пишет ошибка invalid procedure or function reference Emilg18 Паскаль, Turbo Pascal, PascalABC.NET 2 13.05.2012 17:20
function, procedure (выручите) Woxx Помощь студентам 5 20.10.2010 13:14
Procedure,function,Stringgrid (#004) Очередной вопрос начинающего. Albert2008 Компоненты Delphi 4 01.08.2008 21:30
function procedure Toxa Microsoft Office Access 1 28.11.2007 18:32