Tải bản đầy đủ (.pdf) (14 trang)

tiểu luận lab report exercises kỹ thuật lập trình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (838.73 KB, 14 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>BỘ CÔNG THƯƠNG</b>

<b>TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH</b>

<b>LAB REPORT EXERCISES</b>

<b>KỸ THUẬT LẬP TRÌNH</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>NỘI DUNG 1: CON TRỎCâu 1: Chương trình thực hiện các xử lý cơ bản trên con trỏ.</b>

<b>Code: </b>

#include<stdio.h>int main(){

int *a;int z;z=10;

printf("How works pointer and how to handle pointers:\n");printf("\nValue of z = %d",z);

printf("\nAddress of z = %p\n",&z);a=&z;

printf("\nNow a is assigned with the address of z:");printf("\nAddress of pointer a = %p", a);printf("\ncontent of pointer a = %d\n", *a);z=30;

printf("\nNow, The value of z assigned to 30");printf("\nAddress of pointer a = %p", a);printf("\ncontent of pointer a = %d\n", *a);*a=5;

printf("\nNow, pointer variable a is assigned the value : 5");printf("\nAddress z = %p", &z);

printf("\nValue of z = %d\n", z);return 0;

<b>Kết quả:</b>

~ 2 ~

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>Câu 2: Dùng con trỏ, viết chương trình để thực hiện các phép tính số học.</b>

<b>Code: </b>

#include<stdio.h>int main(){

float a,b;float *x,*y;char *k,kt;k=&kt;

printf("Nhap A va B: ");x=&a;

printf("\nNhap dau: ");scanf(" %c",k);getchar();switch(*k){

case '+':

printf("%f %c %f = %f",*x,*k,*y,*x+*y);break;

case '-':

printf("%f %c %f = %f",*x,*k,*y,*x-*y);break;

case '*':

printf("%f X %f = %f",*x,*y,*x**y);break;

case '/':

printf("%f %c %f = %f",*x,*k,*y,*x/(*y));break;

printf("\nnhap sai!");break;

<b>Kết quả:</b>

~ 3 ~

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>Câu 3: Dùng con trỏ, viết chương trình để tìm giá trị lớn nhất giữa số.</b>

<b>Code:</b>

#include<stdio.h>int main(){

float a,b;float *max;printf("Nhap a va b: ");scanf("%f%f",&a,&b);if(a>b)

printf("\nSo max cua a va b la: %f",*max);}

<b>Kết quả:</b>

<b>Câu 4: Dùng con trỏ, viết hàm hoán đổi 2 số(swap).</b>

<b>Code: </b>

#include<stdio.h>void swap(int *x,int *y){

int t=*x;*x=*y;*y=t;}int main(){

int a,b;int *x,*y;

printf("Nhap a va b: ");scanf("%d %d",&a,&b);

<b>Too long to read onyour phone? Save to</b>

read later on yourcomputer

Save to a Studylist

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

printf("\nTRUOC khi hoan doi: %d %d ",a,b);swap(&a,&b);

printf("\nSAU khi hoan doi: %d %d ",a,b);}

<b>Kết quả:</b>

<b>Câu 5: Viết chương trình thực hiện các chức năng sau:</b>

<b>Code: </b>

#include<stdio.h>void input(int *a,int &n);void output(int *a,int &n);void sochan(int *a,int &n);int max(int *a,int &n){

int max=a[0];for(int i=1;i<n;i++){

}return max;}

int main(){

int a[100];int n;input(a,n);output(a,n);sochan(a,n);int m;m=max(a,n);

printf("\nGia tri MAX: %d",m);}

void input(int *a,int &n){

printf("Nhap phan tu n: ");scanf("%d",&n);for(int i=0;i<n;i++)

~ 5 ~

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

printf("a[%d]= ",i);scanf("%d",a+i);}

void output(int *a,int &n){printf("\nXuat mang: ");for(int i=0;i<n;i++){

printf(" %d",*(a+i));}

<b>Kết quả:</b>

<b> Câu 6:Viết chương trình sử dụng vùng bộ nhớ cấp phát động (HEAP SEGMENT) cho phép</b>

người dùng nhập 2 số thực.Tính tổng, hiệu, tích, thương của chúng.

<b>Code: </b>

~ 6 ~

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

int main(){

float *a,*b;

a=(float*)malloc(sizeof(float));b=(float*)malloc(sizeof(float));printf("Nhap a va b: ");scanf("%f%f",a,b);getchar();char *c;

c=(char*)malloc(sizeof(char));printf("\nNhap dau: ");scanf("%c",c);getchar();switch(*c){

case '+':

printf("%f + %f = %f",*a,*b,*a+*b);break;

case '-':

printf("%f - %f = %f",*a,*b,*a-*b);break;

case '*':

printf("%f X %f = %f",*a,*b,*a**b);break;

case '/':

printf("%f %: %f = %f",*a,*b,*a/(*b));break;

printf("\nKhong hop le!");break;

<b>Kết quả:</b>

~ 7 ~

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

: Viết chương trình sử dụng bộ nhớ cấp phát động cho phép người dùng nhập hai 2 ký

<b>Câu 7</b>

tự, sau đó chương trình in ra các ký tự giữa 2 kí tự này theo thứ tự tăng dần.

<b>Code: </b>

#include <stdio.h>#include <stdlib.h>int main() {

char *pc1, *pc2;

pc1=(char *) malloc(sizeof(char));pc2=(char *) malloc(sizeof(char));if (pc1==NULL || pc2==NULL){

printf("Khong du bo nho\n"); return 1;

}

printf("Nhap vao hai ky tu: "); scanf("%c %c", pc1, pc2); if (*pc1>*pc2)

~ 8 ~

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

char temp=*pc1; *pc1=*pc2;

*pc2=temp; }

char c;

for (c=*pc1;c<=*pc2;c++) {

printf("%c %4d %4o %4X\n", c, c, c, c); }

free(pc1); free(pc2); return 0;}

for(int i=0;i<*n;i++){

printf("a[%d]= ",i);scanf("%f",a+i);}

void xuat(float *a,int *n){

~ 9 ~

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

printf("xuat:");for(int i=0;i<*n;i++){

printf(" %f",*(a+i));}

float trungbinh(float *a,int *n){

float s=0;for(int i=0;i<*n;i++){

return s/(*n);}

float tongbinhphuong(float *a,int *n){

float s=0;for(int i=0;i<*n;i++){

return s;}

void them(float *a,int *n,int &p,float &x){for(int i=*n;i>p;i--){

void xoa(float *a,int *n,int &p){for(int i=p;i<*n-1;i++){

float timkiem(float *a,int *n,float &tim){

int k=0;

for(int i=0;i<*n;i++){

k=1;break;}

~ 10 ~

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

k=0;}}return k;}

void tang(float *x,float *y){

int t=*x;*x=*y;*y=t;}int main(){

//Cau a) Nhap mang so THUC//float *a;

a=(float*)malloc(sizeof(float));int *n;

n=(int*)malloc(sizeof(int));printf("Nhap phan tu mang: ");scanf("%d",n);

float d2;

printf("\nPhuong sai: d^2= %f",d2);//Cau f) Tinh do lech chuan//float d;

printf("\nDo lech chuan: d= %f ",d);//Cau g) Them gia tri x vao vi tri p//float x;

//Cau h) Xoa phan tu tai vi tri p//printf("\n\nNhap vi tri can xoa: ");scanf("%d",&p);

~ 11 ~

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

//Cau i) Tim kiem vi tri x trong mang//float tim;

printf("\nNhap so can tim: ");scanf("%f",&tim);if(timkiem(a,n,tim)){

printf("TIM THAY!");}

printf("KHONG TIM THAY!");}

//Cau j) Sap xep tang giam//for(int i=0;i<*n;i++){

for(int j=i+1;j<*n;j++){

printf("\n\nSap xep TANG: ");xuat(a,n);

for(int i=0;i<*n;i++){for(int j=i+1;j<*n;j++){

printf("\nSap xep GIAM: ");xuat(a,n);

<b>Kết quả:</b>

~ 12 ~

</div>

×