Разработка программы на четырех языках программирования

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

” Комсомольский – на – Амуре государственный технический университет “

Факультет компьютерных технологий

Кафедра ПМИ

РАСЧЕТНО-ГРАФИЧЕСКОЕ ЗАДАНИЕ

По дисциплине ‹‹Языки программирования››

Студент группы 8КБ-1 Д. И.Карташов

Преподаватель И. А. Трещев

Тема : Изучение IDE(Integrated Development Environment) Turbo Pascal 7.0, Borland C++ 3.11, Delphi 7, Builder C++6.0 .

Цель работы: На четырех языках программирования (Turbo Pascal 7.0, Borland C++ 3.11, Delphi 7, Builder C++ 6.0) написать программу, которая выводит на экран имя и фамилию студента. Для написания программы использовать стандартные средства графики и простейшие геометрические фигуры.

Содержание

Введение

1. Блок кода

2. Блок выполнения программы

Вывод

Список использованных источников

Введение

Turbo Pascal – Интегрированная среда разработки программного обеспечения для платформ DOS и Windows 3.x и язык программирования в этой среде, диалект языка Паскаль от фирмы Borland.

Turbo Pascal – это среда разработки для языка программирования Паскаль. Используемый в Turbo Pascal диалект базировался на более раннем UCSD Pascal, получившем распространение, в первую очередь, на компьютерах серии Apple II. Компилирующая компонента Turbo Pascal была основана на компиляторе Blue Label Pascal, первоначально созданном в 1981 году Андерсом Хейлсбергом для операционной системы NasSys микрокомпьютера Nascom. Позднее он был переписан как Compass Pascal для операционной системы CP/M, затем как Turbo Pascal для DOS и CP/M.

Достоинства:

1.Удобная среда разработки, включающая функциональный отладчик, доступный в любой момент.

2.Контекстная справочная система, по которой можно изучать язык без обращения к сторонним источникам.

3.Высокая скорость компиляции, высокая скорость выполнения откомпилированных программ.

4.Встроенная возможность использовать вставки на языке ассемблера.

Недостатки:

1.Компилятор рассчитан на реальный режим DOS, применение которого сходит на нет. Однако в последних версиях компилятора и среды введена поддержка защищенного режима вместе с соответствующим отладчиком (TD).

2.В модуле CRT имеется ошибка (некорректный подсчет количества циклов для функции delay, не рассчитанный на быстрые процессоры, процессоры с переменной частотой и многозадачные среды), из-за которой при запуске программы на компьютерах с тактовой частотой более 200 MHz сразу происходило аварийное завершение с сообщением “Runtime error 200 at…”. Существуют разные варианты исправления модуля CRT. В варианте Клауса Хартнегга ошибка 200 не возникает, но длительность Delay на быстрых компьютерах меньше желаемой, и эта проблема по незнанию иногда тоже считается недостатком Turbo Pascal.

Borland C++ – среда программирования (IDE) на языках Си и C++ для DOS, Windows и Windows NT. Потомок Turbo C. Его дебаггер Turbo Debugger был написан для защищенного режима DOS.

C++ Builder (по-русски обычно произносят [си-плюс-плюс би лдэр], [си би лдэр]) – программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке C++.

C++ Builder объединяет в себе комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты. Цикл разработки аналогичен Delphi. Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но, к сожалению, обратное утверждение не верно.

C++ Builder содержит инструменты, которые при помощи drag-and-drop действительно делают разработку визуальной, упрощает программирование благодаря встроенному WYSIWYG – редактору интерфейса и пр.

Delphi – язык программирования, который используется в одноименной среде разработки. Сначала язык назывался Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.

Delphi – результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией – данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.

Также отличительным свойством Object Pascal от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить “желание” “где хочу – там и буду лежать”. Соответственно организуется и “многокучность”.

1. Блок кода

Рисование с помощью графики

Turbo Pascal 7.0

Program myName;

Uses Graph;

Var

GrDriver: Integer;

GrMode: Integer;

ErrCode: Integer;

Begin

GrDriver := Detect;

InitGraph(grDriver, grMode,’D:\BP\BGI’);

ErrCode := GraphResult;

If ErrCode = grOk then

Begin

{Family}

Line(10, 10,10 ,50 );

Line(10,20,30,5);

Line(10,30,30,50);

Line(40,50,50,10);

Line(50,10,60,50);

Line(40,30,65,30);

Line(70,10,70,50);

Line(70,10,80,10);

Line(70,30,80,30);

Line(80,10,80,30);

Line(80,10,100,10);

Line(90,10,90,50);

Line(100,50,110,10);

Line(110,10,120,50);

Line(100,30,120,30);

Line(125,10,125,50);

Line(130,10,130,50);

Line(135,10,135,50);

Line(125,50,135,50);

Circle(155,30,18);

Line(180,10,180,50);

Circle(190,20,9);

Circle(190,40,9);

{Name}

Line(30,100,40,80);

Line(40,80,50,100);

Line(25,100,55,100);

Line(25,100,25,105);

Line(55,100,55,105);

Line(60,105,70,80);

Line(70,80,90,105);

Line(60,90,90,90);

Line(107,105,107,70);

Line(107,85,115,85);

Line(115,105,115,70);

Line(120,70,120,105);

Line(120,105,130,70);

Line(130,70,130,105);

Line(135,105,145,70);

Line(145,70,155,105);

Readln;

CloseGraph;

End

Else

Writeln(‘Graphics error:’, GraphErrorMsg(ErrCode));

End.

Borland C ++ 3.11

#include <graphics. h>

#include <stdlib. h>

#include <stdio. h>

#include <conio. h>

Int main(void)

{

Int gdriver = DETECT, gmode, errorcode;

Initgraph(&;gdriver, &;gmode, “C:\BORLANDC\BGI”);

Errorcode = graphresult();

If (errorcode!= grOk)

{

Printf(“Graphics error: %s\n”, grapherrormsg(errorcode));

Printf(“Press any key to halt:”);

Getch();

Exit(1);

}

{Family}

Line(10, 10,10 ,50 );

Line(10,20,30,5);

Line(10,30,30,50);

Line(40,50,50,10);

Line(50,10,60,50);

Line(40,30,65,30);

Line(70,10,70,50);

Line(70,10,80,10);

Line(70,30,80,30);

Line(80,10,80,30);

Line(80,10,100,10);

Line(90,10,90,50);

Line(100,50,110,10);

Line(110,10,120,50);

Line(100,30,120,30);

Line(125,10,125,50);

Line(130,10,130,50);

Line(135,10,135,50);

Line(125,50,135,50);

Circle(155,30,18);

Line(180,10,180,50);

Circle(190,20,9);

Circle(190,40,9);

{Name}

Line(30,100,40,80);

Line(40,80,50,100);

Line(25,100,55,100);

Line(25,100,25,105);

Line(55,100,55,105);

Line(60,105,70,80);

Line(70,80,90,105);

Line(60,90,90,90);

Line(107,105,107,70);

Line(107,85,115,85);

Line(115,105,115,70);

Line(120,70,120,105);

Line(120,105,130,70);

Line(130,70,130,105);

Line(135,105,145,70);

Line(145,70,155,105);

Getch();

Closegraph();

Return 0;

}

Delphi7

Unit GRAPH;

Interface

Uses

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

Dialogs, StdCtrls, ExtCtrls;

Type

TForm1 = class(TForm)

Button1: TButton;

Image1: TImage;

Procedure Button1Click(Sender: TObject);

Private

{ Private declarations }

Public

{ Public declarations }

End;

Var

Form1: TForm1;

Implementation

{$R *.dfm}

Procedure TForm1.Button1Click(Sender: TObject);

Begin

With Image1 do begin

{К}

Canvas. MoveTo(140,110);

Canvas. LineTo(140,170);

Canvas. MoveTo(170,110);

Canvas. LineTo(140,140);

Canvas. LineTo(170,170);

{А}

Canvas. MoveTo(145,90);

Canvas. LineTo(160,30);

Canvas. LineTo(175,90);

Canvas. MoveTo(155,60);

Canvas. LineTo(170,60);

{Р}

Canvas. MoveTo(145,90);

Canvas. LineTo(160,30);

Canvas. LineTo(175,90);

Canvas. MoveTo(155,60);

Canvas. LineTo(170,60);

{А}

Canvas. MoveTo(180,90);

Canvas. LineTo(160,35);

Canvas. LineTo(175,90);

Canvas. MoveTo(155,60);

Canvas. LineTo(170,60);

{Ш}

Canvas. MoveTo(60,30);

Canvas. LineTo(60,90);

Canvas. LineTo(90,30);

Canvas. LineTo(90,90);

{О}

Canvas. Ellipse(225,30,255,90);

{В}

Canvas. MoveTo(265,30);

Canvas. LineTo(265,90);

Canvas. Ellipse(265,30,295,60);

Canvas. Ellipse(265,60,300,90);

{Д}

Canvas. MoveTo(100,110);

Canvas. LineTo(100,170);

Canvas. LineTo(130,110);

Canvas. LineTo(130,170);

Canvas. MoveTo(170,110);

Canvas. LineTo(140

{А}

Canvas. MoveTo(140,110);

Canvas. LineTo(140,170);

Canvas. MoveTo(170,110);

Canvas. LineTo(140,140);

Canvas. LineTo(170,170);

{Н}

Canvas. MoveTo(180,110);

Canvas. LineTo(180,170);

Canvas. LineTo(210,110);

Canvas. LineTo(210,170);

{И}

Canvas. MoveTo(220,110);

Canvas. LineTo(250,110);

Canvas. MoveTo(235,110);

Canvas. LineTo(235,170);

{Л}

Canvas. MoveTo(260,170);

Canvas. LineTo(275,110);

Canvas. LineTo(290,170);

Canvas. MoveTo(270,140);

End;

End;

End.

Builder C ++ 6.0

//—————————————————————————

#include <vcl. h>

#pragma hdrstop

#include “Unit1.h”

//—————————————————————————

#pragma package(smart_init)

#pragma resource “*.dfm”

TForm1 *Form1;

//—————————————————————————

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//—————————————————————————

Void __fastcall TForm1::Button1Click(TObject *Sender)

{

Form1->Image1-> Canvas->

Form1->Image1-> Canvas->MoveTo(60,30);

Form1->Image1-> Canvas->LineTo(60,90);

Form1->Image1-> Canvas->LineTo(90,30);

Form1->Image1-> Canvas->LineTo(90,90);

Form1->Image1-> Canvas->MoveTo(100,30);

Form1->Image1-> Canvas->LineTo(100,90);

Form1->Image1-> Canvas->Ellipse(100,30,130,60);

Form1->Image1-> Canvas->Ellipse(100,60,135,90);

Form1->Image1-> Canvas->MoveTo(145,90);

Form1->Image1-> Canvas->LineTo(160,30);

Form1->Image1-> Canvas->LineTo(175,90);

Form1->Image1-> Canvas->MoveTo(155,60);

Form1->Image1-> Canvas->LineTo(170,60);

Form1->Image1-> Canvas->MoveTo(185,30);

Form1->Image1-> Canvas->LineTo(185,90);

Form1->Image1-> Canvas->MoveTo(185,60);

Form1->Image1-> Canvas->LineTo(215,60);

Form1->Image1-> Canvas->MoveTo(215,30);

Form1->Image1-> Canvas->LineTo(215,90);

Form1->Image1-> Canvas->Ellipse(225,30,255,90);

Form1->Image1-> Canvas->MoveTo(265,30);

Form1->Image1-> Canvas->LineTo(265,90);

Form1->Image1-> Canvas->MoveTo(60,110);

Form1->Image1-> Canvas->LineTo(60,170);

Form1->Image1-> Canvas->MoveTo(60,140);

Form1->Image1-> Canvas->LineTo(90,140);

Form1->Image1-> Canvas->MoveTo(90,110);

Form1->Image1-> Canvas->LineTo(90,170);

Form1->Image1-> Canvas->MoveTo(100,110);

Form1->Image1-> Canvas->LineTo(100,170);

Form1->Image1-> Canvas->LineTo(130,110);

Form1->Image1-> Canvas->LineTo(130,170);

Form1->Image1-> Canvas->MoveTo(140,110);

Form1->Image1-> Canvas->LineTo(140,170);

Form1->Image1-> Canvas->MoveTo(170,110);

Form1->Image1-> Canvas->LineTo(140,140);

Form1->Image1-> Canvas->LineTo(170,170);

Form1->Image1-> Canvas->MoveTo(180,110);

Form1->Image1-> Canvas->LineTo(180,170);

Form1->Image1-> Canvas->LineTo(210,110);

Form1->Image1-> Canvas->LineTo(210,170);

Form1->Image1-> Canvas->MoveTo(220,110);

Form1->Image1-> Canvas->LineTo(250,110);

Form1->Image1-> Canvas->MoveTo(235,110);

Form1->Image1-> Canvas->LineTo(235,170);

Form1->Image1-> Canvas->MoveTo(260,170);

Form1->Image1-> Canvas->LineTo(275,110);

Form1->Image1-> Canvas->LineTo(290,170);

Form1->Image1-> Canvas->MoveTo(270,140);

Form1->Image1-> Canvas-> LineTo(280,140);

}

//—————————————————————————

Вывод текста на экран

Turbo Pascal 7.0

Program name;

Uses crt;

Begin

Clrscr;

Write(‘Karasov Danil ‘);

Readln;

End.

Borland C++ 3.11

#include<stdio. h>

Int main (void)

{

Printf(“‘Karasov Danil “);

Return 0;

}

Delphi7

Unit Unit1;

Interface

Uses

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

Dialogs, StdCtrls;

Type

TForm1 = class(TForm)

Label1: TLabel;

Button1: TButton;

Procedure Button1Click(Sender: TObject);

Private

{ Private declarations }

Public

{ Public declarations }

End;

Var

Form1: TForm1;

Implementation

{$R *.dfm}

Procedure TForm1.Button1Click(Sender: TObject);

Begin

Label1.Caption:=’Карташов Данил’;

End;

End.

Borland C++ 3.11

//—————————————————————————

#include <vcl. h>

#pragma hdrstop

#include “Unit1.h”

//—————————————————————————

#pragma package(smart_init)

#pragma resource “*.dfm”

TForm1 *Form1;

//—————————————————————————

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//—————————————————————————

Void __fastcall TForm1::Button1Click(TObject *Sender)

{

Form1->Label1->Caption = “Карташов Данил”;

}

//—————————————————————————

2. Блок выполнения программы

Рисование с помощью графики

Turbo Pascal 7.0

Borland C++ 3.11

Delphi7

Builder C++ 6.0

Вывод текста на экран

Turbo Pascal 7.0

Borland C++ 3.11

Delphi7

Builder C++ 6.0

Вывод

Была проведена работа по написанию программы в четырех языковых средах, выводящей имя и фамилию студента на экран по средствам графики с использование простейших геометрических фигур.

Список использованных источников

1. Джаррод Холингворт, Боб Сворт, Марк Кэшмэн, Поль Густавсон Borland C++ Builder 6. Руководство разработчика = Borland C++ Builder 6 Developer’s Guide. – М.: “Вильямс”, 2004. – С. 976.

2. Нил Дж. Рубенкинг. Язык программирования Delphi для “чайников”. Введение в Borland Delphi 2006 = Delphi for Dummies. – М.: Диалектика, 2007. – 336 с.

3. Хавьер Пашеку. Программирование в Borland Delphi 2006 для профессионалов = Delphi for. NET Developer’s Guide. – М.: Вильямс, 2006. – 944 с.

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

5. Моргун Александр Николаевич. Справочник по Turbo Pascal для студентов. – М.: Диалектика, 2006. – С. 608.


Разработка программы на четырех языках программирования