База знаний студента. Реферат, курсовая, контрольная, диплом на заказ

курсовые,контрольные,дипломы,рефераты

Разработка программы на языке Borland Object Pascal (Ide Borland Delphi) — Информатика, программирование

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

Исходным файлом для проверки является текст программы на языке C++. Проверить правильность написания в программе инструкций безусловного перехода. Программа должна быть разработана на языке Borland Object Pascal (Ide Borland Delphi).


 

СОДЕРЖАНИЕ

1.ВВЕДЕНИЕ

2.ВЫПОЛНЕНИЕ ЗАДАНИЯ

2.1.Подготовка исходного файла

2.2.Разработка программы

2.3.Листинг программы

2.4.Запуск приложения

ПЕРЕЧЕНЬ ССЫЛОК

ПРИЛОЖЕНИЯ


 

1.         ВВЕДЕНИЕ

Система программирования  Турбо Паскаль, разработанная американской корпорацией Воrland, остается одной из самых популярных систем программирования в мире. Придуманный швейцарским ученым Никласом Виртом как средство для обучения студентов программированию, язык Паскаль стараниями  А. Хейлсберга превратился в мощную современную профессиональную систему программирования, которой по плечу любые задачи – от создания простых программ, предназначенных для решения несложных вычислительных задач, до разработки сложнейших реляционных систем управления базами данных. Появление Windows и инструментальных средств Borland Pascal with Objects и Delphi для разработки программ в среде Windows лишний раз показало, какие поистине неисчерпаемые возможности таит он в себе: и Borland Pascal, и используемый в Delphi язык Object Pascal основываются на Турбо Паскале и развивают его идеи.

Основная цель курсовой работы – закрепление и обобщение знаний полученных при изучении дисциплины «Программирование».

В результате выполнения курсовой работы должны быть получены навыки анализа поставленной задачи, выбора наиболее оптимального алгоритма решения задачи, разработки интерфейса, отладки и тестирования программ большого объема.


2.         ВЫПОЛНЕНИЕ ЗАДАНИЯ

 

2.1       Подготовка исходного файла

Сформируем текстовый документ с именем goto.cpp. Содержимое документа возьмем из русифицируемой справки MSDN по оператору безусловного перехода.

int i, j;

for(i = 0; i < 10; i++)

{

  // ...

  if(condition1)

    {

      j = 4;

      goto label1;

    }

  // ...

  for(j = 0; j < 10; j++)

  {

    // ...

  label1:

    // ...

    if(condition2)

      {

        i = 6;

        goto label2;

      }

  }

  // ...

label2:

  // ...

}

2.2       Разработка программы

В среде программирования Borland Delphi создадим новое приложение (пункт меню File \ New \ Application). Свойству формы Caption присвоим значение «Проверка Goto». Разместим на форме визуальные и невизуальные компоненты.

Невизуальный компонент – это диалоговое окно выбора файла для открытия. Компонент класса TOpenDialog становится видимым только в режиме запущенного приложения после вызова метода Execute. Присвоим компоненту имя odFile.

Размещаем на форме три компонента класса TButton с именами buOpen, buProverka buClose. Обработчик нажатия на кнопку buOpen открывает исходный файл (строки 33 - 41) и отображает его содержимое на компоненте Memo1 класса TMemo. Свойство Lines этого компонента содержит набор строк исходного файла.

Кнопка buProverka выполняет непосредственную проверку правильности использования безусловного оператора (строки 43 - 94). На первом шаге происходит запись содержимого файла в строковую переменную sFile (строка 48). Затем, при условии что файл не пустой (строка 49), происходит циклический поиск подстроки “goto” в переменной sFile (строки 52-54). Удаляется содержимое проверяемого файла до слова “goto” и выделяется имя метки перехода (строка 55). Имя метки должно удовлетворять требованию задания имени идентификатора. Для этой проверки используются строки 56-77. Затем ищется имя метки и символ «:» - это непосредственный переход на метку. В случае отсутствия такой подстроки выдается сообщение об ошибке (строки 78 - 84). В случаи успешной проверки использования одного безусловного перехода происходит инкрементирование счетчика и новый поиск конструкции goto (строки 85-86). По окончании проверки (в случае отсутствия ошибок) выдается число найденный инструкций безусловного перехода (строки 88-92).

Рис.1 - Форма в режиме Design

Кнопка buClose (строки 96 - 99) выполняет закрытие программы.


2.3      Листинг программы

 

1 unit Unit1;
2
3 interface
4
5 uses
6   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7   Dialogs, StdCtrls;
8
9 type
10   TForm1 = class(TForm)
11     Memo1: TMemo;
12     buOpen: TButton;
13     buProverka: TButton;
14     lbRezultat: TLabel;
15     odFile: TOpenDialog;
16     buClose: TButton;
17     procedure buOpenClick(Sender: TObject);
18     procedure buProverkaClick(Sender: TObject);
19     procedure buCloseClick(Sender: TObject);
20   private
21     { Private declarations }
22   public
23     { Public declarations }
24   end;
25
26 var
27   Form1: TForm1;
28
29 implementation
30
31 {$R *.dfm}
32
33 procedure TForm1.buOpenClick(Sender: TObject);
34 begin
35    if odFile.Execute then
36     begin
37      Memo1.Lines.Clear;
38      Memo1.Lines.LoadFromFile(odFile.FileName);
39      lbRezultat.Caption:= '';
40     end;
41 end;
42
43 procedure TForm1.buProverkaClick(Sender: TObject);
44 var
45   sFile, sLabelName: string;
46   i, iKol, j: integer;
47 begin
48    sFile:= Memo1.Lines.Text;
49    if sFile<>'' then
50     begin
51      iKol:= 0;
52      i:= pos('goto ', sFile);
53      while i<>0 do
54       begin
55        delete(sFile, 1, i+4);
56        i:= pos(';', sFile);
57        j:= pos(#13, sFile);
58        if ((j<>0)and(j<i))or(i=0) then
59         begin
60          lbRezultat.Caption:= 'Ошибка: Отсутствует ;';
61          lbRezultat.Font.Color:= clRed;
62          Exit;
63         end;
64        sLabelName:= copy(sFile, 1, i-1);
65        if not (sLabelName[1] in ['A'..'Z', 'a'..'z'])then
66         Begin
67          lbRezultat.Caption:= 'Ошибка: Неверное имя метки '+ sLabelName;
68          lbRezultat.Font.Color:= clRed;
69          Exit;
70         end;
71        for i:= 2 to length(sLabelName) do
72         if not(sLabelName[i] in ['0'..'9', 'A'..'Z', 'a'..'z']) then
73          begin
74           lbRezultat.Caption:= 'Ошибка: Неверное имя метки '+ sLabelName;
75           lbRezultat.Font.Color:= clRed;
76           Exit;
77          end;
78        i:= pos(sLabelName+':' ,sFile);
79        if i=0 then
80         begin
81          lbRezultat.Caption:= 'Ошибка: Отсутсвует переход на метку '+ sLabelName;
82          lbRezultat.Font.Color:= clRed;
83          Exit;
84         end;
85        inc(iKol);
86        i:= pos('goto ', sFile);
87       end;
88      if lbRezultat.Caption='' then
89       begin
90        lbRezultat.Caption:= 'Правильное задание '+ IntToStr(iKol)+ ' инструкций безусловного перехода';
91        lbRezultat.Font.Color:= clNavy;
92       end;
93     end;
94 end;
95
96 procedure TForm1.buCloseClick(Sender: TObject);
97 begin
98    Close;
99 end;
100
101 end.

2.4      Запуск приложения

Выполняется нажатием клавиши F9. После компиляции запускается программа на выполнение. Окно программы с результатами работы представлены на рис.2-5.


Рис.2 – Окно открытия файла

 

Рис.3 – Проверка файла

 


 

Рис.4 – Проверка файла

 

Рис.5 – Проверка файла


ПЕРЕЧЕНЬ ССЫЛОК

 

1.         Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. - М.: Наука, 1988.

2.         Довгаль С.И., Литвинов Б.Ю., Сбитнев А..И. Персональные  ЭВМ : Турбо Паскаль V7.0, объектное программирование, локальные сети. – Киев: Информсиситема сервис, 1993.

3.         Епанешников А.М., Епанешникова В.А. Программирование в среде Turbo Pascal 7.0.-М.: Диалог –МИФИ,1999.

4.         Зуев Е.А. Программирование на языке Turbo Pascal 6.0,7.0. – М.: Радио и связь, Веста,1993.

5.         Кандзюба С.П., Громов В.Н. Delphi 7.Базы данных и приложения. Лекции и упражнения. – К.: Издательство "ДиаСофт", 2001.

6.         Климова Л.М. Pascal 7.0. Практическое программирование. Решение типовых задач. –М.:КУДИУ ОБРАЗ, 2000.

7.         Марченко А. И.,  Марченко Л.А.. Программирование в среде Turbo Pascal 7.0.-К.: Век+,1999.

8.         Фаронов В.В. Turbo Pascal 7.0. Начальный курс. - М.: Нолидж, 2000.


ПРИЛОЖЕНИЯ

Приложение А

int i, j;

for(i = 0; i < 10; i++)

{

  // ...

  if(condition1)

    {

      j = 4;

      goto label1;

    }

  // ...

  for(j = 0; j < 10; j++)

  {

    // ...

  label1:

    // ...

    if(condition2)

      {

        i = 6;

        goto label2;

      }

  }


Приложение Б

 

-$A8

-$B-

-$C+

-$D+

-$E-

-$F-

-$G+

-$H+

-$I+

-$J-

-$K-

-$L+

-$M-

-$N+

-$O+

-$P+

-$Q-

-$R-

-$S-

-$T-

-$U-

-$V+

-$W-

-$X+

-$YD

-$Z1

-cg

-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;

-H+

-W+

-M

-$M16384,1048576

-K$00400000

-LE"c:\program files\borland\delphi7\Projects\Bpl"

-LN"c:\program files\borland\delphi7\Projects\Bpl"

-w-UNSAFE_TYPE

-w-UNSAFE_CODE

-w-UNSAFE_CAST


Приложение В

 

[FileVersion]

Version=7.0

[Compiler]

A=8

B=0

C=1

D=1

E=0

F=0

G=1

H=1

I=1

J=0

K=0

L=1

M=0

N=1

O=1

P=1

Q=0

R=0

S=0

T=0

U=0

V=1

W=0

X=1

Y=1

Z=1

ShowHints=1

ShowWarnings=1

UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;

NamespacePrefix=

SymbolDeprecated=1

SymbolLibrary=1

SymbolPlatform=1

UnitLibrary=1

UnitPlatform=1

UnitDeprecated=1

HResultCompat=1

HidingMember=1

HiddenVirtual=1

Garbage=1

BoundsError=1

ZeroNilCompat=1

StringConstTruncated=1

ForLoopVarVarPar=1

TypedConstVarPar=1

AsgToTypedConst=1

CaseLabelRange=1

ForVariable=1

ConstructingAbstract=1

ComparisonFalse=1

ComparisonTrue=1

ComparingSignedUnsigned=1

CombiningSignedUnsigned=1

UnsupportedConstruct=1

FileOpen=1

FileOpenUnitSrc=1

BadGlobalSymbol=1

DuplicateConstructorDestructor=1

InvalidDirective=1

PackageNoLink=1

PackageThreadVar=1

ImplicitImport=1

HPPEMITIgnored=1

NoRetVal=1

UseBeforeDef=1

ForLoopVarUndef=1

UnitNameMismatch=1

NoCFGFileFound=1

MessageDirective=1

ImplicitVariants=1

UnicodeToLocale=1

LocaleToUnicode=1

ImagebaseMultiple=1

SuspiciousTypecast=1

PrivatePropAccessor=1

UnsafeType=0

UnsafeCode=0

UnsafeCast=0

[Linker]

MapFile=0

OutputObjs=0

ConsoleApp=1

DebugInfo=0

RemoteSymbols=0

MinStackSize=16384

MaxStackSize=1048576

ImageBase=4194304

ExeDescription=

[Directories]

OutputDir=

UnitOutputDir=

PackageDLLOutputDir=

PackageDCPOutputDir=

SearchPath=

Packages=

Conditionals=

DebugSourceDirs=

UsePackages=0

[Parameters]

RunParams=

HostApplication=

Launcher=

UseLauncher=0

DebugCWD=

[Language]

ActiveLang=

ProjectLang=

RootDir=

[Version Info]

IncludeVerInfo=0

AutoIncBuild=0

MajorVer=1

MinorVer=0

Release=0

Build=0

Debug=0

PreRelease=0

Special=0

Private=0

DLL=0

Locale=1049

CodePage=1251

[Version Info Keys]

CompanyName=

FileDescription=

FileVersion=1.0.0.0

InternalName=

LegalCopyright=

LegalTrademarks=

OriginalFilename=

ProductName=

ProductVersion=1.0.0.0

Comments=


Приложение Г

program proverka;

uses

  Forms,

  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin

  Application.Initialize;

  Application.CreateForm(TForm1, Form1);

  Application.Run;

end.

 


Приложение Д

 

[Closed Files]

File_0=SourceModule,'D:\Projects\Delphi Studio\SKSMiK\ZarPlata\units\UData.pas',0,1,545,15,558,1,0

File_1=SourceModule,'D:\Projects\Delphi Studio\SKSMiK\ZarPlata\units\UTablNU.pas',0,1,681,50,698,1,0

File_2=SourceModule,'D:\Projects\Delphi Studio\SKSMiK\ZarPlata\units\UMain.pas',0,1,148,31,155,1,0

File_3=SourceModule,'D:\Projects\Delphi Studio\SKSMiK\ZarPlata\units\UPerson.pas',0,1,99,34,116,1,0

File_4=SourceModule,'D:\Projects\Delphi Studio\SKSMiK\ZarPlata\units\UFunction.pas',0,1,479,1,492,0,0

File_5=SourceModule,'D:\Projects\Delphi Studio\SKSMiK\ZarPlata\units\UEtalon.pas',0,1,800,40,825,0,0

File_6=SourceModule,'D:\Projects\Delphi Studio\SKSMiK\ZarPlata\units\UCreateAllReport.pas',0,1,406,51,407,0,0

File_7=SourceModule,'D:\Projects\Delphi Studio\SKSMiK\ZarPlata\units\USprNa.pas',0,1,1,17,9,1,0

File_8=SourceModule,'D:\Projects\Delphi Studio\SKSMiK\ZarPlata\units\USprUd.pas',0,1,305,1,308,1,0

File_9=SourceModule,'D:\Projects\Delphi Studio\SKSMiK\ZarPlata\units\USprOtdel.pas',0,1,1,1,1,1,0

[Modules]

Module0=D:\Projects\Delphi\sti\check_goto\Unit1.pas

Count=1

EditWindowCount=1

[D:\Projects\Delphi\sti\check_goto\Unit1.pas]

ModuleType=SourceModule

FormState=1

FormOnTop=0

[C:\Program Files\Borland\Delphi7\Projects\ProjectGroup1.bpg]

FormState=0

FormOnTop=0

[D:\Projects\Delphi\sti\check_goto\proverka.dpr]

FormState=0

FormOnTop=0

[EditWindow0]

ViewCount=1

CurrentView=0

View0=0

CodeExplorer=CodeExplorer@EditWindow0

MessageView=MessageView@EditWindow0

Create=1

Visible=1

State=2

Left=294

Top=140

Width=868

Height=505

MaxLeft=-4

MaxTop=108

MaxWidth=1288

MaxHeight=666

ClientWidth=1280

ClientHeight=632

LeftPanelSize=0

LeftPanelClients=CodeExplorer@EditWindow0

LeftPanelData=00000400010000000C000000436F64654578706C6F72657200000000000000000000000000000000000100000000000000000C000000436F64654578706C6F726572FFFFFFFF

RightPanelSize=0

BottomPanelSize=0

BottomPanelClients=MessageView@EditWindow0

BottomPanelData=00000400010000000B0000004D657373616765566965770000000000000000000000000000000000FFFFFFFF

[View0]

Module=D:\Projects\Delphi\sti\check_goto\Unit1.pas

CursorX=13

CursorY=57

TopLine=64

LeftCol=1

[Watches]

Count=0

[WatchWindow]

WatchColumnWidth=100

WatchShowColumnHeaders=1

Create=1

Visible=0

State=0

Left=0

Top=138

Width=265

Height=638

MaxLeft=-1

MaxTop=-1

ClientWidth=257

ClientHeight=612

TBDockHeight=612

LRDockWidth=257

Dockable=1

[Breakpoints]

Count=0

[AddressBreakpoints]

Count=0

[Main Window]

Create=1

Visible=1

State=0

Left=0

Top=0

Width=1280

Height=112

MaxLeft=-1

MaxTop=-1

ClientWidth=1272

ClientHeight=78

[ProjectManager]

Create=1

Visible=0

State=0

Left=369

Top=372

Width=438

Height=303

MaxLeft=-1

MaxTop=-1

ClientWidth=430

ClientHeight=277

TBDockHeight=303

LRDockWidth=438

Dockable=1

[CPUWindow]

Create=1

Visible=0

State=0

Left=96

Top=114

Width=959

Height=635

MaxLeft=-1

MaxTop=-1

ClientWidth=951

ClientHeight=601

DumpPane=79

DisassemblyPane=187

RegisterPane=231

FlagPane=64

[AlignmentPalette]

Create=1

Visible=0

State=0

Left=200

Top=107

Width=156

Height=84

MaxLeft=-1

MaxTop=-1

ClientWidth=150

ClientHeight=60

[PropertyInspector]

Create=1

Visible=1

State=0

Left=9

Top=203

Width=274

Height=559

MaxLeft=-1

MaxTop=-1

ClientWidth=266

ClientHeight=533

TBDockHeight=429

LRDockWidth=190

Dockable=1

SplitPos=144

ArrangeBy=Name

SelectedItem=Name

ExpandedItems=

HiddenCategories=

[ObjectTree]

Create=1

Visible=0

State=0

Left=958

Top=125

Width=190

Height=669

MaxLeft=-1

MaxTop=-1

ClientWidth=182

ClientHeight=643

TBDockHeight=290

LRDockWidth=190

Dockable=1

[CodeExplorer@EditWindow0]

Create=1

Visible=0

State=0

Left=0

Top=12

Width=140

Height=459

MaxLeft=-1

MaxTop=-1

ClientWidth=140

ClientHeight=459

TBDockHeight=305

LRDockWidth=140

Dockable=1

[MessageView@EditWindow0]

Create=1

Visible=0

State=0

Left=-100

Top=-534

Width=443

Height=85

MaxLeft=-1

MaxTop=-1

ClientWidth=443

ClientHeight=85

TBDockHeight=85

LRDockWidth=443

Dockable=1

[DockHosts]

DockHostCount=0

 


Приложение К

 

object Form1: TForm1

  Left = 320

  Top = 139

  Width = 520

  Height = 500

  Caption = #1055#1088#1086#1074#1077#1088#1082#1072' Goto'

  Color = clBtnFace

  Font.Charset = DEFAULT_CHARSET

  Font.Color = clWindowText

  Font.Height = -11

  Font.Name = 'MS Sans Serif'

  Font.Style = []

  OldCreateOrder = False

  PixelsPerInch = 96

  TextHeight = 13

  object lbRezultat: TLabel

    Left = 210

    Top = 424

    Width = 52

    Height = 13

    Caption = #1056#1077#1079#1091#1083#1100#1090#1072#1090

  end

  object Memo1: TMemo

    Left = 8

    Top = 48

    Width = 497

    Height = 353

    ScrollBars = ssBoth

    TabOrder = 0

  end

  object buOpen: TButton

    Left = 16

    Top = 8

    Width = 169

    Height = 33

    Caption = #1054#1090#1082#1088#1099#1090#1100' '#1092#1072#1081#1083

    TabOrder = 1

    OnClick = buOpenClick

  end

  object buProverka: TButton

    Left = 16

    Top = 416

    Width = 185

    Height = 33

    Caption = #1055#1088#1086#1074#1077#1088#1082#1072' Goto'

    TabOrder = 2

    OnClick = buProverkaClick

  end

  object buClose: TButton

    Left = 365

    Top = 8

    Width = 137

    Height = 33

    Caption = #1042#1099#1093#1086#1076

    TabOrder = 3

    OnClick = buCloseClick

  end

  object odFile: TOpenDialog

    Filter = 'C++ '#1092#1072#1081#1083'|*.cpp'

    Left = 208

    Top = 16

  end

end


Приложение Л

 

unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;

type

  TForm1 = class(TForm)

    Memo1: TMemo;

    buOpen: TButton;

    buProverka: TButton;

    lbRezultat: TLabel;

    odFile: TOpenDialog;

    buClose: TButton;

    procedure buOpenClick(Sender: TObject);

    procedure buProverkaClick(Sender: TObject);

    procedure buCloseClick(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.buOpenClick(Sender: TObject);

begin

   if odFile.Execute then

    begin

     Memo1.Lines.Clear;

     Memo1.Lines.LoadFromFile(odFile.FileName);

     lbRezultat.Caption:= '';

    end;

end;

procedure TForm1.buProverkaClick(Sender: TObject);

var

  sFile, sLabelName: string;

  i, iKol, j: integer;

begin

   sFile:= Memo1.Lines.Text;

   if sFile<>'' then

    begin

     iKol:= 0;

     i:= pos('goto ', sFile);

     while i<>0 do

      begin

       delete(sFile, 1, i+4);

       i:= pos(';', sFile);

       j:= pos(#13, sFile);

       if ((j<>0)and(j<i))or(i=0) then

        begin

         lbRezultat.Caption:= 'Ошибка: Отсутсвует ;';

         lbRezultat.Font.Color:= clRed;

         Exit;

        end;

       sLabelName:= copy(sFile, 1, i-1);

       if not (sLabelName[1] in ['A'..'Z', 'a'..'z'])then

        begin

         lbRezultat.Caption:= 'Ошибка: Неверное имя метки '+ sLabelName;

         lbRezultat.Font.Color:= clRed;

         Exit;

        end;

       for i:= 2 to length(sLabelName) do

        if not(sLabelName[i] in ['0'..'9', 'A'..'Z', 'a'..'z']) then

         begin

          lbRezultat.Caption:= 'Ошибка: Неверное имя метки '+ sLabelName;

          lbRezultat.Font.Color:= clRed;

          Exit;

         end;

       i:= pos(sLabelName+':' ,sFile);

       if i=0 then

        begin

         lbRezultat.Caption:= 'Ошибка: Отсутствует переход на метку '+ sLabelName;

         lbRezultat.Font.Color:= clRed;

         Exit;

        end;

       inc(iKol);

       i:= pos('goto ', sFile);

      end;

     if lbRezultat.Caption='' then

      begin

       lbRezultat.Caption:= 'Правильное задание '+ IntToStr(iKol)+ ' инструкций безусловного перехода';

       lbRezultat.Font.Color:= clNavy;

      end;

    end;

end;

procedure TForm1.buCloseClick(Sender: TObject);

begin

   Close;

end;

end.

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ Исходным файлом для проверки является текст программы на языке C++. Проверить правильность написания в программе инструкций безусловного перехода. Программа должна быть разработана на языке Borland Object Pascal

 

 

 

Внимание! Представленная Курсовая работа находится в открытом доступе в сети Интернет, и уже неоднократно сдавалась, возможно, даже в твоем учебном заведении.
Советуем не рисковать. Узнай, сколько стоит абсолютно уникальная Курсовая работа по твоей теме:

Новости образования и науки

Заказать уникальную работу

Похожие работы:

Разработка программы поиска решения системы дифференциальных уравнений двумя методами: Рунге-Кутта и Рунге-Кутта-Мерсона
Разработка программы при помощи языка низкого уровня ассемблер
Разработка программы решения системы линейных уравнений
Разработка программы рисования замкнутых многоугольников на языке С++, с использованием библиотеки VCL
Разработка программы, генерирующей пароли пользователей
Разработка программы, позволяющей просматривать и редактировать записи библиотечного каталога
Разработка программы-компилятора
Разработка програмного обеспечения для расчёта дисперсионной характеристики планарного волновода
Разработка проекта базы данных для АИС &quot;Учет Проектов&quot;
Разработка проекта комплексной защиты информации

Свои сданные студенческие работы

присылайте нам на e-mail

Client@Stud-Baza.ru