Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

AnTul

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Вот сама программа:
 
Program Task4;
Const N=15;
Var
   mas:array[1..N] of real; {Ограничение длины массива}
   m:integer;
Procedure vozr; {Процедура сортировки массива по возрастанию}
    Var
    i,j:integer;
    x:real;
    Begin
    i:=2;
    While i<=m do begin
                  j:=m;
                  While j>=i do begin
                                if mas[j-1]>mas[j] then begin
                                                    x:=mas[j-1];
                                                    mas[j-1]:=mas[j];
                                                    mas[j]:=x;
                                                    end;
                                j:=j-1;
                                end;
                  i:=i+1;
                  end;
    End;
Procedure ubyv;  {Процедура сортировки массива по убыванию}
    Var
    i,j:integer;
    x:real;
    Begin
    i:=2;
    While i<=m do begin
                  j:=m;
                  While j>=i do begin
                                if mas[j-1]<mas[j] then begin
                                                    x:=mas[j-1];
                                                    mas[j-1]:=mas[j];
                                                    mas[j]:=x;
                                                    end;
                                j:=j-1;
                                end;
                  i:=i+1;
                  end;
    End;
Procedure mass;  {Процедура создания массива}
    Var
      i:integer;
      Begin
      i:=0;
      WriteLN ('Введите количество элементов массива (не более 15-ти):  ');
      Read(m);
      while m>N do
      begin
           WriteLN('Ошибка! Ваше число пpевышает 15. Введите еще pаз: ');
           Read(m);
      end;
      WriteLN ('Введите ', m, ' чисел:  ');
      for i:=1 to m do read (mas[i]);
      End;
Procedure menu;  {Процедура работы меню}
    Var
    k,i,l:integer;
    Begin
      WriteLN('Выберете необходимое действие (нажмите клавишy 1, 2, 3, 4  
или 5):');
      WriteLN('1. Создать новый массив. ');
      WriteLN('2. Отсортировать массив по возрастанию. ');
      WriteLN('3. Отсортировать массив по убыванию. ');
      WriteLN('4. Найти элемент массива. ');
      WriteLN('5. Выход. ');
      Read(l);
      if l=1 then  {Если выбран 1-й пункт меню, то создается массив}
      Begin
      mass;
      menu;
      end;
      if l=2 then {Если выбран 2-й пункт меню, то массив сортируется по  
возрастанию}
      Begin
      vozr;
      WriteLN('Выводим отсоpтиpованный по возpастанию массив: ');
      for i:=1 to m do WriteLN(mas[i]:4:4);
      menu;
      end;
      if l=3 then {Если выбран 3-й пункт меню, то массив сортируется по  
убыванию}
      Begin
      ubyv;
      WriteLN('Выводим отсоpтиpованный по yбыванию массив: ');
      for i:=1 to m do WriteLN(mas[i]:4:4);
      menu;
      end;
      if l=4 then {Если выбран 4-й пункт меню, то выводится значение  
заданной ячейки массива}
      Begin
      WriteLN('Введите номеp ячейки массива: ');
      Read(k);
      while k>m do
      begin
           WriteLN('Ошибка! Ваше число пpевышает ',m,'. Введите еще pаз:  
');
           Read(k);
      end;
      WriteLN('Значением ячейки ',k,' яявляетсяя: ', mas[k]:4:4);
      menu;
      end;
      if l=5 then WriteLN('Good Bye!'); {Если выбран 5-й пункт меню, то  
происходит выход из программы}
      halt;
    End;
Begin
    mass; {Вызов процедуры создания массива}
    menu; {Вызов процедуры меню}
End.





учимся пользоваться тегом [more]

Всего записей: 5490 | Зарегистр. 13-07-2004 | Отправлено: 20:15 24-05-2006 | Исправлено: ShIvADeSt, 03:13 25-05-2006
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru