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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2013, 00:29   #1
igagogi
Пользователь
 
Регистрация: 23.12.2012
Сообщений: 11
Вопрос Модуль на основе принципов объектно-ориентированного программирования

Здравствуйте, задача на языке turbo pascal, буду благодарен за любую помощь:

Необходимо разработать собственный модуль на основе принципов объектно-ориентированного программирования (с подключением модуля object), в котором должны содержаться в виде процедур и функций выполненные ранее работы 1-6. Разработанный модуль должен быть подключен в программу проверки, которая должна в интерактивном режиме вызывать на выполнение любую из запрашиваемых лабораторных работ, после выполнения каждой вызываемой программы необходимо обеспечить возврат в интерактив с возможностью генерального выхода из программы.

Вот 6 работ выполненые рание:

1)
Код:
Program mas;
        Type mass=array[1..10] of integer;
        var a,b:mass;
            count,j,i:integer;

Procedure peremeshenie;
begin
  For i:=1 to 10 do
  If a[i]=0 then
  For j:=i downto 1 do
      begin
           If j=1 then
           a[j]:=0 else
           a[j]:=a[j-1];
      end;
end;
    begin
         writeln('Введите елементы массива:');
         for i:=1 to 10 do
    begin
         readln(a[i]);
    end;
        Writeln();
        for i:=1 to 10 do
        if a[i]=0 then inc(count);
        writeln('Количество 0 элементов = ',count);
        if count>2 then peremeshenie;
        For i:=1 to 10 do
        Write(a[i], ' ');
        readln
end.
2)
Код:
Program matrx;
uses crt;
     const n=4;
     var a:array[1..n,1..n] of integer;
         i,j,k,x:integer;
begin
     clrscr;
     randomize;
     writeln('Исходная матрица:');
     for i:=1 to n do
 begin
      for j:=1 to n do
   begin
        a[i,j]:=random(50);
        write(a[i,j]:4);
   end;
       writeln;
 end;
     for j:=1 to n-1 do
     for k:=j+1 to n do
     if a[n,j]<a[n,k] then
 begin
      for i:=1 to n do
   begin
        x:=a[i,j];
        a[i,j]:=a[i,k];
        a[i,k]:=x;
   end;
 end;
     writeln('Отсортированная матрица:');
     for i:=1 to n do
begin
     for j:=1 to n do
     write(a[i,j]:4);
     writeln;
end;
    readln
end.
3)
Код:
program dvmas;
uses crt ;
     var i,j,m,n:integer;
         x1,y1,x2,y2:byte;
         a:array[1..100,1..100] of integer;
     begin
          clrscr;
          randomize;
          writeln('количество строк матрицы');readln(m);
          writeln('количество столбцов матрицы');readln(n);
          writeln('верхний левый угол');readln(x1,y1);
          writeln('нижний правый угол');readln(x2,y2);
          window(x1,y1,x2,y2);
          for i:=1 to m do
          for j:=1 to n do
     begin
          a[i,j]:=random(10);
     end;
         for i:=1 to m do
     begin
          for j:=1 to n do
          write('  ',a[i,j],' ');
          writeln;
     end;
        readkey;
     end.
5)
Код:
Program alfavit;
uses crt;
     const ru=['А'..'Я','а'..'я'];
           en=['A'..'Z','a'..'z'];
     var s,ss: string;
         i,kr,kl: integer;
begin
     write('s='); readln(s); ss:='';
     for i:=1 to length(s) do
    begin
         if s[i] in ru then inc(kr) else
         if s[i] in en then inc(kl) else
         ss:=ss+s[i];
    end;
        writeln('Русских   - ',kr);
        writeln('Латинских - ',kl);
        writeln('Другие символы: ',ss);
        readkey
end.
6)
Код:
Program text1;
var
  fin, fout: text;
  curr, prev: char;

begin
  assign(fin, 'text.txt'); reset(fin);
  assign(fout, 'text1.txt'); rewrite(fout);
  prev := #0;
  while not eof(fin) do begin
    read(fin, curr);
    if not ((curr = #32) and (prev = #32)) then write(fout, curr);
    prev := curr;
  end;
  close(fout); close(fin);
end.
4 работа к сожалению не влезла в сообщение, слишком длинная
Зарание спасибо кто не пройдет мимо
igagogi вне форума Ответить с цитированием
Старый 07.01.2013, 02:10   #2
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Цитата:
вызывать на выполнение любую из запрашиваемых лабораторных работ
Оформите программы в виде процедур и вызывайте их в теле основного модуля.
Цитата:
после выполнения каждой вызываемой программы необходимо обеспечить возврат в интерактив с возможностью генерального выхода из программы.
Код:
    repeat
      Write ('Введите № лаб.раб. (0 - выход): ');
      Readln (c);
      case c of
        1: DoLab1;
        2: DoLab2;
        ...
      end;
    until c=0;
Цитата:
разработать собственный модуль на основе принципов объектно-ориентированного программирования (с подключением модуля object), в котором должны содержаться в виде процедур и функций выполненные ранее работы 1-6
Вот это я не понял. Нужно что, создать класс, методы которого будут реализовавать разные лабораторные? Типа того:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  System.SysUtils, Unit1;

var
  c: byte;
  ll: TLabList;

begin
  ll := TLabList.Create;
  repeat
    Write ('Введите № лаб.раб. (0 - выход): ');
    Readln (c);
    ll.DoLab(c);
  until c=0;
  ll.Destroy;
end.
Код:
unit Unit1;

interface

type
  TLabList = class
    procedure DoLab (AIndex: Integer);
  end;

implementation

procedure DoLad1;
begin
  //...
end;

procedure DoLad2;
begin
  //...
end;

procedure DoLad3;
begin
  //...
end;

{ TLabList }

procedure TLabList.DoLab(AIndex: Integer);
begin
  case AIndex of
    1: DoLad1;
    2: DoLad2;
    3: DoLad3;
  end;
end;

end.

Последний раз редактировалось Sibedir; 07.01.2013 в 02:19.
Sibedir вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# Основы объектно-ориентированного программирования xq1b Помощь студентам 1 10.10.2012 12:33
Элементы объектно-ориентированного программирования Nvd Помощь студентам 0 13.03.2011 15:03
ЭЛЕМЕНТЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ Nvd Помощь студентам 0 13.03.2011 14:37
ЭЛЕМЕНТЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ Nvd Помощь студентам 0 12.03.2011 12:00
Принципы объектно-ориентированного программирования. Silent_Hell Помощь студентам 1 25.05.2009 12:53