Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Задача с использованием функций и файлов


Автор: Alex133 23.12.2009, 21:53
Помогите пожалуйста...

Функции..   

1) Даны действительные числа a, b, c. Получить:  ( max(a,a+b) + max (a,b+c) ) / ( 1+max(a+bc,b,15) )

Файлы..

2) В файле f записаны целые числа. Написать программу, которая в файл g записывает четные числа, а файл h - нечетные. 



очень надеюсь на вашу помощь.... для зачета это..

Автор: darkart 3.1.2010, 00:24
Цитата(Alex133 @  23.12.2009,  21:53 Найти цитируемый пост)
Функции..   

1) Даны действительные числа a, b, c. Получить:  ( max(a,a+b) + max (a,b+c) ) / ( 1+max(a+bc,b,15) )

Код

program MaxFunc;

function Max2( x, y : real ) : real;
{вычисления максимума 2 чисел}
begin
  if x > y then
    Max2 := x
  else
    Max2 := y;
end;

function Max3( x, y, z : real ) : real;
{вычисление максимума 3 чисел}
begin
  if( ( x > y ) and ( x > z ) ) then
    Max3 := x
  else if y > z then
    Max3 := y
  else
    Max3 := z;
end;

var
  a, b, c : real;{вводимые числа}

begin
  {ввод чисел}
  writeln( 'Пожалуйста введите a:' );
  readln( a );
  writeln( 'Пожалуйста введите b:' );
  readln( b );
  writeln( 'Пожалуйста введите c:' );
  readln( c );

  {печать результата}
  writeln( 'Результат = ', ( Max2( a, a + b ) + Max2( a, b + c ) ) / ( 1 + Max3( a + b * c, b, 15 ) ) );

  readln;{ожидание ввода}

end.



Цитата(Alex133 @  23.12.2009,  21:53 Найти цитируемый пост)
Файлы..

2) В файле f записаны целые числа. Написать программу, которая в файл g записывает четные числа, а файл h - нечетные. 


Код

program FilesWithNumbers;
const
  INPUT_FILE_NAME = 'input.txt';{имя входного файлы}
  OUTPUT_EVEN_FILE_NAME = 'out_even.txt';{имя выходного файла для четных чисел}
  OUTPUT_ODD_FILE_NAME = 'out_odd.txt';{имя выходного файла для нечетных чисел}
var
  f, g, h : text;{текстовые файлы}
  number : integer;{переменная для чтения и записи}

begin
  {связываем файловые переменные с файлами с заданным именем}
  assign( f, INPUT_FILE_NAME );
  assign( g, OUTPUT_EVEN_FILE_NAME );
  assign( h, OUTPUT_ODD_FILE_NAME );
  reset( f );{чтение}
  rewrite( g );{перезапись}
  rewrite( h );{перезапись}
  while( not eof( f ) ) do{пока не конец входного файла}
  begin
    read( f, number );{читаем очередное число}
    if( number mod 2 = 0 ) then{если число четное, т.е. остаток от деления на 2 = 0}
      writeln( g, number ){пишем в выходной файл для четных}
    else{иначе}
      writeln( h, number );{пишем в выходной файл для нечетных}
  end;
  close( h );{закрываем файл}
  close( g );{закрываем файл}
  close( f );{закрываем файл}
  writeln( 'Готово...' );
  readln;{ждем ввода}
end.


Автор: volvo877 3.1.2010, 11:32
Цитата(darkart @  2.1.2010,  23:24 Найти цитируемый пост)
Код
function Max2( x, y : real ) : real;
{вычисления максимума 2 чисел}
begin
  if x > y then
    Max2 := x
  else
    Max2 := y;
end;
function Max3( x, y, z : real ) : real;
{вычисление максимума 3 чисел}
begin
  if( ( x > y ) and ( x > z ) ) then
    Max3 := x
  else if y > z then
    Max3 := y
  else
    Max3 := z;
end;
 smile

Код
function Max3(x, y, z: real): real;
begin
  Max3 := Max2(Max2(x, y), z);
end;
, если она вообще нужна. Ибо проще подставить вот такой вызов функции Max2 в само выражение...

Автор: mr.Anderson 3.1.2010, 12:58

 ! 
mr.Anderson
Модератор: закрыто за несоблюдение правил оформления.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)