ini, materi tentang point rekan-rekaan mari kita belajar bersama-sama:
#ifndef point_h
#define point_h
#include "Boolean.h"
/***************************/
/* Type data */
/***************************/
/* Kamus */
typedef struct { int x; int y;}Point;
/***************************/
/* S P E S I F I K A S I */
/***************************/
/*********** Operasi Primitif ************/
void CreatePoint (Point * P);
/* Constructor Membentuk sebuah POINT, dengan nilai default adalah (0,0) */
void CopyPoint (Point PIn, Point * POut);
/* Copy Constructor, mengcopy satu Point menjadi Point lain */
/******* Selector komponen **********/
int GetAbsis (Point P);
/* Mengambil bagian x dari Point */
int GetOrdinat (Point P);
/* Mengambil bagian y dari Point */
/****** Pengubah komponen ******/
void SetAbsis (int NewX, Point * P);
/* Memberi nilai untuk Absis */
void SetOrdinat (int NewY, Point * P);
/* Memberi nilai untuk Ordinat */
/****** Kelompok Interaksi dengan I/O device, BACA/TULIS ******/
void BacaPoint (Point *P);
/* Membentuk POINT dari iX dan iY yang dibaca dari keyboard */
void PrintObj (Point P, char simbol[]);
/* Print nilai P dengan format (X,Y) */
/***** Kelompok Operasi Aritmatika terhadap Type Point *****/
Point Plus (Point P1, Point P2);
/* Menghasilkan salinan P yang berisi P1+P2
Melakukan operasi penjumlahan vektor */
Point Minus (Point P1, Point P2);
/* Menghasilkan salinan P yang berisi P1-P2
Melakukan operasi pengurangan vektor */
Point Kali (Point P1, Point P2);
/* Operasi perkalian P1 x P2, Melakukan operasi CrossProduct */
/****** Operator Relasional ******/
boolean EQ (Point P1, Point P2);
/* Memeriksa kesamaan dari dua buah Point, Asumsi : 1 jika P1 = P2 */
boolean NEQ (Point P1, Point P2);
/* Memeriksa ketidaksamaan dari dua buah Point, Asumsi:true jika P1 <> P2 */
boolean LT (Point P1, Point P2);
/* Memeriksa apakah P1 < P2
Asumsi : true jika P1 < P2 : absis dan ordinat lebih kecil */
boolean MT (Point P1, Point P2);
/* Memeriksa apakah P1 > P2
Asumsi : true jika P1 > P2 : absis dan ordinat lebih besar */
/***** Predikat lain *******/
boolean IsOrigin (Point P);
/* Apakah P di (0,0), Asumsi : true jika P adalah (0,0) */
boolean IsOnSbX (Point P);
/* Memeriksa apakah P ada di sumbu X,
Asumsi : true jika P terletak pada sb. X (y = 0) */
boolean IsOnSbY (Point P);
/* Memeriksa apakah P ada di sumbu Y,
Asumsi : true jika P terletak pada sb. Y (x = 0) */
int Kuadran (Point P);
/* Menghasilkan kuadran dari P (1,2,3 atau 4)
Precondition Current_object tidak di Titik Origin & tdk di sumbu */
void Geser (Point * P, int deltaX, int deltaY);
/* Operasi penggeseran Point */
/* Mengirimkan P yang absis dan ordinatnya ditambah delta */
void GeserkeSbX (Point * P);
/* IS. P terdefinisi
FS. P di sumbu X dgn absis sama dengan absis semula dan ordinat = 0
Proses : tergeser ke Sumbu X, cth : semula (9,9) menjadi (9,0) */
void GeserkeSbY (Point * P);
/* IS. P terdefinisi
FS. P di sumbu Y dgn ordinat sama dengan ordinat semula dan absis = 0
Proses : tergeser ke Sumbu Y, cth : semula (9,9) menjadi (0,9) */
Point MirrorOf (Point Pin, int SbX, int SbY);
/* Mengirimkan salinan PIn yang dicerminkan ke salah satu sumbu
Jika SbX bernilai 1, maka dicerminkan thd sb X
Jika SbY bernilai 1, maka dicerminkan thd sb Y */
void Mirror (Point * P, int SbX, int SbY);
/* Mengirimkan P yang dicerminkan ke salah satu sumbu
Jika SbX bernilai 1, maka dicerminkan thd sb X
Jika SbY bernilai 1, maka dicerminkan thd sb Y */
Point midPoint(Point T1, Point T2);
/* menghasilkan titik tengah T1, T2 berupa titik */
#endif
2010-12-09
DDP-Teori (program point)
06.41
RENDI PRATAMA
Diberdayakan oleh Blogger.
0 komentar:
Posting Komentar