zzz

Like trang page giúp ad nhé! THANK ALL

Thứ Ba, 1 tháng 12, 2015

Procedure:Single IN Parameter

NOTE:
Có tham số truyền vào . Có thể là chuỗi, or time,..

  1. Example
CREATE OR REPLACE PROCEDURE example1(paramx IN VARCHAR2)
IS
BEGIN
  DBMS_OUTPUT.PUT_LINE('HI
ỂN THỊ THAM SỐ' || paramx);
END;
/
Run:
Exec example1(' biến xxx ')

Procedure : No Parameters

NOTE:
  • Không có tham số truyền vào, cũng như không có tham số đầu ra .
  1. Cấu trúc procedure
CREATE OR REPLACE PROCEDURE <procedure_name> IS

  <code here>
END <procedure_name>;
/

  1. Example
CREATE OR REPLACE PROCEDURE example1
IS
BEGIN
   DBMS_OUTPUT.PUT_LINE(' HELLO PROCEDURE ');
END;
/

RUN : exec example1 

Chủ Nhật, 29 tháng 11, 2015

Sequence và index trong Oracle

# SEQUENCE
Sequence là danh sách tuần tự  của con số, và được tạo bởi Oracle sever.
Mục đích : Sequence dùng để tạo khóa chính một cách tự động cho dữ lệu.
Sequence thường dùng để tạo khóa chính trong sinh mã tự động. Có thể dùng chung cho nhiều đối tượng. Con số sequence này có chiều dài tối đa là 38 số. 
  1. Tạo SEQUENCE
Để tạo sequence, dùng lệnh create như sau
CREATE SEQUENCE sequence_name
INCREMENT BY integer
START WITH integer
[MAXVALUE integer]
[MINVALUE integer]
[CYCLE/NO CYCLE];

Trong đó:
INCREMENT BY : chỉ định khoảng cách của dãy số tuần tự
START WITH     : Chỉ định số đầu tiên của dãy số tuần tự
MAXVALUE     : Giá trị lớn nhất của dãy tuần tự
MINVALUE     : Giá trị nhỏ nhất của dãy tuần tự
CYCLE/NO CYCLE: Dãy tuần tự có quay vòng khi đến điểm cuối. Mặc định là NO CYCLE
Ví dụ:
CREATE SEQUENCE sample_sequen INCREMENT 1 STRAT WITH 2 MAXVALUE 100; -- max có 100 bản ghi
  1. Xoá và sửa sequence
Sửa bằng lệnh:
ALTER SEQUENCE sequence_name
INCREMENT BY integer
START WITH integer
[MAXVALUE integer]
[MINVALUE integer]
[CYCLE/NO CYCLE];
  1. Xoá bằng lệnh:
DROP SEQUENCE sequence_name ;

#INDEX
Index là một  cấu trúc cơ sở dữ liệu, được sever sử dụng để tìm một row trong bảng một cách nhanh chóng. Index bao gồm một key value ( một cột (column) trong hàng (row) ) và rowid.
Hd:    key -value (rowid - và một cột ) , nó sẽ map id của bảng với giá trị 1 cột
Mục đích : để tìm row được nhanh hơn .
  1. Tạo index
CREATE [UNIQUE]] INDEX index_name
ON TABLE ( column [,column...]);
Khi nào dùng index:
  • Dùng  index để query cho nhanh.
  • Dùng Index khi mà việc lấy dữ liệu <15% số row trong bảng.
  • Index những column nào dùng để nối  giữa các bảng lẫn nhau.
  • Không nên dùng Index cho các bảng nào chỉ có vài row.
  • Primaryvà unique key ( khóa chính và khóa duy nhất)  tự động có index, nhưng nên có index cho foreign key( khóa ngoại).
Ví dụ :
CREATE INDEX pro_index ON PROJECT (PROJ_NAME);
  • Pro_index: là tên của index
  • PROJECT : tên bảng
  • PROJ_NAME : tên trường
  1. Xóa index
Code
DROP INDEX pro_idex ;

check kết nối tài khoản oracle

1.      Kết nối tới server Oracle từ xa

Mẫu: connect user/pass@host/service_name

2.      Kết nối tới người dùng oracle từ Linux


[oracle@PTUDServer3 dpdump]$ sqlplus PTUD_MONITOR/123456@orcl;
sqlplus user_name/password@sid;

Mở listener để cho phép oracle server và client giao tiếp với nhau

1.      Mở listener để cho phép oracle server và client giao tiếp với nhau


[oracle@PTUDServer2 db_1]$ lsnrctl
LSNRCTL> start

[oracle@PTUDServer2 ~]$ cd $ORACLE_HOME
[oracle@PTUDServer2 db_1]$ lsnrctl status

Xác định đường dẫn vật lý data file của 1 tablespace

1.      Xác định đường dẫn vật lý data file của 1 tablespace


select tablespace_name,file_name from dba_data_files where TABLESPACE_NAME = 'USERS';

Xác định tablespace thuộc 1 schema

1.      Xác định tablespace thuộc 1 schema


Xem, sửa, chạy biến môi trường trong linux

1.      Xem thông tin biến môi trường

Printenv
[oracle@PTUDServer2 ~]$ cat .bash_profile

2.      Apply biến môi trường bằng cách chạy script file

. .bash_profile

3.      Xem thông tin 1 biến


echo $PATH

Chỉnh sửa IP table trong linux

cd /etc/sysconfig
[root@PTUDServer2 sysconfig]# cat iptables
service iptables restart

Thứ Sáu, 27 tháng 11, 2015

tạo , xóa thư mục không rỗng trong linux

Tạo thư mục mới :
[ihub@ETL-PRU-4 ~]$ mkdir -p em_agent/

Xóa thư mục không rỗng "em_agent":
[ihub@ETL-PRU-4 ~]$ rm -rf em_agent                        

kiểm tra bộ nhớ sử dụng của các tài khoản linux


  • Check dung lượng bộ nhớ sử dụng của user hiện thời :
        [oracle@PTUD-VM02-2 oracle]$ du -sh
        320G        
  • Check dung lượng bộ nhớ sử dụng của all :
        [oracle@PTUD-VM02-2 oracle]$ du -sh *
        683M        admin
        49M        cfgtoollogs
        4.0K        checkpoints
        135M        diag
        406M        fast_recovery_area
        309G        oradata
        9.8G        product

        4.0K        software

Thứ Tư, 25 tháng 11, 2015

import file dump vào database

TH1: 
/u01/app/oracle/admin/bccs_vtc/dpdump
[oracle@PTUD-VM02-2 dpdump]$ 
[oracle@PTUD-VM02-2 dpdump]$ impdp system/VtgPtudSYSTEM2015@bccs_vtc directory=vtc_dir dumpfile=IR_20151023.dmp logfile=imIR_20151023.log
note: 
- system
- VtgPtudSYSTEM2015
- bccs_vtc
- vtc_dir
- IR_20151023.dmp
- imIR_20151023.log

TH2: 
/u01/app/oracle/admin/bccs_haiti/dpdump
[oracle@PTUD-VM02-2 dpdump]$ 
[oracle@PTUD-VM02-2 dpdump]$ impdp system/VtgPtudSYSTEM2015 directory=haiti_dir remap_schema=BCCS_CM_HAITI:CM_POS dumpfile=BCCS_CM_HAITI_CUS.dmp logfile=imBCCS_CM_HAITI_CUS.log

note: 
remap_schema=BSSC_CM_HAITI:CM_POS // là chuyển schema sang tên mới là CM_POS

MỘT SỐ LỆNH KIỂM TRA Trong database Oralce

MỘT SỐ  LỆNH KIỂM TRA Trong database Oralce
  • Check instance đang hoạt động
[oracle@PTUD-DB01 dpdump]$ lsnrctl status
  • Check  table space
SQL> select tablespace_name from dba_tablespaces;
SQL> select * from all_directories;
  • Kiem tra user :
SQL> select username from dba_users;
  • Lệnh drop 1 schema (user) :
SQL> DROP USER BCCS_CM_HAITI CASCADE;
  • Check kết nối 1 tài khoản:

connect BCCS_GW_VTB/vtb#2015;

Thứ Sáu, 20 tháng 11, 2015

Hướng dẫn tạo SVN , user và phân quyền trong SVN !



Hướng dẫn  tạo và phân quyền SVN

Phần 1 : TẠO SVN 
Tài khoản sử dụng Root :
Thư mục gốc :
 /u02/PTUD/svn/[ SVN 1]
 /u02/PTUD/svn/[ SVN 2]

Mỗi SVN có thể tương đương với 1 phòng ban.
Tất cả các SVN đều được cấu hình trên 2 file duy nhất ở ngoài thư mục /svn
Tạo SVN mới
                 svnadmin create /u02/PTUD/svn/TÊN THƯ MỤC
Phân quyền cho thư mục
chown -R apache:apache /var/www/svn/testrepo

## Set security context ##
chcon -R -t httpd_sys_content_t /var/www/svn/testrepo

## Following enables commits over http ##
chcon -R -t httpd_sys_rw_content_t /var/www/svn/testrepo

Note: vậy là xong phần tạo SVN bjo chỉ cần gán quyền cho user vào sử dụng là ok 

PHẦN 2: TẠO USER VÀ PHÂN QUYỀN CHO USER 
Thư mục chưa file cấu hình
Svn có 2 file cấu hình svnserver.conf và svn.users


  1. Tạo tài khoản
    • Sử dụng root
    • Cd vào ../svn 
    • Gõ code phía dưới .
Code:
[root@PTUD-S01 svn]# htpasswd -d /u02/PTUD/svn.users tuanlq4

  1. Phân quyền
    • Sử dụng root
    • Cd vào
    • Sửa file cấu hình
[root@PTUD-S01 PTUD]# vi svnserve.conf
Note:
  • r: quyền đọc
  • w: quyền viết
  • @tckt : là 1 rule
  1. Sửa file cấu hình :
Vào file cấu hình
[root@PTUD-S01 PTUD]# vi svnserve.conf

Nội dung :
[/]                        // thư mục  từ svn/ …
congvt1=rw       // user có quyền cao nhất
thangtq11=rw   // user có quyền cao nhất
@public=rw       // tạo nhóm user có quyền cao nhất
@dev = rw
loint9 = rw
@tckt = rw    

[groups]             // gán user được sử dụng rule này
dev=chiemhv,thonh,tuongnx,
tckt=quangdh,thuyttt7,minh

[/Projects/GlobalMonitor]          // gán rule cho thư mục  or quyền riêng của 1 số user .     
@public=rw
nhungdth=rw
ductm = rw
[/Projects/Yeu cau noi bo]
@public=rw
lamnt22=rw
ductm = rw
[/Projects/MPS]
@dev = rw




Thứ Tư, 18 tháng 11, 2015

lv5: Đối tượng trong C++

lv5: Đối tượng trong C++
NỘI DUNG :
- định nghĩa được đối tượng trong C++
- truy xuất đối tượng
- viết các phương thức xử lý nghiệp vụ của đối tượng cở bản như :
       + thêm mới đối tượng
       + hiển thị danh sách các đối tượng
       + xóa 1 hoặc nhiều đối tượng (theo id )
       + tìm kiếm đối tượng (theo id , tên )
       + tính toán đối tượng
-----------------------------------------------------
Lab 1: viet chuong trinh nhap va hien thi doi tuong sinh vien -tim kiem nhan vien theo ten .
note:
- hàm so sách chuỗi : strcmp(chuỗi 1, chuỗi 2)
code :
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <conio.h>
#include <string.h>

using namespace std;
struct sinhvien{
   char masv[50];
   char ten[50];
   int tuoi;
};
void hienthi(sinhvien);
int timkiem(sinhvien[], int, char[]);
void sapxep(sinhvien[], int);

int main(){
   // initi
   sinhvien sv[50];
   int i,n;
   cout<<"nhap so luong sinh vien can nhap: "<<endl;
   cin>>n;
   for(int i=1; i<=n; i++){
       fflush(stdin);
       cout<<"nhap ma sv: ";
       cin.getline(sv[i].masv, 50);
       cout<<"nhap ten sv: ";
       cin.getline(sv[i].ten, 50);
       cout<<"nhap tuoi: ";
       cin>>sv[i].tuoi;
   }
   // hien thi sinh vien ra
   for(int i=1; i<=n; i++){
       hienthi(sv[i]);
   }
   // tiem sinh sinh tien theo ten
   char key[50];
   cout<<"nhap ten sinh vien can tim : "<<endl;
   cin>>key;
   int post = timkiem(sv, n, key);
   if(post>=0){
       hienthi(sv[post]);
   }
}
void hienthi(sinhvien sv){
   cout<<"ma sv : "<<sv.masv<<"-";
   cout<<"ten sv: "<<sv.ten<<"-";
   cout<<"tuoi sv: "<<sv.tuoi<<endl;
}
int timkiem(sinhvien sv[], int n, char key[]){
   for(int i=1; i<=n; i++){
       if(strcmp(sv[i].ten, key)==0){
          return i;
          return -1;
       }
       }
   }
Lab 2: thực hành bài lab quản lý động vật, yêu cầu tương tự
yêu cầu : nhập và hiển thị
code:
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <conio.h>
#include <string.h>
using namespace std;

struct dongvat{
   char madv[50];
   char tendv[50];
   int tuoi;
   };
void hienthi(dongvat);// hien thi 1 dôi tuong
int timkiem(dongvat[], int, int); // tim kiem theo tuoi
void sapxep(dongvat[], int); // sap xep mang doi tuong .

int main(){
   // khoi tao doi tuohng
   dongvat dv[50];
   int i, n;
   cout<<"nhap vao so luong dong vat: ";
   cin>>n;
   for(int i=1; i<=n; i++){
       fflush(stdin);
       cout<<"nhap ma : ";
       cin.getline(dv[i].madv, 50);
       cout<<"nhap ten: ";
       cin.getline(dv[i].tendv, 50);
       cout<<"nhap tuoi : ";
       cin>>dv[i].tuoi;
       }
   // hien thi dong vat
   for(int i=1; i<=n; i++){
       hienthi(dv[i]);
   }
   }
// phuong thuc hien thi
void hienthi(dongvat dv){
   cout<<"ma: "<<dv.madv<<" ";
   cout<<"ten: "<<dv.tendv<<" ";
   cout<<"tuoi: "<<dv.tuoi<<" ";
   }
Lab 3: quan hang phim
#include<iostream>
#include<iomanip>
#include<stdio.h>
#include<conio.h>
#include<string.h>
using namespace std;
struct hangphim{
   char ten[50];
   char daodien[50];
   int nam;
};
void display(hangphim);
int timkiem(hangphim[],int,char[]); // return id of film
void sapxep(hangphim[],int);
int main()
{
   hangphim hp[100];
   int n,i;
   cout<<"Nhap vao so luong phim tuy y: ";
   cin>>n;
   for(i=1;i<n+1;i++)
   {
       fflush(stdin);
       cout<<"Thong tin bo phim thu "<<i<<":"<<endl;
       cout<<"Nhap vao ten phim: ";
       cin.getline(hp[i].ten,50);
       cout<<"Nhap vao ten dao dien: ";
       cin.getline(hp[i].daodien,50);
       cout<<"Nhap vao nam san xuat: ";
       cin>>hp[i].nam;
   }
   //hien thi
   for(i=1;i<n+1;i++)
   display(hp[i]);
   //Liet ke danh sach sx trong 1 nam bat ki
   int key;
   cout<<"Nhap vao nam tim kiem: ";
   cin>>key;
   cout<<"Danh sach phim san xuat nam "<<key<<": "<<endl;
   for(i=1;i<n+1;i++)
   {
       if(hp[i].nam==key)
       {
       cout<<hp[i].ten<<" ";
       display(hp[i]);
       }
   }
   //Cho phep tim kiem theo ten phim
   char keyy[50];
   //fflush(stdin);
   cout<<"Nhap vao ten phim muon tim kiem: ";
   //cin.getline(keyy,50);
   cin>>keyy;
   int pos=timkiem(hp,n,keyy);
   if(pos>=0)
   {
   cout<<"Ton tai bo phim co ten "<<keyy<<"."<<endl;
   cout<<"Thong tin bo phim co ten "<<keyy<<": "<<endl;
   display(hp[pos]);
   }
   else
   cout<<"Khong ton tai bo phim co ten "<<keyy<<"."<<endl;
   //sap xep theo thu tu moi dan
   cout<<"Danh sach bo phim theo thu tu moi dan : "<<endl;
   sapxep(hp,n);
   for(i=1;i<n+1;i++)
   display(hp[i]);
 
   getch();
   return 0;
}
void display(hangphim hp)
{
   cout<<"Ten: "<<setw(15)<<left<<hp.ten;
   cout<<"Dao dien: "<<setw(15)<<left<<hp.daodien;
   cout<<"Nam sx: "<<hp.nam<<endl;
}
int timkiem(hangphim hp[],int n,char keyy[])
{
   for(int i=1;i<n+1;i++)
       if(strcmp(hp[i].ten,keyy)==0)   // use ham strcmp
       return i;
       return -1;
}
void sapxep(hangphim hp[],int n)
{
   for(int i=1;i<n;i++)
   {
       int min=i;
       for(int j=i+1;j<n+1;j++)
       {
          if(hp[j].nam<hp[min].nam)
          min=j;
          hangphim temp=hp[min];
          hp[min]=hp[i];
          hp[i]=temp;
         
       }
   }
}
lab 4: quan ly cong nhan
#include<iostream>
#include<conio.h>
#include<string.h>
#include<iomanip>
#include<stdio.h>
using namespace std;
struct congnhan{
   char mcn[50];
   char hoten[50];
   int time;
};
void display(congnhan);
int timkiem(congnhan[],int,char[]);
void sapxep(congnhan[],int);
int main()
{
   congnhan cn[100];
   int n,i;
   //Nhap danh sach so luong cong nhan tuy y
   cout<<"Nhap vao so luong cong nhan tuy y: ";
   cin>>n;
   for(i=1;i<n+1;i++)
   {
       fflush(stdin);
    cout<<"Nhap vao thong tin cong nhan thu "<<i<<endl;
   cout<<"Nhap vao ma cong nhan: ";
   cin.getline(cn[i].mcn,50);
   cout<<"Nhap vao ho ten: ";
   cin.getline(cn[i].hoten,50);
   cout<<"Nhap vao thoi gian lam viec: ";
   cin>>cn[i].time;
    }
   //Hien thi danh sach cong nhan ra man hinh
   for(i=1;i<n+1;i++)
{
   display(cn[i]);}
   //Hien thi danh sach cong nhan lam viec tu 40h tro len
cout<<"Danh sach cong nhan lam viec tren 40h: "<<endl;
for(i=1;i<n+1;i++)
{
   if(cn[i].time>=40)
   display(cn[i]);
}
//Tim kiem cong nhan co ma duoc nhap tu ban phim
char key[20];
cout<<"Nhap vao ma so cong nhan can tim: ";
cin>>key;
int pos=timkiem(cn,n,key);
if(pos>=0)
{
cout<<"Ton tai cong nhan co ma "<<key<<endl;
cout<<"Thong tin nhan vien can tim : "<<endl;
display(cn[pos]);
}
else
cout<<"Khong ton tai cong nhan co ma "<<key<<endl;
//Sap xep danh sach cong nhan theo trat tu giam dan(tang dan lam nhieu roi)
cout<<"Danh sach cong nhan theo trat tu giam dan: "<<endl;
sapxep(cn,n);
for(i=1;i<n+1;i++)
display(cn[i]);

   getch();
   return 0;
}
void display(congnhan cn)
{
   cout<<"Ma cn: "<<setw(5)<<left<<cn.mcn;
   cout<<"Ho ten: "<<setw(15)<<left<<cn.hoten;
   cout<<"Thoi gian lam viec: "<<left<<cn.time<<endl;
}
int timkiem(congnhan cn[],int n, char key[])
{
   for(int i=1;i<n+1;i++)
    if(strcmp(cn[i].mcn,key)==0)
    return i;
    return -1;
}
void sapxep(congnhan cn[],int n)
{
   for(int i=1;i<n;i++)
   {
       int max=i;
       for(int j=i+1;j<n+1;j++)
       {
          if(cn[max].time<cn[j].time)
          max=j;
       }
          congnhan temp=cn[max];
          cn[max]=cn[i];
          cn[i]=temp;
   }
}




























lv4: Mảng 2 chiều và các phép toán trên mảng 2 chiều :

lv4: Mảng 2 chiều và các phép toán trên mảng 2 chiều :
bài 1: nhập xuất các phần tử
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main (){
   int a[50][50];
   int n, m, i, j;
   // nhap mang
   cout<<"nhap kich thuoc n : "<<endl;
   cin>>n;
   cout<<"nhap kich thuoc m: "<<endl;
   cin>>m;
   for(i=1; i<=n; i++){
   for(j=1; j<=m; j++){
       cout<<"phan thu thu a["<<i<<"]["<<j<<"]";
       cin>>a[i][j];
       }
       }
   cout<<"hien thi so phan tu ra : "<<endl;
   for(i=1; i<n; i++)
   for(j=1; j<m; j++){
       cout<<a[i][j]<<endl;
       }
return 0;
}
bài 2: tìm min max

#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main (){
   int a[50][50];
   int n, m, i, j;
   // nhap mang
   cout<<"nhap kich thuoc n : "<<endl;
   cin>>n;
   cout<<"nhap kich thuoc m: "<<endl;
   cin>>m;
   for(i=1; i<=n; i++){
   for(j=1; j<=m; j++){
       cout<<"phan thu thu a["<<i<<"]["<<j<<"]";
       cin>>a[i][j];
       }
       }
   // hien thi mang
   cout<<"hien thi so phan tu ra : "<<endl;
   for(i=1; i<=n; i++)
   for(j=1; j<=m; j++){
       cout<<a[i][j]<<endl;
       }
   // tim phan tu max
   int max = a[1][1];
   for(i=1; i<=n; i++)
   for(j=1; j<m; j++)
   if(a[j][j]>max){
       max = a[i][j];
   }
   cout<<"max là : "<<max<<endl;
return 0;
}
bài 3 : sắp xếp
























lv3: Các bài toán trong mảng 1 chiều

lv3: Các bài toán trong mảng 1 chiều
###########################################################
bài 1 : nhập xuất cơ bản
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main (){
   int a[50];
   int i, n;
   // nhap mang
   cout<<"nhap vao kich thuoc mang : "<<endl;
   cin>>n;
   for(i=1; i<n; i++){
   cout<<"nhap phan tu a["<<i<<"]"<<endl;
   cin>>a[i];
   }
   // hien thi mang
   cout<<"danh sách phan tu mang la : "<<endl;
   for(i=1; i<n; i++){
       cout<<i<<": "<<a[i]<<endl;
       }
return 0;
}


lv2: Bài toán cơ bản trong C++

lv2: Bài toán cơ bản trong C++
NỘI DUNG :
-  làm quen với cú pháp C++
- nhập xuất trong C++
- thuật toán tìm kiếm, tìm min- max
- thuật toán sắp xếp
--------------------------------------------------------------------
bài 1: Hello world
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <string.h>
using namespace std;
int main(){
   cout<<"xin chào thế giới ";
}
bai 2: nhập xuất đơn giản
#include<iostream>
#include<iomanip>
#include<stdio.h>
#include<conio.h>
#include<string.h>
// bai toan nhap xuat don gian
using namespace std;
int a;
char b[50];
int main(){
// khai bao bien
cout<< "nhap vao mot chuoi ky tu "<<endl;
cin.getline(b, 50);
cout<< " nhap vao mot so tu nhien "<<endl;
cin>>a;
// hien thi
cout<< " ky tu so la: "<<a<<"và ky tu chuoi la : "<<b<<endl;
return 0;
   }
// note: nhap theo thu tu : ky tu chu truoc roi den so sau;
bài 3: Toán tử đơn giản nhất
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <stdio.h>
#include <string.h>
using namespace std;
int main(){
   cout<< " bai so 2"<<endl;
   int a, b, c ;
   cout<<"nhap a";
   cin>>a;
   cout<<"nhap b";
   cin>>b;
   c= a +b ;
// hien thi
   cout<< "a va b la: "<<a<<" ++++"<<b<<endl;
   cout<<c<<endl;
}
bài 4: toan tử so sánh --p1
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
   int a, b;
       cout<<"nhap vao so a: "<<endl;
       cin>>a;
       cout<<"nhap vao so b: "<<endl;
       cin>>b;
       if (a>b){
          cout<<"so lon nhat la "<<a;
          }else{
              cout<<"so lon nhat la"<<b;
          }
   return 0;
   }
bai 5: toán tử so sánh p2
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
   int a, b;
   cout<<"nhap a"<<endl;
   cin>>a;
   cout<<"nhap b"<<endl;
   cin>>b;
   if(a>0 || b>0){
       cout<<"it nhat mot trong 2 so lon hon 0";
       }else{
          cout<<"deo quan tam";
       }
   return 0;
   }
bài 6: vòng lặp for
// vòng lap for
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
int n, i;
cout<<"nhap vao kich thuoc chuoi: "<<endl;
cin>>n;
for(i=1;i<n+1;i++){
   cout<<i<<endl;
   }
return 0;
}
bài 7: lệnh switch - case
// lenh switch -case
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int x;
int main (){
cout<<"nhap vao mot so tu 1 toi 5"<<endl;
cin>>x;
switch(x){
   case 1:
       cout<<"doe quan tam ";
       break;
   case 2:
       cout<<"doi qua ";
       break;
   case 3:
       cout<<"buon ngu vai chuong ";
       break;
   default:
       cout<<"toi rat ghet lap trinh  ";
       break;
   }
return 0;
}
bài 8: mảng 1 chiều
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
   // khai bao mang 1 chieu
   int i, n;
    int a[5];
   // nhap gia tri cho mang
   cout<<"nhap vao so phan tu cua mang :"<<endl;
   cin>>n;
   if(n<5){
   for (i=1; i<n+1; i++){
   cout<<"phan tu thu "<<i<<endl;
   cin>>a[i];
   }
   }else{
       cout<<"nhap so phan tu cua mang duoi 5 ";
   }
   // hien thi so luong phan tu cua mang ra .
   cout<<"danh sach phan tu la : ";
   for(i=1; i<n+1; i++){
       cout<<" "<<a[i]<<";";
       }
return 0;
}
bai 9: các phép toán trên mảng 1 chiều - min- max
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
   // khai bao mang 1 chieu
   int i, n;
    int a[5];
   // nhap gia tri cho mang
   cout<<"nhap vao so phan tu cua mang :"<<endl;
   cin>>n;
   if(n<5){
   for (i=1; i<n+1; i++){
   cout<<"phan tu thu "<<i<<endl;
   cin>>a[i];
   }
   }else{
       cout<<"nhap so phan tu cua mang duoi 5 ";
   }
   // hien thi so luong phan tu cua mang ra .
   cout<<"danh sach phan tu la : ";
   for(i=1; i<n+1; i++){
       cout<<" "<<a[i]<<";";
       }
   cout<<endl;
   // tim so lon nhat
   int max = a[1];
   for(i=1; i<n+1;i++){
       if(a[i]>max){
          max = a[i];
          }
              }
       cout<<"max : "<<max<<endl;  
   // tim so nho nhat
   int min = a[1];
   for(i=1; i<n+1; i++){
       if(a[i]<min){
          min = a[i];
       }}
       cout<<"min : "<<min<<endl;
return 0;
}
bai 10: bài toán tìm kiếm cơ bản
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
   // khai bao mang 1 chieu
   int i, n;
    int a[5];
   // nhap gia tri cho mang
   cout<<"nhap vao so phan tu cua mang :"<<endl;
   cin>>n;
   if(n<5){
   for (i=1; i<n+1; i++){
   cout<<"phan tu thu "<<i<<endl;
   cin>>a[i];
   }
   }else{
       cout<<"nhap so phan tu cua mang duoi 5 ";
   }
   // hien thi so luong phan tu cua mang ra .
   cout<<"danh sach phan tu la : ";
   for(i=1; i<n+1; i++){
       cout<<" "<<a[i]<<";";
       }
   cout<<endl;
   // tim kiem phan tu có chi so k;
   int k;
   cout<<"nhap vao chi so k "<<endl;
   cin>>k;
   i=k;
   cout<<"gia tri la : "<<a[i]<<endl;
   // tim kiem so phan tu co gia tri x;
   int x;
   cout<<"nhap vao gia tri can tim: "<<endl;
   cin>>x;
   if(a[i]=x){
       cout<<"phan tu "<<a[i]<<endl;
       cout<<"chi so là :"<<i<<endl;
       }else{
          cout<<"khong tim thay gia tri nào ca !";
       }
return 0;
}
bài 11: thuật toán sắp xếp  ( sai roi )
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
   // khai bao mang 1 chieu
   int i, n;
    int a[5];
   // nhap gia tri cho mang
   cout<<"nhap vao so phan tu cua mang :"<<endl;
   cin>>n;
   if(n<9){
   for (i=1; i<n+1; i++){
   cout<<"phan tu thu "<<i<<endl;
   cin>>a[i];
   }
   }else{
       cout<<"nhap so phan tu cua mang duoi 9 ";
   }
   // hien thi so luong phan tu cua mang ra .
   cout<<"danh sach phan tu la : ";
   for(i=1; i<n+1; i++){
       cout<<" "<<a[i]<<";";
       }
   cout<<endl;
   // bai toan sap xep tang dan
   cout<<"sap xep theo thu tu: "<<endl;
   for(int i=0; i<n-1;i++){
   for(int j=i+1; j<n; j++){
   if(a[j]>a[i]){
       int temp = a[i];
       a[i]=a[j];
       a[j]=temp;
   }}}
   for(int i=1; i<n ;i++){
       cout<<a[i]<<endl;
   }
return 0;
}



lv1: Tổng quan C++

lv1: Tổng quan C++
I. giới thiệu
II. Môi trường phát triển
tool dev C++ : link tải
tool visual studio Express 2010 : link tải
III. List bài học C++ basic
1. bài toán cơ bản
2. mảng 1 chiều
3. mảng 2 chiều
4. Đối tượng C++
5. Con trỏ

Thứ Năm, 5 tháng 11, 2015

[ruby on rails]-bài 1: cài đặt Ruby On Rails trên windows

Cài đặt ruby on rails trên windows

1. tải về rubyinstaller và cài đặt
Tải về máy tập tinh tại địa chỉ: http://rubyinstaller.org/downloads/ bạn chọn và download một phiên bản về cài đặt trên win.
2. chạy lệnh cài đặt
vào command line (cmd) gõ lệnh sau : 
gem install rails -include-dependencies 
3. cài đặt môi trường phát triển Ruby On Rails 
- chọn công cụ APTANA. 
- tải về và cài đặt tại đường dẫn sau :