Добро пожаловать на Форум SoftWeb.ru.
 
Зима

Нам нужна Ваша поддержка. Сбор средств на оплату дата-центра.

Форум SoftWeb.ru » Интернет » Программирование » Вопросы и ответы » Решебник (turbo pascal, Delphi)

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

ОТВЕТИТЬ
Опции темы Опции просмотра Опции просмотра
Решебник (turbo pascal, Delphi)
Старый 11.05.2006, 18:21   #1
 
Статус: Гость
Сообщений: n/a
Exclamation Решебник (turbo pascal, Delphi)

Внимание! маленькое вступление.
Надеюсь по названию темы понятно о чем тут спрашивать.
При оформлении вопроса наиболее полно пишите тескт задачи, лучше целиком оригинал (обязательно на русском языке). Старайтесь не делать лишних постов, чтобы в будущем легче было искать нужную вам задачу. Если вы хотите когото устно поблагодорить, пользуйтесь личными сообщениями или кнопкой "спасибо". В этой теме остануться только посты с задачами и их решениями, все лишнее будет удаляться.

Список всех задач: [Ссылки могут видеть только зарегистрированные пользователи. ]
Алгоритмы решения стандартных задач по информатике: [Ссылки могут видеть только зарегистрированные пользователи. ]

Если вы написали свою задачу, а ее никто не решил в течении рабочей недели, составте сообщение-напоминание такого вида: "Кто нить решил задание из сообщения №9?" может про него просто забыли в рабочей канители, и после напоминания, обязательно помогут. Если же вы к тому времени сами или с чей то помощью, решили задачу, то не поленитесь, напишите свое решение, многие будут вам признательны.

Скачать Pascal:
Если у вас дома нет Turbo Pascal, а задание надо сделать за выходные, советую Free Pascal ([Ссылки могут видеть только зарегистрированные пользователи. ])
Так же можете скачать обычный досовский turbo pascal ([Ссылки могут видеть только зарегистрированные пользователи. ])


NEW!!! У нас открылась тема "Решебник С" ([Ссылки могут видеть только зарегистрированные пользователи. ]) просьба к тем кто владеет языком, если будет время, задачи из этого раздела не плохобы продублировать на turbo C. Если тема будет пополняться я ее помечу как "важная".

Overlord
  ЦИТИРОВАТЬ
Эти 6 пользователя(ей) сказали Спасибо за это полезное сообщение:
Объявление
Нам нужна Ваша поддержка. Сбор средств на оплату дата-центра.
Старый 28.02.2007, 09:55   #61
 
Аватар для 4айник
 
Статус: Чайник
Регистрация: 06.11.2006
Адрес: Владик, что возле Японии
Сообщений: 12,748
СПАСИБО: 10,175
сказали Спасибо 8,064 раз(а) в 5,001 сообщении
По умолчанию Re: Решебник (turbo pascal, Delphi)

Цитата:
Сообщение от stricer Посмотреть сообщение
y:=y+exp(i*ln(-1))*((sqr(x)*i-1)/(2*i-1));

что-то мне подсказывает, что фрагмент e^(i*ln(-1)) можно представить как (е^ln(-1))^i, что будет эквивалентно -1^i и будет иметь решение, в отличие от ln(-1). А именно = +1 для четных и -1 для нечетных i

т.е. цитируемое выражение можно заменить на
Цитата:
if (i MOD 2) = 0
then y:=y+(sqr(x)*i-1)/(2*i-1)
else y:=y-(sqr(x)*i-1)/(2*i-1);

на будущее -
для возведения в степень (N) отрицательных чисел (M) помните, что их знак зависит от четности степени.
т.е.
if (N MOD 2) = 0
then y:= exp ( ln (-M) * N )
else y:= - exp ( ln (-M) * N );


Цитата:
Сообщение от Клод Адриан Гельвеций
Знание некоторых принципов легко возмещает незнание некоторых фактов

[Ссылки могут видеть только зарегистрированные пользователи. ] не жать.
4айник вне форума   ЦИТИРОВАТЬ
Эти 2 пользователя(ей) сказали Спасибо 4айник за это полезное сообщение:
Overlord (01.03.2007)
Объявление
Нам нужна Ваша поддержка. Сбор средств на оплату дата-центра.
Старый 28.02.2007, 17:38   #62
 
Аватар для Overlord
 
Статус: Старейшина
Регистрация: 27.03.2005
Адрес: Великая и могучая
Сообщений: 732
СПАСИБО: 49
сказали Спасибо 292 раз(а) в 168 сообщении
Получено наград:
По умолчанию Re: Решебник (turbo pascal, Delphi)

Цитата:
Сообщение от Kain Посмотреть сообщение
ООО а вот и трудные задачи!! помогеш оверлорд??

Разработать процедуры сортировки массива целых чисел методом прямого выбора, методом пузырьковой сортировки и методом шейкерной сортировки (язык программирования Паскаль или Си).


Правильность сортировки проверить путем подсчета контрольной суммы и числа серий в массиве.


Во время сортировки предусмотреть подсчет количества пересылок и сравнений (М и С), сравнить их с теоретическими оценками.


Составить таблицу следующего вида (данные получить экспериментально) для н= 100, 200, 300, 400, 500. (н – количество элементов в массиве)
Код:
-------------------------------------------------------------------
метод  |  М для             | Ц для            | М для        | Ц для         |
          |  упорядочного  |  упорядочного| случайного| случайного  |
          | массива           | массива        | массива     | массива     |
--------------------------------------------------------------------
прямой |                       |                     |                 |                 |
выбор   |                       |                     |                 |                 |
--------------------------------------------------------------------
Пузырьковая|                  |                    |                  |                |
--------------------------------------------------------------------
Шейкерная|                    |                    |                  |               |
--------------------------------------------------------------------
Проанализировать полученные результаты. (Какой из методов самый быстрый? Самый медленный? Как сложность зависит от начальной отсортированности?)

Добавлено через 1 минуту
вот блин сайт неподерживает пробелы таблица корявая получилась ну в принципе по знаку | можно понять

вот для затравки начало напишу. чуть чуть доделать остается

все делать будем через процедуры и функции. и еще нам потребуется свой тип данных (чтобы правильно функцию оформить). Общий смыл такой заполняем произвольно массив потом дважды вызываем метод сортировки. При этом сначала сортируется безпорядочный массив, а вторым проходом соответсвенно упорядочный. Повторям для каждого метода сортировки. Пока сделал для двух методов сортировки.
Код:
program OverLord;
uses crt;

const
  X = 10;
  Y = 10;

type TMC = record
  M:integer;
  C:integer;
end;

var
  A:array [1..X] of integer;
  i,j,k:integer;
  Count:TMC;

procedure FillRandom;
begin
  randomize;
  for i:=1 to X do
    A[i]:=random(1000) - 500;
end;

procedure PrintArray;
begin
  for i:=1 to X do
  begin
    write(A[i]);
    if i<>X then write(', ') else write('.');
  end;
  writeln;
end;

Function SortLineSelect:TMC;
var
i, j, min, t : integer;
begin
  SortLineSelect.M:=0;
  SortLineSelect.C:=0;
  for i:=1 to X-1 do
    begin
      min := i;
      for j:=i+1 to X do
        begin
          if A[j]<A[min] then min := j;
          inc(SortLineSelect.M);
        end;
      {вот этого условия в теории не было
      и алгоритм переставлял местами элемент сам с собой
      перестановок насчитывалось столько же сколько и при сортировке
      упорядоченного массива.
      Я точно не знаю является ли такая добавка усовершенствованием
      массива или нет, так что если что просто убери это условие}
      if min<>i then
        begin
        { раз перестановка}
        t := A[min];
        inc(SortLineSelect.C);
        {два перестановка}
        A[min] :=A[i];
        inc(SortLineSelect.C);
        {три перестановка}
        A[i] := t;
        inc(SortLineSelect.C);
      end;
    end;
end;

function SortBubble:TMC;
var i, j, t : integer;
begin
  SortBubble.M:=0;
  SortBubble.C:=0;
  for i:=2 to X do
  for j:=X downto i do
    begin
    inc(SortBubble.M);
    if A[i-1]>A[j] then
       begin
         t:=A[j-1];
         inc(SortBubble.C);
         A[j-1]:=A[j];
         inc(SortBubble.C);
         A[j]:=t;
         inc(SortBubble.C);
       end;
    end;
end;


BEGIN
  clrscr;
  for k:= 1 to 2 do
  begin
    {произвольно заполняем массив}
    FillRandom;
    {печатаем массив на экране}
    write('Первыоначальный массив: ');
    PrintArray;
    {сортируем и считаем сравнения с перестановками}
    case k of
      1:Count:=SortLineSelect;
      2:Count:=SortBubble;
    end;
    write('при сортировке не упорядоченного массива имеем: ');
    writeln(Count.M,', сравнений и ', Count.C, ' перестановок');
    {сортируем только что отсортированный массив}
    case k of
      1:Count:=SortLineSelect;
      2:Count:=SortBubble;
    end;
    write('при сортировке упорядоченного массива имеем: ');
    writeln(Count.M,', сравнений и ', Count.C, ' перестановок');
    write('А так после сортировки: ');
    PrintArray;
    writeln('****************************');
  end;


  write('Нажмите Enter для выхода ...');
  readln;
END.


[Ссылки могут видеть только зарегистрированные пользователи. ]
Overlord вне форума   ЦИТИРОВАТЬ
Этот пользователь сказал Спасибо Overlord за это полезное сообщение:
Старый 05.03.2007, 18:33   #63
 
Статус: Гость
Сообщений: n/a
По умолчанию Re: Решебник (turbo pascal, Delphi)

Overlord, напиши программу:
Дана последовательность (Последовательность - строка ввиде предложения и из нее еще надо вычленить слова. Последовательность надо вводить с клавиатуры), содержащая от 2 до 10 слов, в каждом из которых от 2 до 10 строчных русских букв. Между соседними словами – не менее одного пробела, за последним словом – точка. Составить программы, в которых выполнить для исходной последовательности слов следующие действия:
1. Поменять местами в каждом слове первую половину слова со второй.
2. Слова, содержащие сочетание ‘кот’, расположить в конце последовательности, сохраняя исходный порядок следования слов.
3. Определить, имеются ли в последовательности слова, в которых каждая буква слова входит в него не менее двух раз.
  ЦИТИРОВАТЬ
Старый 10.03.2007, 18:14   #64
 
Статус: Гость
Сообщений: n/a
По умолчанию Re: Решебник (turbo pascal, Delphi)

Overlord, я первую задачу сделал. проверь пожалуйста.
Код:
PROGRAM EX1;
uses crt;
var  poz, nach_probel, nach_slovo : byte;
     stroka, s1, s2 : string;
     slovo: string [10];
BEGIN
     clrscr;
    {Write ('Vvedite stroku');
    ReadLn (Stroka);}
    Stroka := 'solnce   svet   masinka   stul     ruka.';
    WriteLn (stroka);
    poz:=1;
    while (poz <= length(stroka)) and (stroka[poz]<>'.')do
	begin
	     nach_probel := poz;
	     while stroka[poz] = ' ' do
		   inc (poz);
	     nach_slovo := poz;
	     while (poz <= length(stroka)) and (stroka[poz] <> ' ') and (stroka[poz]<>'.') do
		   inc (poz);
	     slovo := copy (stroka,nach_slovo,poz-nach_slovo);
	     s1:=copy (slovo,1,length(slovo) div 2);
	     s2:=copy (slovo,(length(slovo) div 2)+1,length(slovo)-length(s1));
	     write (s2,s1,' ');
	end;
    readln;
END.
Вот решил вторую задачу, проверь пожалуйста
Код:
 PROGRAM EX2;
uses crt;
var  poz, nach_probel, nach_slovo, k, i : byte;
     stroka, s1 : string;
     slovo: string [10];
BEGIN
     clrscr;
    {Write ('Vvedite stroku');
    ReadLn (Stroka);}
    Stroka := 'solnce kot masinka stul kot ruka.';
    WriteLn (stroka);
    poz:=1;
    while (poz <= length(stroka)) and (stroka[poz]<>'.')do
	begin
	     nach_probel := poz;
	     while stroka[poz] = ' ' do
		   inc (poz);
	     nach_slovo := poz;
	     while (poz <= length(stroka)) and (stroka[poz] <> ' ') and (stroka[poz]<>'.') do
		   inc (poz);
	     slovo := copy (stroka,nach_slovo,poz-nach_slovo);
	     if (slovo = 'kot') then
		   begin
			s1:=slovo;
			delete (stroka,nach_probel,poz-nach_probel);
			poz:=nach_probel;
			inc(k);
		   end
	     else
	     write (slovo,' ');
    end;
    for i:=1 to k do
    write(s1,' ');
    readln;
END.
Вот решил 3-ю задачу, проверь пожалуйста

Код:
PROGRAM EX3;
uses crt;
var  poz, nach_probel, nach_slovo, k, i, j, z : byte;
     stroka, s1 : string;
     slovo: string [10];
BEGIN
     clrscr;
    {Write ('Vvedite stroku');
    ReadLn (Stroka);}
    Stroka := 'solnce kot masinka stul kot ruka.';
    WriteLn (stroka);
    poz:=1;
    while (poz <= length(stroka)) and (stroka[poz]<>'.')do
	begin
	     nach_probel := poz;
	     while stroka[poz] = ' ' do
		   inc (poz);
	     nach_slovo := poz;
	     while (poz <= length(stroka)) and (stroka[poz] <> ' ') and (stroka[poz]<>'.') do
		   inc (poz);
	     slovo := copy (stroka,nach_slovo,poz-nach_slovo);

    z:=0;
    for i:=1 to length(slovo) do
		    for j:=1 to length(slovo) do
			if (slovo[i]=slovo[j]) and (i<>j) then
			       z:=1;
   k:=k+1;
   if z=1 then writeln ('slovo #',k,' ',slovo,': yes ')
	else writeln ('slovo #',k,' ',slovo,': no ');
    end;
    readln;
END.

Последний раз редактировалось БилГейтс; 11.03.2007 в 12:43. Причина: добавлено сообщение
  ЦИТИРОВАТЬ
Эти 2 пользователя(ей) сказали Спасибо за это полезное сообщение:
Overlord (12.03.2007)
Старый 12.03.2007, 09:18   #65
 
Аватар для Overlord
 
Статус: Старейшина
Регистрация: 27.03.2005
Адрес: Великая и могучая
Сообщений: 732
СПАСИБО: 49
сказали Спасибо 292 раз(а) в 168 сообщении
Получено наград:
По умолчанию Re: Решебник (turbo pascal, Delphi)

Цитата:
Сообщение от БилГейтс Посмотреть сообщение
Overlord, я первую задачу сделал. проверь пожалуйста.

Хорошо что решил поделиться своими наработками.

в третьем задании, нужно ведь проверить каждую букву, а не хотя бы одну.
поэтому надо так
Код:
  
    //предположим что слово состоит только из парных z=1  
    z:=1;
    for i:=1 to length(slovo) do
      begin
        k:=0;
        for j:=1 to length(slovo) do
          if (slovo[i]=slovo[j]) and (i<>j) then k:=k+1;


        {вот это условие сработает только если попадется 
        буква которая встречается один раз
        это сразу определяет что слово состоит не только из парных}
        if k=0 then z:=0;
      end;
я вижу ты не плохо разобрался с поиском слов в предложении и тебе похоже нравится информатика. у меня к тебе деловое предложение, если есть желание опиши алгоритм перебора слов в строке вот в этой теме [Ссылки могут видеть только зарегистрированные пользователи. ] кроме пробелов слова могут разделять и такие знаки ",.:;?! если что я помогу. Поможешь развивать раздел, там глядишь и вести его сможешь.
Вобщем пиши зинтересовал я тебя или нет?


[Ссылки могут видеть только зарегистрированные пользователи. ]
Overlord вне форума   ЦИТИРОВАТЬ
Этот пользователь сказал Спасибо Overlord за это полезное сообщение:
Старый 12.03.2007, 17:04   #66
 
Статус: Гость
Сообщений: n/a
По умолчанию Re: Решебник (turbo pascal, Delphi)

Цитата:
Сообщение от Overlord Посмотреть сообщение
тебе похоже нравится информатика.

Да, программирование мне нравиться.

Цитата:
Сообщение от Overlord Посмотреть сообщение
Вобщем пиши зинтересовал я тебя или нет?

Хорошо попробуем.

Добавлено через 2 часа 32 минуты
У меня есть одна задача по массиву, но она неправильно считает различные действительные корни. Помоги разобраться.
Код:
Например: 
уравнение №1   -2  1  2  
уравнение №2    2  1  4  
уравнение №3   -2  1  2  
уравнение №4    2  4  9  
уравнение №5    1  2  -3

№1   х1=-0,8  х2=1,3  // это первый
№2   корней нет
№3   х1=-0,8  х2=1,3         // этот не учитывается т.к. он повторяется
№4   корней нет
№5   х1=1,0   х2=-3,0  // это второй

Должно быть разных действительных корней два
Задача:
"Среди N квадратных уравнений с заданными коэффициентами подсчитать количество уравнений, имеющих различные действительные корни, определить среди них уравнение с наименьшим корнем."

Код:
PROGRAM Primer1;
const n=5;
VAR{ x : array [1..100,1..100] of real;            }
    s : array [1..n,1..3] of real;
    k, i, j, a, b, c, e, q, w, z :integer;
	 x1, x2, min, d :real;
BEGIN
    writeln ('vvedite a,b,c ',n,' kvadratnyh yravneniy');
    for i := 1 to n do
	begin
	   write ('uravnenie #',i,':');
	   for j := 1 to 3 do
	       read (s[i,j]);
	end;
    writeln;
    for i := 1 to n do
	begin
	    d := sqr(s[i,2])-4*s[i,1]*s[i,3];
	    if d < 0 then
		  writeln ('#',i,' kornei net')
	    else
	       begin
		   x1 := (-s[i,2]+sqrt(d))/(2*s[i,1]);
		   x2 := (-s[i,2]-sqrt(d))/(2*s[i,1]);
		   if x1 < min then
			     min := x1;
		   if x2 < min then
			     min := x2;
		   if x1<>x2 then
			begin
			     k := k + 1;
			     writeln ('#',i,' x1 = ',x1:5:1,'  x2 = ',x2:5:1)
			end
		   else
			begin
			     k := k + 1;
			     writeln ('#',i,'  x = ',x1:5:1);
			end;


	       end;
	end;



   writeln;
   writeln ('naimKor=',min:3:1);
   writeln ('raz deystv korni imeyut ',k,' uravneniy');
   readln;
end.
Добавлено через 2 часа 46 минут
OverLord, помнишь эту задачу:

В целочисленной квадратной матрице порядка 5 все строки, состоящие только из положительных элементов расположить в конце, сохраняя исходное расположение как среди положительных, так и среди остальных строк.

Цитата:
Порядок среди строк, я так понял это внутри самой строки нужно сохранить порядок, а сам строки можно переставлять. Если нельзя то надо немного усовершенствовать, менять строки местами не как попало а со сдвигом.

Код:
program OverLord;
var s, s1:string;
    i,j,k,t:integer;
    a:array[1..5,1..5]of integer;
    flag:boolean;
BEGIN
  randomize;
  for i:=1 to 5 do
  for j:=1 to 5 do
      if odd(i) then a[i,j]:=random(1000)-500 else a[i,j]:=random(500);

  for i:=1 to 5 do
    begin
      for j:=1 to 5 do
        write(a[i,j],' ');
      writeln;
    end;
  writeln('*****************************');
  k:=1;
  for i:=1 to 5 do
    begin
      flag:=false;
      {определяем является ли строка положительной}
      for j:=1 to 5 do
        if a[i,j]<0 then flag:=true;
      if (flag=true)and(i<>k) then
        begin
          {меняем строки местами}
          for j:=1 to 5 do
            begin
              t:=a[k,j];
              a[k,j]:=a[i,j];
              a[i,j]:=t;
            end;
          k:=k+1;
        end;
    end;

  for i:=1 to 5 do
    begin
      for j:=1 to 5 do
        write(a[i,j],' ');
      writeln;
    end;
  readln;
END.

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

Я ее решил, но получилось слишком громозко, ты как это сделал бы?
Код:
PROGRAM primer4;
VAR a:array[1..5,1..5] of integer;
     i, j, k, c : byte;
    flag, flag1 : boolean;
	    help : integer;
BEGIN
  randomize;
  for i := 1 to 5 do
  for j := 1 to 5 do
      if odd(i)  then a[i,j] := random(1000)-100
	 else a[i,j] := random(500);

  for i := 1 to 5 do
    begin
      for j := 1 to 5 do
	 write(a[i,j]:5);
      writeln;
    end;
  writeln('*****************************');

  k:=0;
  for i:=1 to 5 do
      begin
	   flag:=true;
	   j:=1;
	   while(j<>6) and (flag) do
		begin
		    if a[i,j]<0 then
			 begin
			      k:=k+1;
			      flag:=false
			 end;
		    j:=j+1;
		end;
      end;
  for i:=1 to 5-k do
      begin
	   flag:=false;
	   for j:=1 to 5 do
	       begin
		   if not flag then
			 begin
			      c:=1;
			      flag:=true;
			      while (c<>6) and (flag) do
				    begin
					 if a[j,c]<0 then
					      flag:=false;
					 c:=c+1;
				    end;
			 end;
		   if flag then
			 begin
			      c:=1;
			      flag1:=true;
			      while (c<>6) and (flag1) do
				    begin
					 if a[j+1,c]<0 then
					       flag1:=false;
					 c:=c+1
				    end;
			      if not flag1 then
				  for c:=1 to 5 do
				       begin
					     help:=a[j,c];
					     a[j,c]:=a[j+1,c];
					     a[j+1,c]:=help;
				       end;
		       end;
	      end;
      end;

  for i:=1 to 5 do
      begin
	 for j:=1 to 5 do
	    write(a[i,j]:5);
	    writeln;
      end;
writeln;
readln;
END.

Последний раз редактировалось БилГейтс; 12.03.2007 в 19:50. Причина: Добавлено сообщение
  ЦИТИРОВАТЬ
Старый 13.03.2007, 14:00   #67
 
Аватар для Overlord
 
Статус: Старейшина
Регистрация: 27.03.2005
Адрес: Великая и могучая
Сообщений: 732
СПАСИБО: 49
сказали Спасибо 292 раз(а) в 168 сообщении
Получено наград:
По умолчанию Re: Решебник (turbo pascal, Delphi)

Цитата:
Сообщение от БилГейтс Посмотреть сообщение
Должно быть разных действительных корней два

я вижу что в пяти уравнениях прсутствуют четыре действительных корня:
  • -0.8,
  • 1.3,
  • 1,
  • 3
потом я вижу что есть три уравнения, которые имеют по два корня
  • 1 уравнение
  • 3 уравнение
  • 5 уравнение
ты видишь что только два уровнения отличаются корнями, потому что у 1 и 3 совпадают корни
  • 1 или 3
  • 5
вот твоя прога считает также как и я во втором случае
чтобы посчитать как ты хочешь, надо еще посчитать кол-во уравнений с одинаковыми корнями и вычесть из того что твоя программа сейчас насчитала.
для этого надо сохранить результаты вычислений в массиве примерно таком [1..2,1..5], а потом сравнивать в нужном нам порядке


[Ссылки могут видеть только зарегистрированные пользователи. ]
Overlord вне форума   ЦИТИРОВАТЬ
Старый 13.03.2007, 19:01   #68
 
Статус: Гость
Сообщений: n/a
По умолчанию Re: Решебник (turbo pascal, Delphi)

Цитата:
Помогите пажалуйста решить задачи!!! Зарание спасибо!!!

ЗАДАНИЕ №1
Задан массив X(N) (N<=100).
Найти наименьший элемент массива X и его порядковый номер.
Отпечатать найденые значения.

ЗАДАНИЕ №2
Задана матрица B(N,M) (N<=15,M<=20).
Переписать в массив А наименьшие элементы каждого столбца матрицы В.
Отпечатать сформированый массив А.

Sanja_bai, самое главное не забывайте про кнопку «спасибо», просто нажми эту кнопку.



№1
Код:
PROGRAM Bill_G;
uses crt;
const n=20;
VAR x : array[1..100] of integer;
    i,min,minN:integer;
BEGIN
     clrscr;
     randomize;
     for i:=1 to n do
		 x[i]:=random(100);
     for i:=1 to n do
		 write (x[i],' ');
     writeln;
     min:=x[i];
     minN:=1;
     for i:=1 to n do
		 if x[i]<min then
		     begin
			min:=x[i];
			minN:=i;
		     end;

     writeln ('min=',min,' minN=',minN);
     readln;
END.
№2
Код:
PROGRAM Bill_G;
uses crt;
const n=5; m=10;
VAR B : array[1..n,1..m] of integer;
    A : array[1..100] of integer;
    i,j,min,g:integer;
BEGIN
     clrscr;
     randomize;
     for i:=1 to n do
	 for j:=1 to m do
		 B[i,j]:=random(100);
     writeln('Matrica B:');
     for i:=1 to n do
       begin
	 for j:=1 to m do
		 write (B[i,j]:4);
	 writeln;
       end;
     writeln;
     j:=1;
     while j<=m do
       begin
	   min:=b[i,j];
	   for i:=1 to n do
		if b[i,j]<min then
		    min:=b[i,j];
	   a[j]:=min;
	   j:=j+1;
       end;
     writeln('Massiv A:');
     for j:=1 to m do
	  write (a[j]:4);
     readln;
END.

Последний раз редактировалось БилГейтс; 13.03.2007 в 19:03.
  ЦИТИРОВАТЬ
Старый 15.03.2007, 19:28   #69
 
Статус: Гость
Сообщений: n/a
По умолчанию Re: Решебник (turbo pascal, Delphi)

Цитата:
У меня есть одна маленькая,простенькая задачка.Нужно решить ее до завтра,но голова щас плохо, устал Я очень.
Вот и задачка:
Станция А,В, и С расположены на n-ом, m-ом и p-м километрах железной дороги, соответственно. Какие из этих станций расположены наиболее близко друг к другу.

Вы хотя бы дайте направление,Я там сначала нужно найти минимум,а дальше как?Помогите плиз!!!

Внизу есть кнопка СПАСИБО. Будь добр нажать ее.

Код:
PROGRAM Bill_G;
var a,b,c,h1,h2,h3:real;
BEGIN
     write (' введите на каком км расположена станция A, B, C: ');
     read (a,b,c);
     h1:=abs(b-a);
     h2:=abs(c-a);
     h3:=abs(c-b);

     if (h1<h2) and (h1<h3) then
	begin
		if h1=0 then writeln ('станция А и В вместе')
			else writeln ('станции А и В и r=',h1:4:1);
	end;
     if (h2<h1) and (h2<h3) then
	begin
		if h2=0 then writeln ('станция А и С вместе')
		else writeln ('станции А и С и r=',h2:4:1);
	end;
     if (h3<h1) and (h3<h2) then
	begin
		if h3=0 then writeln ('станция В и С вместе')
		else writeln ('станции В и С и r=',h3:4:1);
	end;
     if h1=h2 then
	writeln ('станции А и В, А и С находятся на одном расстоянии и  r=',h1:4:1);
     if h1=h3 then
	writeln ('станции А и В, В и С находятся на одном расстоянии и r=',h1:4:1);
     if h2=h3 then
	writeln ('станции А и С, В и С находятся на одном расстоянии и r=',h2:4:1);
END.
  ЦИТИРОВАТЬ
Этот пользователь сказал Спасибо за это полезное сообщение:
Старый 21.03.2007, 16:21   #70
 
Статус: Гость
Сообщений: n/a
Question Re: Решебник (turbo pascal, Delphi)

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

1. Вычислить:

Код:
y=sqr(12+10+8+...+2)-(3+6+9+...+18)
 sqr(6+8+10+...+16)*(6+8+10+...+16)

2. Известно, что любое число, большее семи, можно представить в виде комбинации троек и пятерок. Используя процедуру нахождения одной из таких комбинаций, разложить на 3 и 5 заданные натуральные числа K, M и N (K, M, N>7).
3. Даны две матрицы из целых чисел А(5,6), В(6,4). Определить, в какой матрице больше строк, расположенных в порядке убывания.
  ЦИТИРОВАТЬ
Объявление
Нам нужна Ваша поддержка. Сбор средств на оплату дата-центра.
ОТВЕТИТЬ

Метки
delphi, turbo pascal


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Turbo Pascal Создание и работа с типизированными файлами Dina19 Языки программирования 2 20.05.2015 13:59
Решебник (turbo C, C Builder и прочие Си...) Anutik Вопросы и ответы 58 24.12.2013 18:31
Turbo Pascal. Решение сложных задач IvanLis Программирование 0 16.01.2008 15:44
Литература по Turbo Pascal SoftWeb Программирование 5 16.03.2007 16:43
Turbo Pascal 7 Overlord Средства разработки приложений 0 02.02.2007 08:36


Часовой пояс GMT +3, время: 06:56.

Нам нужна Ваша поддержка. Сбор средств на оплату дата-центра.
Яндекс цитирования