Badden

New Member

Download miễn phí Bài tập tin ứng dụng





Vào dữ liệu từ bàn phím scanf();

 Cú pháp: scanf(,{danh sách đối});

 VD: Nhập giá trị thực x từ bàn phím.

 float x;

 printf("Vao gia tri cua x:");

 scanf("%f",&x);

 b.Xử lý mảng

 Khai báo mảng:

 Cú pháp: tênmảng[kích thước];

 VD:

 int x[10]; -> có nghĩa là mảng x có nhiều nhất 10 phần tử nguyên

 Truy cập các phần tử mảng

 Cú pháp: tênmảng[chỉ số]

 VD: Ta có mảng nguyên x có nhiều nhất 10 phần tử, ta muốn truy cập vào phần tử thứ 5 của nó để gán giá trị cho 1 biến y khác, ta làm như sau:

 int x[10],y;

 y=x[4];s

 





Để tải tài liệu này, vui lòng Trả lời bài viết, Mods sẽ gửi Link download cho bạn ngay qua hòm tin nhắn.

Ketnooi -


Ai cần tài liệu gì mà không tìm thấy ở Ketnooi, đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:


t x[10]; -> có nghĩa là mảng x có nhiều nhất 10 phần tử nguyên
Truy cập các phần tử mảng
Cú pháp: tênmảng[chỉ số]
VD: Ta có mảng nguyên x có nhiều nhất 10 phần tử, ta muốn truy cập vào phần tử thứ 5 của nó để gán giá trị cho 1 biến y khác, ta làm như sau:
int x[10],y;
y=x[4];s
Nhập dữ liệu cho mảng
Cú pháp:- Sử dụng vòng lặp for
- Sử dụng biến trung gian để nhập dữ liệu
VD: Vào dữ liệu cho mảng nguyên x có 10 phần tử:
int x[10],y,i,n;
n=10;
for(i=0;i {
printf("x[%d]=",i+1);
scanf("%d",&y);
x=y;
}
Hiển thị dữ liệu mảng
Cú pháp:-Sử dụng vòng lặp for, mỗi vòng lặp sẽ cho ta 1 giá trị của mảng.
VD: Hiển thị giá trị của mảng x nguyên vừa nhập ở trên
int x[10],i,n;
n=10;
for(i=0;i printf("\nx[%d]=%d",i+1,x);
Một số giải thuật
- Tính tổng
VD:Tính tổng của mảng nguyên x
int x[10],i,n,T;
n=10;T=0;
for(i=0;i T+=x; //T=T+x;
- Tìm biến
VD:Tìm xem có bao nhiêu phần tử mảng x có giá trị lớn hơn 5.
int x[10],i,n,dem;
n=10;dem=0;
for(i=0;i if (x>5) dem=dem+1;
- Xắp xếp
VD: Xắp xếp mảng x theo thứ tự tăng dần:
int x[10],i,j,n,tg;
n=10;
for(i=0;i for(j=i+1;j if (x>x[j])
{
tg=x;x=x[j];x[j]=tg;
}
c.Xử lý con trỏ
Khai báo
Cú pháp:*;
VD: Khai báo biến con trỏ thực với tên là px.
double *px;
Toán tử &,*
- Toán tử &:
&(tên biến) -> địa chỉ biến
VD: printf("\n Dia chi cua bien x la:&p",&x);
- Toán tử *:
* -> trả lại nôi dung của ô nhớ(biến) mà con trỏ trỏ tới.
VD: x=5.7;
px =&x;
printf("Gia tri cua x la:%lf",*px);
- Các phép toán với con trỏ:
* Gán 1 địa chỉ cho 1 con trỏ
int i,*pi;
pi=&i;
* Gán các con trỏ cùng kiểu
int *pi2;
pi2=pi;
* Cộng trừ con trỏ với số nguyên
Chú ý: con trỏ sẽ trỏ tới ô nhớ có địa chỉ tăng(giảm) 1 số lượng bằng số byte tương ứng với kiểu dữ liệu của con trỏ
VD: px -> có giá trị ACF1
px+1 -> có giá trị ACF9
- Con trỏ void();
Là kiễu void rỗng, không tương ứng với bất kỳ ô nhớ nào, có thể nhận được địa chỉ của bất kỳ 1 biến nào.
VD: int *pi;
double *px;
void *pp;
pp=pi;
pp=px;
- Liên hệ giữa con trỏ và mảng
Khi khai báo 1 mảng thì đồng thời có 1 hằng con trỏ có tên trùng với tên của mảng trỏ vào phần tủ đầu tiên của mảng.
Do đó muốn truy cập phâng tử thứ i của mảng x có nhiều cách
VD: int x[10],*pi,i;
pi=x;
printf("Gia tri phan tu thu %d cua mang la%d",i+1,*(x+i));
printf("Gia tri phan tu thu %d cua mang la%d",i+1,pi);
printf("Gia tri phan tu thu %d cua mang la%d",i+1,*(pi+i));
printf("Gia tri phan tu thu %d cua mang la%d",i+1,x);
- Chuỗi kí tự
Chuỗi kí tự là 1 mảng kí tự. Do đó khi thao tác với nó ta thao tác như với 1 mảng các kí tự và có dùng con trỏ kí tự
Lưu ý: trước hàm vào dữ liệu ký tự, chuỗi ký tự nên dùng hàm xoá hết các ký tự còn lưu lại trong bộ nhớbàn phím.
d.Xử lý hàm
Khai báo hàm:Tạo hàm sau chương trình chính song khai báo hàm trước chương trình chính. Việc tạo và khai báo thế nào sẽ được cụ thể qua các ví dụ.
Định nghĩa hàm:[Kiểu DL trả về]([D/sách các tham số])
VD:
#include
#include
#include
double vhn(double,double)
void main()
{
double p,t,v;
p=600;t=500;v=vhn(p,t);
printf(“\n The tich rieng hoi nuoc tai %10.2lf at va %10.2lf oC la %10.2lf m3/kg”,p,t,v);
getch();
}
double vhn(double p,double t)
{
double tg;
t +=273.15;
tg=8314*t/p-1.224E6/pow(t,3);
return tg;
}
Một số chương trình:
#include
#include
int A[22][32],B[22][32],C[22][32];
int i,j,x,m,n,p,k;
void main()
{
printf("\n nhap so hang ma tran A: m=");
scanf("%d",&m);
printf("\n nhap so cot ma tran A: n=");
scanf("%d",&n);
printf("\n nhap so cot ma tran B: p= ");
scanf("%d",&p);
printf("Hay nhap cac phan tu cua ma tran:\n");
printf(" Nhap ma tran A:\n");
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{printf("A[%d][%d]=",i,j);
scanf("%d",&x); A[j]=x;}
printf(" Nhap ma tran B:\n");
for(i=1;i<=n;i++)
for(j=1;j<=p;j++)
{ printf("B[%d][%d]=",i,j);
scanf("%d",&x);
B[j]=x;
}
for(i=1;i<=m;i++)
for(j=1;j<=p;j++)
{
x=0;
for(k=1;k<=n;k++)
x+=A[k]*B[k][j];
C[j]=x;
}
printf("\n Ma tran A la:\n");
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
printf("%5d",A[j]);
printf("\n");
}
printf("\n Ma tran B la:\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
printf("%5d",B[j]);
printf("\n");
}
printf("\n Tich hai ma tran AB la:\n");
for(i=1;i<=m;i++)
{
for(j=1;j<=p;j++)
printf("%5d",C[j]);
printf("\n");
}
for(i=1;i<=p;i++)
{
float x; x=0;
for(j=1;j<=m;j++)
x=x+C[j];
printf("\n Gia tri trung binh cua cot %d la: %lf",i,x/m);
}
}
Kết quả chạy:
#include
#include
main()
{
double x[30],y[30],l[30],p,xo,yo,tg,t,tt,xx,yy;
int i,j,n,m,k,a;
printf("\n nhap n=");
scanf("%d",&n); m=0;k=0; a=0;
do
{
for(i=0;i<=n+a;i++)
{
printf("x[%d]=",i+m);
scanf("%lf",&tg);
x[i+m]=tg;
}
for(i=0;i<=n+a;i++)
{
printf("y[%d]=",i+m);
scanf("%lf",&tg);
y[i+m]=tg;
}
printf("\n ta co bang sau:");
printf("\nx:");
for(i=0;i<=n;i++)
printf("%5.2lf ",x);
printf("\n");
for(i=0;i<4*n+5;i++)
printf("--");
printf("\ny:");
for(i=0;i<=n;i++)
printf("%5.2lf ",y);
do
{
printf("\n nhap xo=");
scanf("%lf",&xo);
p=0;
for(j=0;j<=n;j++)
{
l[j]=1;
for(i=0;i<=n;i++)
if(i!=j)
l[j]*=(xo-x)/(x[j]-x);
p+=y[j]*l[j];
}
yo=p;
printf("\n gia tri tai %10.4lf la%10.4lf",xo,yo);
printf("\nkhong muon tiep tuc nhap xo thi an 1 en ter");
scanf("%lf",&t);
}
while(t!=1);
printf("\n khong muon tiep tuc nhap n thi an 2 enter");
scanf("%lf",&tt);
if(tt!=2)
{
printf("\n so diem ban muon nhap them la:");
scanf("%d",&k); m=n+1;n=n+k; a=k-n-1;
}
}
while(tt!=2);
printf("\n nhap xx=");
scanf("%lf",&xx);
if(xx i=0;
if(xx>x[n])
i=n;
if(xx>=x[0]&&xx<=x[n])
for(i=0;i<=n;i++)
if(xx>=x&&xx<=x[i+1])
break;
yy=y+(xx-x)*(y[i+1]-y)/(x[i+1]-x);
printf("\n gia tri tai x=%lf la: y=%lf",xx,yy);
getch();
}
Kết quả chạy:
#include
#include
main()
{
int n,i,j,k,l,p,q,a;
printf("\n nhap so hang n(<6)=");
scanf("%d",&n);
for(p=0;p<12;p++)
for(i=0;i {
for(q=0;q<5;q++)
{
for(j=0;j printf("$");
printf(" ");
for(k=0;k<2*n-3-2*i;k++)
printf("*");
if(2*n-3-2*i>0)
printf(" ");
for(l=0;l printf("$");
}
printf("\n");
}
getch();
}
2. Phần 2:Tính nhiệt thông số nhiệt động của hơi bão hoà ẩm
a.Mở đầu
Trong các bài toán nhiệt môi chất đợc sử dụng khá nhiều là R12. Do vậy việc tra cứu các thông số của R12 là một quá trình thường xuyên được sử dụng khi giải các bài toán liên quan tới nó. Việc có một chơng trinh tra cứu các thông số hơi R12 sẽ đem lại sự thuận tiện và hữu ích cho ngươi sử dụng để giải toán.
Trong chơng trình này ta mới dừng lại ở việc tra cứu các thông số của hơi bão hoà ẩm theo thông số nhiệt độ t(oc) hay áp suấp p(bar) và độ khô x.
b.Bài toán
Tra cứu thông số của hơi bão hào ẩm theo thông số t(oc)hay p(bar) và độ khô x. Trong đó các thông số cần tìm là thể tích riêng v(m3/kg), entanpi i(kj/kg), entropi s(kj/kg.k) ,nội năng u(kj/kg).
Trên thực tế đây là một bài toán nhiệt đơn giản, cả về mặt lập trình C lẫn lý thuyết nhiệt.
Ta chú ý cac công thức sau:
s=s’+x(s’’-s’)
i=i’+x(i’’-i’)
v=v’+x(v’’-v’)
u=i-p.v
Các giá trị s’,s’’,i’,i’’,v’,v’’ được tra từ bảng.
Chúng ta chỉ cần có một bảng số liệu và đưa chúng vào chương trình sau đó dựa vào thông số đưa vào và một số công thức nhiệt để tra cứu. Từ đó ta có thể hoàn thiện một chơng trình tính nhiệt cơ bản của một môi chất đã chọn.
Về thuật giải bài toán này là khá đơn giản, vì vậy mà ta không trình bày ở đây. Chúng ta có thể tìm hiểu chúng luôn thông qua nội dung bà...

 

Các chủ đề có liên quan khác

Top