Môn học PPLT
Thầy Lãm
Lịch thi lại đã có sang thứ 4 ngày 5/12 phòng h4.1 các em nhớ đóng tiền thi lại trước mới có trong danh sách thi lai
Các sinh viên nhập học trể phải đi thêm nhóm 4 các thầy cô sẽ dạy lại từ đầu cho các em. Rất mong các em đi học đông đủ để không mất bài.
Code mãu bài Struct và file
Bài CHUONG9_File
Bài Giảng NMLT_C10_CauTruc
Bài giảng cNMLT_C11_ConTroCoBan và NMLT_C13_ConTroNangCao
slide bài giảng C07_Mang1Chieu và C07_Mang2Chieu
Danh sách đã chia nhóm lớpTCTH40A_26_9các bạn căn cứ vào đây để áp dụng nhóm cho các môn khác.
Danh sách sinh viên được dự thi cuối kỳ lớp BangDiemNCTH5APPLT lớp BangDiemNCTH5DPPLT có gì thắc mắc các bạn liện lạc với thầy chậm nhất 12AM thứ 6 ngầy/04/2012
File Text các em tham khảo.
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<string.h>
//prototype
int GiaTriLonNhat(int a[],int n);
int DemChan(int a[],int n);
int DemLe(int a[],int n);
void XapXep(int a[],int n);
void Tao_File_INPUT_N_Dong(int n);
int Doc_File_INPUT_Vao_Mang(int &n2,int *mang_ngaunhien);
void Tao_File_OUTPUT(int n2,int *mang_ngaunhien);
void main()
{
srand(time(NULL));
//Nhap so nguyen duong n:
int n=0;
do
{
cout<<“Nhap so nguyen duong n:”;
cin>>n;
}
while(n<=0);
Tao_File_INPUT_N_Dong(n);
//So nguyen n doc tu file len
int n2=0;
//Mang ngau nhien doc tu file len
int *mang_ngaunhien;
Doc_File_INPUT_Vao_Mang(n2,mang_ngaunhien);
cout<<“\nMang chua duoc xap xep:\n”;
for(int i=0;i<10*n2;i++)
{
if(i%10==0)
cout<<“\n”;
cout<<mang_ngaunhien[i]<<“\t”;
}
cout<<“\n”;
Tao_File_OUTPUT(n2,mang_ngaunhien);
cout<<“\nMang sau khi xap xep:\n”;
for(int i=0;i<10*n2;i++)
{
if(i%10==0)
cout<<“\n”;
cout<<mang_ngaunhien[i]<<“\t”;
}
getche();
}
///////////////////////////////////////////////////////////
int GiaTriLonNhat(int a[],int n)
{
int max=a[0];
for(int i=0;i<n;i++)
if(max<a[i])
max=a[i];
return max;
}
int DemChan(int a[],int n)
{
int chan=0;
for(int i=0;i<n;i++)
if(a[i]%2==0)
chan++;
return chan;
}
int DemLe(int a[],int n)
{
int le=0;
for(int i=0;i<n;i++)
if(a[i]%2!=0)
le++;
return le;
}
void XapXep(int a[],int n)
{
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(a[i]>a[j])
{
int tam=a[i];
a[i]=a[j];
a[j]=tam;
}
}
void Tao_File_INPUT_N_Dong(int n)
{
//Tao file voi ten INPUT.TXT
FILE *fp;
fp=fopen(“INPUT.TXT”,”w”);
if(fp==NULL)
{
cout<<“Khong the tao file \n”;
exit(1);
}
//chuyen so nguyen n -> chuoi de ghi xuong file text
//cach dung ham itoa: itoa(int n,*char,co so[10,16,2])
char *chuoi_n;
itoa(n,chuoi_n,10);
//ghi chuoi n xuong file text
fputs(chuoi_n,fp);
fputc(‘\n’,fp);
//ghi n so nguyen ngau nhien tu 0-100 xuong file text
//moi dong 10 so
for(int i=0;i<n;i++)
{
for(int j=0;j<10;j++)
{
//tao so ngau nhien tu 0-100
int ngaunhien=rand()%100+1;
//chuyen thanh chuoi de ghi xuong file text
char chuoi_ngaunhien[3];
itoa(ngaunhien,chuoi_ngaunhien,10);
//ghi chuoi ngau nhien xuong file text
fputs(chuoi_ngaunhien,fp);
fputc(‘ ‘,fp);
}
//du 10 so thi xuong hang
fputc(‘\n’,fp);
}
fflush(fp);
fclose(fp);
}
int Doc_File_INPUT_Vao_Mang(int &n2,int *mang_ngaunhien)
{
//Doc noi dung file INPUT.TXT, ghi vao mang 1 chieu
FILE *fp2;
fp2=fopen(“INPUT.TXT”,”r”);
if(fp2==NULL)
{
cout<<“Khong the mo file \n”;
exit(1);
}
//doc chuoi n tu file:
char chuoi_n2[100];
fgets(chuoi_n2,100,fp2);
//chuyen chuoi n tro lai thanh bien int
n2=atoi(chuoi_n2);
//doc cac gia tri ngau nhien tu file va dua vao mang:
for(int i=0;i<n2;i++)
{
char chuoi_ngaunhien[1000];
fgets(chuoi_ngaunhien,1000,fp2);
//cout<<chuoi_ngaunhien<<“\n”;
//cat chuoi de lay tung gia tri ngau nhien
char *kitucat=” “;
char *ketqua=NULL;
int dem=i*10;
ketqua=strtok(chuoi_ngaunhien,kitucat);
while(ketqua!=NULL && dem<=n2*10)
{
//chuyen lai thanh integer, dua vao mang
mang_ngaunhien[dem]=atoi(ketqua);
ketqua=strtok(NULL,kitucat);
dem++;
}
}
fclose(fp2);
return 0;
}
void Tao_File_OUTPUT(int n2,int *mang_ngaunhien)
{
//Tao file voi ten OUTPUT.TXT
FILE *fp3;
fp3=fopen(“OUTPUT.TXT”,”w”);
if(fp3==NULL)
{
cout<<“Khong the tao file \n”;
exit(1);
}
//chuyen so max -> chuoi de ghi xuong file text
//cach dung ham itoa: itoa(int n,*char,co so[10,16,2])
char chuoi_max[3];
itoa(GiaTriLonNhat(mang_ngaunhien,n2*10),chuoi_max,10);
//ghi phan tu max xuong file text
fputs(“Cau a: “,fp3);
fputs(chuoi_max,fp3);
fputc(‘\n’,fp3);
//chuyen so pt chan,le -> chuoi de ghi xuong file text
//cach dung ham itoa: itoa(int n,*char,co so[10,16,2])
char chuoi_soptchan[3];
itoa(DemChan(mang_ngaunhien,n2*10),chuoi_soptchan,10);
char chuoi_soptle[3];
itoa(DemLe(mang_ngaunhien,n2*10),chuoi_soptle,10);
//ghi tong so pt chan,le xuong file text
fputs(“Cau b: “,fp3);
fputs(chuoi_soptchan,fp3);
fputs(” “,fp3);
fputs(chuoi_soptle,fp3);
fputc(‘\n’,fp3);
//ghi mang da xap xep xuong file text
//moi dong 10 so
fputs(“Cau c: “,fp3);
fputc(‘\n’,fp3);
XapXep(mang_ngaunhien,n2*10);
for(int i=0;i<n2;i++)
{
for(int j=0;j<10;j++)
{
//chuyen thanh chuoi de ghi xuong file text
char chuoi_ngaunhien[3];
itoa(mang_ngaunhien[(i*10)+j],chuoi_ngaunhien,10);
//ghi chuoi ngau nhien xuong file text
fputs(chuoi_ngaunhien,fp3);
fputc(‘ ‘,fp3);
}
//du 10 so thi xuong hang
fputc(‘\n’,fp3);
}
fflush(fp3);
fclose(fp3);
}
Bài giảng về hàm các bạn download tại đậy Chuong6Ham.
Bài giản câu lệnh rẽ nhán và các loại vòng lặp Chuong3CauLenhReNhanh_VongLap.
Sofware Cfree cac em down ve install
Bài giảng chuong1MoDau, Chuong2BieuThuc
Bài mẫu tham khảo làm đề tài
Các em download bài file và chuỗi đầy đủ
Các em in bài file trước khi đi học lý thuyết (bắt buộc in)
Chuỗi tổng hợp các em cần in ra học cho thật kỹ chuoitonghop
Mảng structcác em downloadmangcautruccoban2
Con trỏ, mảng và struct các em download tham khảo contromang4
Chuỗi cắt khoảng trắng dư thừa
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
char * cktrang(char * st);// khi co 2 khoang trang lien tiep
char * cktrangdau(char * st);
char * cktrangcuoi(char * st);
void main()
{
char *st1, *str;
st1= new char[100];
fflush(stdin);//lam sach vung dem
cout<<“ban hay nhap vao chuoi “;
gets(st1);
cout<< “\ncat kt dau\n”;
st1 = cktrangdau(st1);
puts(st1);
cout<<“\n cat kt cuoi\n”;
st1 =cktrangcuoi(st1);
cout<<st1;
cout<< “\ncat kt giua\n”;
st1=cktrang(st1);
cout<< st1 ;
getch();
}
char * cktrang(char * st)
{
char * p;
p=new char[100];
while (p=strstr(st,” “))
strcpy(st+(strlen(st)-(strlen(p))),p+1);
return st;
}
char * cktrangdau(char * st)
{
while (st[0]==’ ‘)
strcpy(st, st+1);
return st;
}
char * cktrangcuoi(char * st)
{
int l;
l=strlen(st);
while (st[l-1]==’ ‘)
{
st[l-1]=”;
l=strlen(st);
}
return st;
}
Các em download baitapchuoicoban bài chuỗi cơ bản (hàm cơ bản, cắt khoảng trắng)
các e download bài manghaichieucoban mảng hai chiều phần cơ bản, in ra xem trước
Các em download viettheocachdequy bài viết theo cách gọi đệ quy
Các em download mangtongquat_sapxep_xoa1bài mảng đầy đủ (Xóa, thay thế, tìm kiếm, max …)
download nhapxuatsortmangthongthuongnhập xuất và sort array thông thường
download nhapxuatmangngaunhien nhập xuất mảng (array) qua hàm rand() ngẫu nhiên
// kiểm tra số n có toàn số chẵn, lẻ bài tập 78 ,79
#include<iostream.h>
bool KTLe(int n);
void KTChanLe(int n);
bool KTChan(int n);
void main()
{
int n;
cout<<“Nhap vao n”;
cin>>n;
KTChanLe(n);
}
void KTChanLe(int n)
{
if (KTChan( n)==true)
cout<<n <<“Toan chan\n”;
else if(KTLe(n)==true)
cout<<n <<“Toan le \n”;
else// co ca so cahn va so le
cout<<n <<“chua ca chan va le\n”;
}
bool KTChan(int n)
{
int so, tam;
tam=n;
while (n>0)
{
so=n%10;
if (so%2!=0 )
return false;
n=n/10;
}
return true; // toan chan
}
bool KTLe(int n)
{
int so, tam;
tam=n;
while (n>0)
{
so=n%10;
if (so%2==0 )
return false;
n=n/10;
}
return true ;// toan chan
}
download bai-tapcongcacsonguyento-64 tổng các số nguyên tố (bài 64) có sử dụng thừa kế bài 62
download xuatcacsonguyentobai-62 xuất các số nguyên tố từ 2->n
//Giai thua co su dung de quy va khong de quy
#include<iostream.h>
#include<math.h>
long GiaiThua( int n);// de quy
long GiaiThuaKhongDeQuy( int n);
int main()
{
int n;
cout<<“Nhap n”;
cin>>n;
cout <<“ham giai thua khong de quy \n”;
for (int i=1; i<=n;i++)
cout<<i<<“!=”<<GiaiThuaKhongDeQuy(i)<<“\n”;
cout <<“\n ham giai thua de quy \n”;
for (int i=1; i<=n;i++)
cout<<i<<“!=”<<GiaiThua(i)<<“\n”;
}
long GiaiThuaKhongDeQuy( int n)
{
long gt=1;
for(int i=1; i<=n;i++)
gt=gt*i;
return gt;
}
long GiaiThua( int n)
{
if(n==1)//buoc 1
return 1;
else
return GiaiThua(n-1) *n;// buoc 2
}
//Kiểm tra số chính phương viết dạng hàm
#include<iostream.h>
#include<math.h>
bool KiemTraSoChinhPhuong(int a);
int main()
{
int a;
cout<<“Nhap vao mot so”;
cin>>a;
if(KiemTraSoChinhPhuong(a)==true)
{
cout<<“La so chinh phuong:”;
}
else
cout<<“khong La so chinh phuong:”;
return 0;
}
bool KiemTraSoChinhPhuong(int a)
{
if (a==1)
return true;
else
for(int i=2; i<=int(sqrt(a));i++)
if (i*i==a)
return true;
return false;
}
// nhập 3 canh a, b,c kiểm tra có tạo thành tam giác không
// đây chỉ là gợi ý hàm main các bạn tự định nghĩa các hàm con
#include<iostream.h>
#include<math.h>
bool KiemTraTamGiac(int a, int b, int c);
float DienTich(int a, int b, int c);
int ChuVi(int a, int b, int c);
int main()
{
int a,b,c;
cout<<“Nhap vao 3 canh tam giac”;
cout<<“\n nhap canh a “;cin>>a;
cout<<“\n nhap canh b “;cin>>b;
cout<<“\n nhap canh c “;cin>>c;
if(KiemTraTamGiac(a,b,c)==true)
{
cout<<“chu vi la:”<<ChuVi(a,b,c)<<“\n”;
cout<<“Dien Tich la:”<<DienTich(a,b,c)<<“\n”;
}
else
cout<<“khong tao thanh tam giac”;
return 0;
}
bool KiemTraTamGiac(int a, int b, int c)
{
if (a+b>c && b+c>a &&c+a>b)
return true ;
else
return false;
}
int ChuVi(int a, int b, int c)
{
return a+b+c;
}
float DienTich(int a, int b, int c)
{
int cv;
float p, dt;
cv=ChuVi(a,b,c);
p=(float)cv/2;
dt=sqrt(p*(p-a)*(p-b)*(p-c));
return dt;
}
// Kiểm tra số chính phương dạng hàm
#include<iostream.h>
#include<math.h>
bool KiemTraSoChinhPhuong(int a);
int main()
{
int a;
cout<<“Nhap vao mot so”;
cin>>a;
if(KiemTraSoChinhPhuong(a)==true)
{
cout<<“La so chinh phuong:”;
}
else
cout<<“khong La so chinh phuong:”;
return 0;
}
bool KiemTraSoChinhPhuong(int a)
{
if (a==1)
return true;
else
for(int i=2; i<=int(sqrt(a));i++)
if (i*i==a)
return true;
return false;
}
// xuất các số nguyên tố trong khoảng 2->n
#include<math.h>
#include<iostream.h>
#include <stdio.h>
bool KTraSoNTo(int );//bool true/false
void main()
{
int i, n;
cout<<“Nhap n”; cin>>n;
i=2;
while(i<=n)
{
if (KTraSoNTo(i)==true)
cout<<i<<“\t”;
i++;
}
}
bool KTraSoNTo(int n)
{
int i, dem=0;
i=1;
while(i<=n)
{
if (n %i==0)
dem=dem+1;
if (dem>2)
break;
i++;
}
if(dem==2)
return true;
else
return false;
}
/*
Bài 89
Goi x la so trau dung’ -> 1<=x<=20″);
Goi y la so trau nam` -> 1<=y<=33″);
Goi z la so trau gia` -> 3<=z<=99 va` z la boi so cua 3″);
nVay ta co the giai bai toan nhu sau:\n\n”);/* Tram trau tram co.
Trau dung an 5.
Trau nam an 3.
Trau gia 3 con an 1.
*/
#include <iostream.h>
void TramTrauTramCo();
void main()
{
TramTrauTramCo();
}
void TramTrauTramCo()
{
int x,y,z,count=0;
for(x=1;x<=20;x++)
for(y=1;y<=33;y++)
for(z=3;z<=99;z+=3)
if((5*x+3*y+z/3==100)&&(x+y+z==100))
{
count+=1;
cout<<“\nPhuong an”<<count;
cout<<“\nSo trau dung la “<<x;
cout<<“\nSo trau nam la “<<y;
cout<<“\nSo trau gia la “<<z;
}
}
/*
Bài Tập 88 chương 3 Gà và chó
Vu+`a gà vu+`a chó
Bó la.i cho tròn
Ba mu+o+i sáu con
Mo^.t tra(m chân cha(~n.
*/
#include <iostream.h>
void GaChoTramChan();
void main()
{
//goi i la so cho
GaChoTramChan();
}
void GaChoTramChan()
{
int i,count=0;
for (i=1;i<=25;i++)
if((i*4+(36-i)*2)==100)
{
count+=1;
cout<<“\nPhuong an”<<count;
cout<<“\nSo ga “<<36-i;
cout<<“\nSo cho “<<i;
}
}
/* Bài tập 75,76,77 chương 3 viết dươi dạng hàm*/
#include<iostream.h>
#include<math.h>
int TongUocSo(int n);
bool KTraSoHThien(int n);
bool KTraSoThinhVuong(int n);
long GiaiThua(int n);
int main()
{
int n,CN;
do{
cout<<” Ban chon chuc nang\n”;
cout<<” chon 1 Hoan Thien \n”;
cout<<” 2 chon 2 Thinh Vuong\n”;
cout<<” 3 Giai thua \n”;
cout<<” 0 Thoat chuong trinh \n”;
cout<<” Nhap chuc nang\n”;
cin>>CN;
if (CN!=0)
{
cout<<” Nhap so n”;
cin >>n;
switch(CN)
{
case 1:
if (KTraSoHThien(n)==true)
cout<<n<<” la so hoan thien”;
else
cout<<n<<” khong la so hoan thien”;
break;
case 3:
cout<<n<<” giai thua la”<<GiaiThua(n);
break;
case 2:
if (KTraSoThinhVuong(n)==true)
cout<<n<<” la so thinh vuong”;
else
cout<<n<<” khong la so thinh vuong”;
break;
}
}
}while(CN!=0);
return 0;
}
bool KTraSoThinhVuong(int n)
{
int t;
t=TongUocSo(n);
if (t>n)
return true;
else
return false;
}
bool KTraSoHThien(int n)
{
int t;
t=TongUocSo(n);
if (n==t)
return true;
else
return false;
}
int TongUocSo(int n)
{
int t=0;
for(int i =1; i<n; i++)
if(n%i==0)
t=t+i;
return t;
}
long GiaiThua(int n)
{
long gt=1;
int i;
for (i=1; i<=n; i++)
gt=gt*i;
return gt;
}
/************************************************/
Bài giảng chương 4 PPLT down tai đây chuong4mang
Bài giảng chương 6 PPLT down tai đây chuong6ham1
Bài giảng chương 3 PPLT down tai đây chuong3_if_lap
Bài giảng chương 2 PPLT down tai đây chuong2
Bài giảng chương 1 PPLT down tai đây chuong1
Đề tài đạt điểm cao các em tham khảo nhưng cấp không được copy thuần túy
Yêu cầu tất cả sinh viên đi hoc thực hành và lý thuyết đều có sách tham khảo (sách mua tiệm photo Dũng đối diện kí túc xá nữ của trường ĐHCN).
Thanks Teacher !!!
Thầy ơi có fải chỉ cần 2 cuốn sách :nhập môn tin học và PPLT cho môn tin học là đủ không ạ!! em cảm ơn
thay thang chieu chu nhat thay co tren truong ko vay .ma sao em down bai giang ko duoc vay .thay ban cho em cai usb nha
thay oi cho e hoi de tai nam o dau sao em tim hoai ko thay vay
thầy ơi, em tới chỗ nào để mua cái USB vậy thầy? thầy bán cho em cái 2GB nha thầy, thanks thầy nhiều !!!
ANh Thang ơi. Viet So GDDT Tay Ninh day
thầy nói úp bài tập sao hok thấy đâu hết zậy!tính lừa em hả
thay oi!
thay oi,up may cai bai dang ham tong hop dum em di thay.voi thay up them bai giai? chuong 4 nha thay
thay oi vi du ve de quy dau thay
Thưa thầy, thầy có thể cho em một số gợi ý về cách làm đề tài cuối khóa được không ạ? Xin thầy liên lạc qua yahoo theo địa chỉ trên. MSSV của em là 0812938. Rất mong được thầy chỉ dạy ^^!
thay oi bai tap ve file em ko hieu cho lam,thay co the giang lai dum em ko a,ma cho em hoi dot thi trung cap lien thong len dai hoc co phan thuc hanh lap trinh ko ah,hay trac nghiem ah thay………thay chi em zoi nha^^
binrain oi sao ngoc vay
thay dang len mang roi con tim gi nua
Đằng ký đề tài tìm kiếm bài hát
Câu 293: (xem lại)
Kết quả xuất ra màn hình của chương trình sau đây là gì?
#include
int compute(int &a,int &b)
{
int c=a*b-b%a;
b–;
a/=2;
cout<<a <<" , " <<b <<" , " <<c <<endl;
return a-b+c;
}
void main()
{
int a=4,b=5,c=6;
b=compute(a,c);
cout<<a <<" , " <<b <<" , " <<c <0);
cout<<n;
Trả lời: 5
thay xem gium em
dap an de cho sai het em ko biet chon dap an nao het
Câu 281: (xem lại)
Cho biết kết quả của đoạn chương trình sau:
int number,n;
number=10;
n=1;
do
{
switch(number)
{
case 1: n++; break;
case 2: n=n+3; break;
case 3: n–; break;
case 4: n+=2; break;
default: break;
}
number–;
}
while(number>0);
cout<<n;
Trả lời: 5
Câu 293: (xem lại)
Kết quả xuất ra màn hình của chương trình sau đây là gì?
#include
int compute(int &a,int &b)
{
int c=a*b-b%a;
b–;
a/=2;
cout<<a <<" , " <<b <<" , " <<c <<endl;
return a-b+c;
}
void main()
{
int a=4,b=5,c=6;
b=compute(a,c);
cout<<a <<" , " <<b <<" , " <<c <<endl;
}
Trả lời: 2 5 22
2 19 5
thau oi pass la j vay sao em ko down slide dc vay ?
co ai biet khoa hoc lap trinh chi cho toi biet voi . Pm cho toi vao mail nhe . thank” nhieu nhieu
nh0zx_h4y_kh0z@y7mail.com
Thấy ơi giải dùm em bài 53 trong sách nha thầy!
em cam on thay nhieu !