Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 18.05.2010, 19:04   #1
rishikesh
Пользователь
 
Регистрация: 16.05.2010
Сообщений: 23
Репутация: 10
Печаль Подпрограммы-процедуры, подпрограммы-функции в Pascal

Ребята(Ромка), помогите плисик, а то эти процедуры\функции меня доконали уже

Задание 1. Составить программу решения задачи, используя подпрограммы-процедуры.
Задание выполнить двумя способами: 1) используя ППП без параметров, 2) используя ППП с параметрами.

Составить программу нахождения большего из четырех чисел, используя подпрограмму нахождения большего из двух чисел.


Задание 2. Составить программу обработки двухмерного массива, оформив ввод\вывод и обработку элементов массива в виде подпрограмм.

Заменить все отрицательные элементы массива К (n, m) на их квадраты, положительные - на корень из данного числа.

Задание 3. Использование подпрограмм-функций. Составить подпрограмму решения Задания 1 с использованием подпрограмм-функций.
rishikesh вне форума   Ответить с цитированием
Старый 18.05.2010, 19:42   #2
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Профессионал
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
Репутация: 125
По умолчанию

-I- c параметрами
Код:

Var
 a,b,c,d,res1,res2,res3:integer;

Procedure Poisk(Var c1,c2:integer; var Res:integer);
Begin
if c1>c2 then res:=c1
else
res:=c2;
End;

begin
write('Введите 1-е число: ');
readln(a);
write('Введите 2-е число: ');
readln(b);
write('Введите 3-е число: ');
readln(c);
write('Введите 4-е число: ');
readln(d);
Poisk(a,b,res1);
Poisk(c,d,res2);
Poisk(res1,res2,res3);
writeln('Результат = ',res3);
end.

-III- c параметрами
Код:

Var
 a,b,c,d,res,res2,res3:integer;

function Poisk(Var c1,c2:integer):integer;
Begin
if c1>c2 then Poisk:=c1
else
poisk:=c2;
End;

begin
write('Введите 1-е число: ');
readln(a);
write('Введите 2-е число: ');
readln(b);
write('Введите 3-е число: ');
readln(c);
write('Введите 4-е число: ');
readln(d);
res:=Poisk(a,b);
res2:=Poisk(c,d);
res3:=Poisk(res,res2);
writeln('Результат = ',res3);
end.

-II-
Код:

uses
  crt;
type
  mas=array [1..100,1..100] of real;
var
  a:mas;
  i,j:integer;
{процедура ввода матрицы}

procedure VVod(var a:mas);
var
  i,j,n,m:integer;
begin
randomize;
  write('Количество строк: ');
  readln(n);
  write('Количество столбцов:');
  readln(m);
  for i:=1 to n do
    for j:=1 to m do
    begin
      a[i,j]:=random(10)-5;
    end;
    end;
    {процедура вывода матрицы}

    procedure ViVod(var a:mas);
    var
       i,j,n,m:integer;
    begin
    writeln('Исходный массив: ');
  for i:=1 to n do
  begin
    for j:=1 to m do
      write(a[i,j]:3:0,' ');
    writeln
  end;
end;

Procedure Xernya(Var a:mas);
var
 i,j,n,m:integer;
begin
for i:=1 to n do
 begin
for j:=1 to m do
if a[i,j]<0 then
begin
a[i,j]:=sqr(a[i,j]);
end
else
if a[i,j]>0 then
begin
a[i,j]:=sqrt(a[i,j]);
end;
end;
end;

procedure ViVod2(var a:mas);
    var
       i,j,n,m:integer;
    begin
    writeln('Результирующий массив: ');
  for i:=1 to n do
  begin
    for j:=1 to m do
      write(a[i,j]:3:0,' ');
    writeln
  end;
end;

{основная программа}
begin
  Vvod(a);
  Vivod(a);
  Xernya(a);
  Vivod2(a);
end.

Ну а остальное сама.

Последний раз редактировалось ROMA2PVT; 18.05.2010 в 19:51.
ROMA2PVT вне форума   Ответить с цитированием
Старый 18.05.2010, 20:16   #3
rishikesh
Пользователь
 
Регистрация: 16.05.2010
Сообщений: 23
Репутация: 10
По умолчанию

Цитата:
Сообщение от ROMA2PVT Посмотреть сообщение
-I- c параметрами
Код:

Var
 a,b,c,d,res1,res2,res3:integer;

Procedure Poisk(Var c1,c2:integer; var Res:integer);
Begin
if c1>c2 then res:=c1
else
res:=c2;
End;

begin
write('Введите 1-е число: ');
readln(a);
write('Введите 2-е число: ');
readln(b);
write('Введите 3-е число: ');
readln(c);
write('Введите 4-е число: ');
readln(d);
Poisk(a,b,res1);
Poisk(c,d,res2);
Poisk(res1,res2,res3);
writeln('Результат = ',res3);
end.

-III- c параметрами
Код:

Var
 a,b,c,d,res,res2,res3:integer;

function Poisk(Var c1,c2:integer):integer;
Begin
if c1>c2 then Poisk:=c1
else
poisk:=c2;
End;

begin
write('Введите 1-е число: ');
readln(a);
write('Введите 2-е число: ');
readln(b);
write('Введите 3-е число: ');
readln(c);
write('Введите 4-е число: ');
readln(d);
res:=Poisk(a,b);
res2:=Poisk(c,d);
res3:=Poisk(res,res2);
writeln('Результат = ',res3);
end.

-II-
Код:

uses
  crt;
type
  mas=array [1..100,1..100] of real;
var
  a:mas;
  i,j:integer;
{процедура ввода матрицы}

procedure VVod(var a:mas);
var
  i,j,n,m:integer;
begin
randomize;
  write('Количество строк: ');
  readln(n);
  write('Количество столбцов:');
  readln(m);
  for i:=1 to n do
    for j:=1 to m do
    begin
      a[i,j]:=random(10)-5;
    end;
    end;
    {процедура вывода матрицы}

    procedure ViVod(var a:mas);
    var
       i,j,n,m:integer;
    begin
    writeln('Исходный массив: ');
  for i:=1 to n do
  begin
    for j:=1 to m do
      write(a[i,j]:3:0,' ');
    writeln
  end;
end;

Procedure Xernya(Var a:mas);
var
 i,j,n,m:integer;
begin
for i:=1 to n do
 begin
for j:=1 to m do
if a[i,j]<0 then
begin
a[i,j]:=sqr(a[i,j]);
end
else
if a[i,j]>0 then
begin
a[i,j]:=sqrt(a[i,j]);
end;
end;
end;

procedure ViVod2(var a:mas);
    var
       i,j,n,m:integer;
    begin
    writeln('Результирующий массив: ');
  for i:=1 to n do
  begin
    for j:=1 to m do
      write(a[i,j]:3:0,' ');
    writeln
  end;
end;

{основная программа}
begin
  Vvod(a);
  Vivod(a);
  Xernya(a);
  Vivod2(a);
end.

Ну а остальное сама.
Спасибки Ромка, цём тебя
rishikesh вне форума   Ответить с цитированием
Старый 18.05.2010, 20:29   #4
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Профессионал
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
Репутация: 125
По умолчанию

-I-без параметров.
Код:

Var
 a,b,c,d,max:integer;

Procedure Poisk;
Begin
max:=a;
if b>max then max:=b;
End;

begin
write('Введите 1-е число: ');
readln(a);
write('Введите 2-е число: ');
readln(b);
write('Введите 3-е число: ');
readln(c);
write('Введите 4-е число: ');
readln(d);
Poisk;
if c>max then max:=c;
if d>max then max:=d;
writeln('Результат = ',max);
end.

Но неуверен верно так будет или нет.
ROMA2PVT вне форума   Ответить с цитированием
Старый 18.05.2010, 20:39   #5
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Профессионал
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
Репутация: 125
По умолчанию

За последнюю уин даш или нет?
Да уж!Твой ответ мне как я понял: х..н тебе.

Последний раз редактировалось ROMA2PVT; 18.05.2010 в 21:04.
ROMA2PVT вне форума   Ответить с цитированием
Старый 18.05.2010, 21:12   #6
rishikesh
Пользователь
 
Регистрация: 16.05.2010
Сообщений: 23
Репутация: 10
По умолчанию

Цитата:
Сообщение от ROMA2PVT Посмотреть сообщение
За последнюю уин даш или нет?
Да уж!Твой ответ мне как я понял: х..н тебе.
что такое "уин" ? =)
rishikesh вне форума   Ответить с цитированием
Старый 18.05.2010, 21:12   #7
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Профессионал
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
Репутация: 125
По умолчанию

ну номер аськи.
ROMA2PVT вне форума   Ответить с цитированием
Старый 18.05.2010, 21:20   #8
rishikesh
Пользователь
 
Регистрация: 16.05.2010
Сообщений: 23
Репутация: 10
По умолчанию

Цитата:
Сообщение от ROMA2PVT Посмотреть сообщение
ну номер аськи.
421759055 :Р , только я нелюблю в ней сидеть =)
rishikesh вне форума   Ответить с цитированием
Старый 18.05.2010, 21:26   #9
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Профессионал
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
Репутация: 125
По умолчанию

Цитата:
421759055 :Р , только я нелюблю в ней сидеть =)
оффтоп:
А почему?
ROMA2PVT вне форума   Ответить с цитированием
Старый 18.05.2010, 21:34   #10
rishikesh
Пользователь
 
Регистрация: 16.05.2010
Сообщений: 23
Репутация: 10
По умолчанию

Цитата:
Сообщение от ROMA2PVT Посмотреть сообщение

оффтоп:
А почему?
незнаю =), мб просто мешает или еще чтото, просто нелюблю :Р
rishikesh вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подпрограммы (Pascal) Дабл Помощь студентам 2 23.12.2009 04:34
Подпрограммы и функции! Jungler99 Помощь студентам 1 17.12.2009 02:42
[Pascal] Функции и процедуры(подпрограммы) Рамик Помощь студентам 2 23.03.2009 18:00


17:10.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru