1. Trang chủ
  2. » Tất cả

Rèn luyện kỹ năng lập trình thông qua dạy học thực hành học phần cấu trúc dữ liệu và giải thuật

10 4 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 260,11 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tnròng Dgi hoc Vinh Tap chi khoa hoc Tgp 45, Sé lA (2016), tr 59 68 RÈN LUYÈN KY NÀNG LÀ? TMNH THÒNG QUA DAY HOC THirC HÀNH HOC PHÀN CAU TRUC D C LIÉU VA GIÀI THUÀT Phan Le Na Khoa Cóng nghe thóng tin[.]

Trang 1

RÈN LUYÈN KY NÀNG L À ? T M N H THÒNG QUA DAY HOC

THirC HÀNH HOC PHÀN CAU TRUC D C LIÉU VA GIÀI THUÀT

Phan Le Na

Khoa Cóng nghe thóng tin, Truàng Dgi hoc Vinh

Ngày nhàn bài 26/10/2015, ngày nhiìn dàng 31/3/2016

Tom tàt Ky nàng làp trình là mot yèu càu co bàn càn thiét cùa sinh vién (SV) ngành

Còng nghè thòng tin (CNTT) Viéc rèn luyén ky nàng làp trình là mot nbiém vu quan

ttgng cùa SV, dac biét là vói nhùng nguòi muón ttò thành làp trình vién tuong lai Cau trac dù liéu va giài thugt là hgc phàn bàt bugc va quan ttgng bò ttg kj thuàt làp trình

cho SV ngành CNTT Bài vièt này de xuàt mot s5 giài phàp giùp nàng cao ky nàng làp

trình cho SV thóng qua viéc day hgc thvcc hànb phàn de qui thugc hgc phàn Càu triic

dù liéu va giài thugt

1 MOT SÓ VÀN DE KHI DAY LÀ? TRÌNH

Cóng nghé thóng tin là mot ngành d^c thù vói nhiéu hgc phàn co thuc hành, dac biét là nhùng mòn hgc làp ttình Nhùng hgc phàn này dòi hòi phài trai qua qua trình hgc, tfch lùy kién thùc ttong thòi gian nhàt djnh Hién nay, chuong trình dào tao càc ngành CNTT bao gòm: Su pham Tin hgc, Khoa hgc mày tfnh, CNTT, Còng nghé phàn mém

Càc ngành này dèu co mot so hgc phàn giùp SV làm quen vói làp trình nhu Ngòn ngù làp trình C, Càu truc dù liéu va giài thuàt, Ky thuàt làp trình Day là càc hgc phàn giùp SV

trang bi càc kién thùc làp trình ca bàn, cà 1^ thuyét làn thuc hành Làp trình giup SV nàm bàt dugc bài hgc tòt hon, ùng dung càc kién thùc da hgc vào thirc té Tuy nhién, thuc té cho thày nhiéu SV gap khó khan khi hgc làp trình L|lp trình là mot ky nàng khó, dòi hòi

SV phài co tu duy tòt vè thuàt toàn De nàm vùng làp trình, SV càn phài làm nhiéu bài t|p de tfch lùy kinh ngbiém Trén lóp, giàng vién (GV) chi co thè tmyèn dat nhùng kién thùc co bàn, huóng dàn nhùng vàn de còt lòi nhàt SV phài t\i hgc, tir ngbién cùu, làm nhièu bài t^p, tham khào tài lièu de hgc càc kién thùc mò ròng Mot so SV thuc hành khòng nhièu, kién thùc tiéng Anh khòng tòt, khi vièt chuong trình khòng thè tu sua lòi

Càu trae dù lièu va giài thuàt là hgc phàn bàt buóc cùa SV chuyén ngành CNTT Day là

mgt ttong nhùng hgc phàn quan ttgng cùa chuong trình dào tao ngành CNTT va ciìng rat càn thiét cho nhièu ngành khàc nhu Dién tu vién thòng, Buu chfnh vién thòng De dat dugc hiéu qua cao vè ky nàng làp trình, phàn thuc hành rat quan trgng SV càn phài co tài liéu tham khào de tu hgc, tu thuc hành mot càch pbù hgp nhàt Nèu bài tbgc hành co huóng dàn tbì ky nàng làp trình sé dugc nàng lèn

VIEN

2 MOT SO GIAI PHA? NANG CAO KY NANG LÀP TRINH CUA SINH

2.1 K^ nàng làp trình càn thiet cho sinh vién

Ky nàng làp ttình là mot ky nàng tò hgp tu càc ky nàng làp trình càc bài toàn, gò lói (debug), tìm hiéu help, ky nàng dgc chuong trình Nhùng k j nàng dò dugc rèn cho

SV ttong qua trình day hgc càc hgc phàn lién quan dén làp trình Truóc hét, GV càn quan

Trang 2

P.UNa/ Rèn luyén k^ nàng làp trình thòng qua dgy hgc thuc hành hpc phàn Càu truc dù li?u va giài thugt

tàm tói ky nàng làp trình càc bài toàn cùa SV Khi gap mgt bài toàn ttong th^rc té, SV càn bièt xàc dinh yéu càu cùa bài toàn, phàn tfch bài toàn, thiét ké chuong trình, thiét ké càc giài thuàt chi tiét va cài dàt chuong trình hoàn chinb Tàt cà nhimg dièu dò dugc GV ttang bi cho SV thóng qua viéc day hgc càc vf du cu thè, sau dò SV sé thirc hién theo, Trong qua trình l|ip trình va làm viéc vói càc ngòn ngù làp trình, mot ttong nhùng ky nàng càn thiét va quan ttgng là ky thuàt dò va gò lòi Su dung thành thao Debug Tool giup SV co dugc càc ùng dung tòt Ben cEinh dò, khóng phài tàt cà càc kièn thùc hén quan dèu dugc GV cung càp cho SV Vi vày, ky nàng tìm hiéu Help khi làm viéc vói càc ngòn ngù làp trình cùng càn dugc trang bi Day là phuong phàp giùp SV bièt tu tìm càc giài phàp khi làp trình tu chùc nàng Help cùa càc phàn mém làp trình Cuòi cùng là ky nàng dgc chuong trình Viéc dugc ttang bi, rèn luyén ky nàng này giùp SV de dàng bcm khi xem lai càc chuong trình do minh viét cùng nhu khi tham khào chuong ttình cùa nguòi khàc nhàm nàm bàt y tuòng va càch thùc giài quyét bài toàn cùa bg thóng qua dgc hièu chuong trình

2.2 Nàng cao k^ nàng làp trình

Trong qua trình giàng day càc hgc phàn cùa CNTT, dàc biét là càc hgc phàn lién quan dèn làp ttình, GV phài co phuong phàp day hgc pbù hgp nbàm dat higu qua cao Vi vày viéc àp dung càc phuong phàp de t?o hùng thù, yèu thfch mòn hgc lap trình, làm cho

SV co thè nàm dugc nói dung bài hgc ngay tai lóp, nàm dugc kièn thùc mot càch logie

va co he thóng là diéu càn thiét SV càn dugc huóng dàn de hièu dugc tàm quan ttgng cùa ky nang làp trình dói vói ngành CNTT SV phài nò lue tu hgc, làm bài tàp dugc giao ttén lóp, thgc hién càc bài tàp trong càc tài lièu tham khào khàc de tich lùy kién thùc, dóng thòi tao nièm say me ttong hgc tàp Dòi vói giò thuc hành, de dat hiéu qua cao, SV càn tfch cuc làm truóc bài tàp ó nhà, giò thuc hành tai phòng mày diing de òn luyén hoac nhó GV giùp dò ttong vi^c sua lói chuong trình bay giài quyét càc vàn de khó Hièn nay,

co nhiéu nguón bài tàp thuc hành bao gòm cà code SV co thè su dung nguòn tm Uéu này

de tham khào, giài quyét càc vuóng màc ttong qua trình lap trình Tuy nhièn, khòng nèn sao chép code ma khóng hiéu nói dung, càch thùc boat dóng cùa tùng doan code dò Khi giàng day, ngoài nbihig bài tàp ttong giào ttình, GV co thè dua ra mot so bài t|p co y nghìa thuc té, cbàng han nhu l^p trình game, càc chù de bài tàp lón, giói thiéu càc duòng link co tài liéu ben quan vè càu truc dù li^u va giài thuàt Viéc tir tbuc hién chucmg

trình thòng qua càc bài tàp co y nghìa giùp SV tìio nièm vui ttong hgc tàp, hiéu dugc ^

nghìa mòn hgc, tao dgng lue vuon lèn Khi mòi hgc l?.p trình, bay xem thài ky ràmg vf dii

SV càn hiéu dugc tìmg doan ma co y nghìa gì, co chùc nàng gì SV phài xem dogji code that ky de vièt code chinh xàc va rò ràng Khi vièt code, SV phài tuàn thù quy tàc va cu phàp mot càch chat che de càc SV khàc co thè dgc hiéu mot càch de dàng SV phài co thói quen khòng chi dgc vf du ma phài chay thù chuong trình de bièt dugc két qua GV

nèn huóng din SV tàp viét ma riéng; SV bay t\f nghT cbo minh mot thu§t toàn rièng

Truóc tién, bay viét mot doan ma nào dò de thè hién y cùa minh, sau dò dùng ngòn ngù làp ttình de viét 1^ Cóng viéc này tòn nhiéu thòi gian, nbung qua dò, SV sé thu dugc nhièu kinh nghièm, kbà nang tu duy làp ttình ngày càng phàt ttién

Kbung chuong trình dào tao càn dugc thiét kè hgp IJ hon; nèn dua hgc pbàn

Trang 3

nghièm làp trình Càu trùc dù lièu va giài thudt dugc chia làm 2 hgc phàn; Càu trùc dù liéu va giài thugt dugc hgc ò hgc ky 2, Càc giài thuàt nàng cao dugc hgc ó hgc ky 3

Ngoài ra, khung chuong trình dào tao con co khà nhiéu hgc phàn lièn quan dén ky thuàt

làp trình nbu Lgp trình huóng dòi tuong Dò hoa mày tinh, Làp trình web, Làp trình truc quan, Làp trình Java, Lgp trình Java nàng cao Day là nhùng mòn hgc giùp cho SV

tbfch thù su dung sau này Mot giài phàp khóng thè thiéu là day manh càc ho^t dòng ngoai khóa lièn quan dén làp ttình nhu tò chùc thi olympic làp bình C, thiét ké web, Java code, tbi thiét ké logo; tnmg bay càc phàn mèm ma SV thuc hién tu két qua thuc tàp chuyén ngành; tò chùc hgi ngh| SV nghièn cùu khoa hgc hàng nàm; xày d\mg càu lac bò nhóm làp trình C, làp trình Java co sg huóng dàn cùa GV tté hoac SV giòi nàm cuòi

2.3 Xày dung phuong phàp thirc hành hgc phàn Càu truc dù liéu va giài thuàt

Pbuong phàp day hgc thuc hành là phuong phàp giàng day ttèn co so quan sàt

GV làm màu, SV thuc hién bài tàp thuc hành duói sv huóng din cùa GV, tir do hình

thành càc ky nàng càn thiét cho boat dòng nghè nghiép tuong lai Ngoài ra, phuong phàp diiy hgc thuc hành con giùp SV cùng co tri thùc chuyén ngành, xày dung phàm chat, tàc phong làm viéc chuyén nghiép va phàt trièn nàng lue tu duy Co 3 giai doan day thuc

hành bao gòm: giai doan chuàn bi, giai doan thuc hién va giai dogn két thùc GV càn

thgc hién tién trình day hgc thirc hành tbeo phuong phàp 4 buóc Pbuong phàp này tuàn thù tbeo nguyèn tàc GV làm màu, huóng dàn SV làm theo, sau dò tìèn hànb luyén tap cbo SV Phuong phàp 4 buóc là mot pbuong phàp quan ttgng ttong day thuc hành, dac biét tbich hgp de giàng d^y càc ky nàng làp trình co bàn Qua càc bài tàp thuc hành, SV nàm vùng kièn tbùc ly thuyét dà dugc hgc trèn lóp SV tu kiém tta kién thùc ly thuyét tbòng qua càc bài tbuc hành va phàn ttà lòi càu bòi ttàc nghièm

Tién trình day hgc thuc hành nàng cao ky nàng l^p trình hoc pbàn Càu trùc dù lièu va giài thuàt theo pbuong phàp 4 buóc nhu sau:

- Giai doan chuàn bi: GV chuàn bi bài thuc hànb, chuàn bi phòng mày, pbàn

còng vi tri thitc hành, kiém tta mày tfnh

- Giai doan thirc hièn: Bir&c 1 - Ma dàu bài day Giói thiéu tóm tàt nói dung,

xàc dinh nhiém vu yèu càu cùa bài thgc hànb, nèu mot so càu hòi kiém tta kièn thùc pbgc

VII cho bài thuc hành Bit&c 2 - GV thuyét trình va thitc hành màu Thinh tboàng GV dat

càc càu bòi de thùc day SV suy nghì, thu hùt sg chù y vào nhùng diém ttgng tàm cùa bài

GV nhàn m ^ nhùng dièm chfnh, lim y nhùng lói hay xày ra Bir&c 3 - SV thuc hành va thuyét trình SV thuc hành va néu 1^, giài tbfch dugc càc buóc, càc doan chuong bình

cùa bài tbuc hành Buóc này tàng thèm ky nàng thuyét ttình cho SV GV kiém tta, dièu

chinh càc thao tàc, de xuàt càc càu hòi de SV ttà lòi Bu^&c 4 - Luyén tàp SV luyén tàp

ky nàng, luyén tàp làm càc bài t$p dugc giao GV quan sàt, kiém tta ttg giùp Sau khi SV da nàm vùng càch thùc thuc hành, GV co thè cho SV tién hành tbuc hànb theo nhóm, giài dàp nhùng thàc màc ma SV dua ra ttrong qua ttình thuc hành

- Giai dogn két thuc: Kbi két thùc bài thuc hành, GV phàn tich kèt qua thuc hién

dugc so vói muc dich yéu càu; giài dàp càc thàc màc va Imi y nhùng sai sót, lòi thuòng gap ma SV màc phài; cùng co kién thùc tbòng qua nói dung thuc hànb Sau dò GV co thè

Trang 4

2.4 Xày dumg hai day thurc hành phàn d^ qui trong hoc phàn Càu trùc dir liéu va giài thuàt

Giai ^an chuàn bi

GV chuàn bi bài tìiuc hành phàn d? qui phàt cho SV ttiióc khi hgc phàn tbirc

hành Càu trac dù liéu va giài thuàt (khóng kèm theo càc càu hòi), chuàn hi càu hòi va

phièu ttà lòi ttàc nghièm, phàn cóng vi tri tbgc hành, chuàn bi kich bàn day thuc hành toàn bài; ky thuàt vién chuàn bi phòng mày, kiém tta mày tì'nh

Giai dogn thuc hién

Bif&c h Mie dàu bài day

Muc dich: Giói thiéu phuong phàp làp trình theo ky tbu^t de qui, càch boat dgng, thiét ké giài thuàt de qui va cài dat càc hàm de qui; Dóng thòi huóng dàn SV thgc bién bài tàp thuc hành trén ngòn ngù làp ttình C

Ky nàng: Biét lua chgn pbuong phàp lim trù thich hgp va giài thuàt cho tiing bài toàn Phàn này con giùp SV cùng co va phàt trièn ky nàng làp trình dà dugc hgc

Yèu cau: Su dung giài thuàt de qui dòi vói tiJmg bài tàp, SV néu dugc tèn hàm, danh sàch tham bién (tham tri), trình bay càc buóc, càc thành phàn cùa giài thuàt de qui,

su dung lòi ggi hàm de qui ttong chuong trình chinb; nam dugc uu, nhugc diém cùa giài thuàt de quy

1 Giài thuàt de qui:

Khài nièm de qui: Mot hàm dugc ggi là de qui nèu ttong thàn ciia hàm dò co lénh

ggi lai chfnh nò mgt càch tuòng minh hay tiém àn

Vi dui So tu nhién

a 1 là so tu nhién

b X là SÓ fu- nhién néu x-ìlàsòtu nhièn

Vi du 2 Hàm tfnh n !

a 0! = 1

b Néun>0,tbìn! = n*(n-1)!

Càu hói 1 Hày cbo mot vf du minh boa kbài niém de qui

Khài niém giài thuàt de qui: Nèu lòi giài cùa mot bài toàn T dugc thuc hién bang

lòi giài cùa mot bài toàn T', co dang giòng nhu T tbì dò là mot lòi giài de qui Giài thu^t tuong ùng vói lòi giài de qui dugc ggi là giài thuàt de qui

2 Hàm de qui: HSmi de qui hay thù bic de qui bao gòm hai phàn: Phàn neo (hay phan co dinh), ùng vói truòng hgp suy bièn, ttong do tàc dóng cùa hàm dugc dàc tà cho mot hay nhièu tham so Phàn de qui (hay phàn qui ngp, phàn ha bàe), ttong dò tàc dòng

càn dugc thuc hién cho già tri hién thòi cùa càc tham so dugc dinh nghìa bang càc tàc dgng hay già ni dugc dinh ngbTa tmóc day

Càu hói 2 Hày néu càc thành phàn cùa hàm de qui tinh n!

Trong càc ngòn ngù lap trình càp cao, nèu càc thù tue chùa lòi ggi dén chfnh nò

tbì dugc ggi là de qui tryrc tiép, con néu lòi ggi dèn chinh nò phài thóng qua mot hay mot

SÓ tbù tue khàc thi dugc ggi là de qui giàn tiép

3 Thiét ké giài thuàt de qui:

Xét mot so bài toàn sau:

Trang 5

{1 néu n = 0

n * ( n - l ) ! n é u n > 0 uiai muai oe qui auge viet duói dang hàm, nhu sau:

doublé Giaithua(int n)

{ if(n = = 0)remm 1;

else return (n* Giaithua(n-l));

}

W(ÌM'# Cho day Fibonacci: 1, 1,2,3,5,8, 13,21,

Hàm Fib tao ra day này co thè dinh nghìa dang de qui:

F i b ( n ) = P n é u n < 2

[Fib (n - 2) + Fib (n - 1) néu n > 2

Giài thuàt de qui dugc viét duói dang hàm là

int Fib(intn)

{if(n<= 2) return 1;

else return (Fib(n-2) + Fib(n-1));

}

Càu hòi 3 Hày cho biét tèn hàm va tèn bién: hàm de qui tfnh n!, hàm de qui tfnh

so Fibonacci thù n

Vidu 5 Càu trùc ta ttò dugc dinh nghìa bang d? qui

struct node

(int infoi;

Struct node *left;

stmct node *right;

};

Giài thuàt de qui: Mot thuàt toàn dugc ggi là de qui nèu nò giài bài toàn bang càch rùt

gon bài toàn ban dàu thành bài toàn tuong ttr sau mot so hùu han làn thuc hién

Vi du 6 Viét hàm tfnh a" bang giài thuàt de qui, vói mgi so thuc a va so tu nhién

doublé Mu (float a, int n )

{ if ( n = 0 ) return 1;

return (a *Mu(a,n-l));

1

Vidu 7 Viét hàm de qui tfnh n!

long Giaithua(ìnt n)

{ if (n==l) return 1;

return (n * Giaithua(n-l));

Càu hói 4 Hày cho biét tén hàm, tèn bièn cùa hàm Mu va hàm Giaithua viét dang

de qui

Buóc 2: GV thuyét trình va thirc hành màu

Bài tàp 1 Su dyng hàm vièt dang de qui Tong=l+2-i- +n, tinh va in ra tòng

S=l-i-(l+2)+ +(l-f-2+ +n), vói n dugc nhàp tu bàn phim

Trang 6

Hu&ng dàn Hàm vièt dang de qui Tong=l-i-2+ +n là

int Tong(int n)

{if(n==l) return 1;

else return (n + Tong(n-l));

)

Thuc hành:

#include <stdio.h>

#include <conio.h>

int Tong(int n)

{if(n=l) return 1;

else return (n + Tong(n-l));

void main()

{int n,i, s=0;

printf("Nhap n ="); scanf("%d",&n);

for(i=l;i<=n;i++) s=s+Tong(i);

printf("S= %d",s);

getchO;

}

Càu hòi 5 Hày xàc dinh input, output cùa bài toàn va cho bièt tén hàm, tén bièn

cùa hàm Tong, lòi ggi hàm Tong su dung trong chuong trình chfnh Chay cbuong trình

va nhàp n=3,4 de tì'nh tòng ttiong ùng Hày nèu càc thành phàn cùa hàm de qui Tong

Sài tàp 2 a) Hày xàc dinh input, output cùa bài toàn Viét hàm de qui tmh n!

Biéu dién giaithua(5) dang de qui

b) Hày dua vào lói giài càu a) sua thành bài vói n dgc tu tép input.txt góm càc so nguyén ducmg va ghi vào tép output.txt kèt qua giaithua(n) tuong ùng nhu bang sau:

input, txt

5

6

7

output.txt 1

120

720

5040 1 c) Co nhàn xét gì khi chay chuong trình vói n=17? Vói già tri nào cùa n tbì két qua ch?y chuong trình xuàl hién Stack overflow

Huóng dàn

int giaithua (int n)

{if(n = 0) rettimi;

else return (n * giaithua(n - 1 ) ) ;

Ta co giaithua(5) sé dugc biéu dién nhu sau:

giaithua(5)

5* giaithua (4)

5*4 *giaithua (3)

5*4*3* giaithua(2)

5*4*3*2*giaithua(l)

5*4*3* 2 *1

Trang 7

Bài tàp 3 Dói vói bài toàn "Su dung hàm viét dang de qui giaithua(n)=n!, tfnh va

in ra tòng S=l+l/(l*2)+ -i-l/(l*2* *n), vói n dugc nhap tu bàn phfm", hày sua lòi doan chucmg trình sau day:

int giaithua (int n)

(if(n = 0) rettimi;

else return (n +n * giaithua(n -1));

}

void maìn()

{int n,i, s=0;

printfC'Nhap n = "); scanf("%d",&n);

for(i=l;i<=n;i+-i-)s=s+l/giaithua(i,n);

printf("S= %d",s);

gelchO;

}

Bir&c 3: SV thuc hành va thuyét trình

SV thuc hành Bài tgp 1, Bài tàp i va tì^ lòi Càu hói 5, dóng thòi giài thich dugc

càc doan chuong trình cùa bài thirc hành GV kiém tta, dièu chinh càc thao tàc, de xuàt thém càu hói de SV ttà lòi

Biràc 4: Luyén t^p

Bài tàp 4 Hày thuc hành ch^y chuong ttình: su diing hàm vièt dang de qui

Tong=l+3+ +2n-l, tinh va in ra tóng S=l+(l+3)+ -i-(l+3+ +2n-l), vói n dugc nhàp

tu bàn phim

Hu&ng dàn Hàm viét dang de qui Tong=l+3+ +2n-l,

int Tong(int n)

{if(n=l) return 1;

else retura (2*n-] + Tong(n-l));

1

Bài tàp 5 Hày thuc hành chay chucmg ttình: su dung hàm viét dang de qui tinh

Tong(n), tfnh va in ra tóng S(n) = 1 + 1/(1-1-2) + 1/(1+2+3) + + 1/(1+2+3+ +n), vói n dugc nhàp tu bàn phfm

Hu&ng dàn

float Tong(float n)

{if(n==l) return (float) 1;

else retura Tong(n-l)+n;

1

float TongChia(float n)

[ if(n==l) rettim (float) 1;

else return TongChia(n-l) + l/(Tong(n-l) + n);

}

Bài tàp 6 Hày thuc hành cb^y chuong trình va néu càc thành phàn cùa hàm viét

dang de qui càc bài toàn sau:

1 Su dyng hàm viét dang de qui Tong=lV2V +n^ tinh va in ra tóng S=l/lVl/(r+2^)+ +l/(lV2^+ +n^), vói n dugc nhàp tu bàn phfm

2 Su dung hàm viét dang de qui Tong=l/2+3/4+5/6+ +(2n+l)/(2n+2), tinh va in ra

Trang 8

3 SU dung hàm viét dang de qui tfnh Giaithua(n), tfnh va in ra S=l + 1.2 + 1.2.3 + -r 1.2.3 n, vói n dugc nhàp tu bàn phfm

4 Viét chuong trình in ra so Fibonacci thù n, vói hàm Fibonacci viét dang de qui

5 Su dyng hàm vièt dang de qui tì'nh Mu(a,n), tfnh va in ra S=a + a^ + a^ + + a", vói n dugc nhàp tu bàn phfm

6 Vièt chucmg trình nh^p màng càc so nguyén gom n phàn tu Su dimg ky thuàt d? qui

de xày dung hàm tmh tóng càc phàn tu cùa màng

7 Vièt chucmg trình nhàp màng càc so thuc gòm n phàn tu Su dung ky thuàt de qui de xày dung hàm tìm Min va tìm Max càc phàn tu cùa màng

Càu hói 6 Hay xàc dinh input, output cùa bài toàn va cho biét tén hàm, tèn bién cùa càc

hàm viét dang d | qui va lòi ggi càc hàm dò su dung ttong chuong trình chfnh cùa càc bài ttèn

Giai dogn két thùc

Khi két thùc bài thuc hành phàn de qui, GV phàn tfch kèt qua thuc hién so vói muc dfch yèu càu, dóng thòi giài dàp càc thàc màc cùa SV SV bièt xàc dinh yéu càu cùa

bài toàn, phàn tfch bài toàn, thiét ké giài thuàt de qui va cài dàt chuong trình GV luu f

SV vè càc uu diém va nhugc dièm cùa de qui Cu thè, de qui co càc uu dièm; manh, rÒ ràng, chat che, tliiét ké giài thuàt don giàn; co càc nhugc diém: lòi ggi hàm tón rat nhièu thòi gian va de phàt sinh chay vò han Tiép do, GV nhàc lai mot so lói hay gap phài va càch khàc phuc, dóng thòi de xuàt càc de tài de SV tìm hiéu thém phàn này nhu de quy

va càch khù de quy; càu lénh diéu ki$n va de quy; thuàt toàn de quy va mot so bài toàn

de quy co bàn; ky thuàt làp trình de qui ca bàn; tìm biéu càc loai de qui; tìm hièu mot sS bài toàn kinh dién vè d? qui; de quy trèn cày va càc bài toàn thóng dung, chóng ttàn bò dèm

Ngoài ra, GV càn xày dung bó càu hòi ttàc nghièm de dành già viéc tiép thu kién thùc cùa SV Sau day là vi du vè càc càu hòi ttàc nghièm ttén giày vói thòi gian ttà lòi 10 phùt:

C à u l : Cho hàm

int tong( int a[ ], int n)

{if(n==l)rettuna[0];

retura (a[n-l]+tong(a,n-l));

Hày viét biéu thùc tóng quàt cùa day tòng càn tinh va chgn phuong àn dùng: a) printf("\n Tong cua mang la : %d",tong);

b) printf("\n Tong cua mang la : %d",tong(a));

e) pFÌntf("\n Tong cua mang la : %d",tong(a,n);

d) printf("\n Tong cua mang la : %d",tong(a,n));

Càu 2: Cho hàm

long Giaithua(int n)

{if(n==0)rettuTil;

else return (n*Giaithua(n-l));

1

int main()

{ for(i=l;i<=n;i++)s+=Giaithua(i);

printf("\n Tong la : %ld", s); }

Trang 9

Hày viét bièu thùc tóng quàt cùa day tòng s càn tmh Vói n bang bao nhiéu thi tòng s=33?

a) n= 2; b) n= 3; e) n= 4; d) Tàt cà phuong àn dèu sai

Càu 3: Cho hàm

int Tong(int n)

{if(n= =1) return 1;

else return (n + Tong(n-l));

}// càc so hang hon kém nhau 1 don vi

int main()

{ for(i=l;i<=n;i++) s=s+Tong(i);

printf("S=%d",s); }

Hày viét bièu thùc tòng quàt cùa day tòng s càn tinh Vói n bang bao nhièu thi tóng s=20 a) n= 1; b) n= 2; e) n= 3; d) n= 4;

Càu 4: Cho hàm

int Tong(int n)

{if(n= =1) return 2;

else return (2*n + Tong(n-l));

}// càc so hang hcm kém nhau 2 don vi

int main()

{ for(i=l;i<=n;i++) s=s+Tong(i);

printf("S=%d",s); }

Hày viét biéu thùc tóng quàt cùa day tòng s càn tfnh Vói n bang bao nhiéu tbì tòng s=40 d) n= 1; b) n= 2; e) n= 3; d) n= 4;

De thuc hièn thành cóng càc bài thuc hành mòn Càu trae dù liéu va giài thugt,

tàng ky n ^ g làp trình cho SV, GV càn cung càp nói dung bài thirc hành, bài giàng cho

SV nghièn cùu truóc GV càn chù y xày dung he thóng bài tàp thuc hành phù hgp, co huóng dàn; soan kich bàn day thuc hànb co dành già, kiém tta tìmg giai doan, vói càc vi

du minh hga cu thè

3 KÉT LUÀN

De phàt huy tòt vai trò cùa dào tao tì'n chi dói vói ngành CNTT, càn co su dòi mói ttong tò chùc dào tao ò truóng dai hgc: dòi mói càch day, càch hgc; tàng cuòng viéc tu hgc, tu nghièn cùu, thuc hành cùa SV, ttong dò, rèn luyén ky nàng làp bình thóng qua

thuc hành món Càu trtic dù liéu va giài thuàt là mot trong nhùng giài phàp thiét thuc

Cùng nhu vói càc mòn hgc khàc, ttèn co so quan sàt GV làm màu, SV thuc hién bài tàp thuc hành món này duói sg huóng dàn cùa GV, tu do lùnh thành càc ky nang càn thiét

Co 3 giai doan day thuc hành bao gòm: giai dogn chuàn bi, giai dogn thuc hién va giai dogn kèt thùc Tién trình day hgc thuc hành dugc thuc hién theo phuong phàp 4 buóc

Truóc hét GV làm mau, tiép theo huóng dàn SV làm theo, sau do tién hành luyén tàp cho

SV Khi két thùc bài thirc hành, GV phàn tì'ch két qua thuc hién so vói muc dfch yéu càu

de ra, giài dàp càc thàc màc cùa SV Qua bài thuc hành, SV phài biét xàc dinh yèu càu cùa bài toàn, phàn tfch bài toàn, thièt ké giài thu^t, cài dàt chuong trình va phài co ky nàng dgc chuong trình, GV cùng co thè de xuàt càc de tài lièn quan dèn nói dung thuc hành Viéc dàm bào nhùng yéu càu ttén chinh là day hgc huóng dén bòi duòng nang lue

Trang 10

T À I L I É U T H A M K H À O

[1] Ph^m Vàn Àt, Ky thugt làp trình C ca sa va nàng cao, NXB Giao thóng van tài,

2006

[2] Nguyén Due Ho, Phàt trièn nàng lue kì thuàt trong dgy hoc thuc hành kì thuàt, Tap

chi Giào due, So 254, Ky 2 tbàng 1/2011, tt 23-24

[3] Dò Xuàn l^i, Càu truc dù liéu va giài thugt, NXB Giào due, 2005

[4] Phan Le Na, MQÌ SO giài phàp nàng cao chat lugng dgy hoc hoc phàn Tin hQc ca sa ò Truàng Dgi hoc Vinh, Tap chf Giào due So 346, Ky 2 thàng 11/2014, tt 46-48

[5] www.nm.edu.vn/Portals/96/ /ttan%20minh%20van.doc

SUMMARY TRAINNING OF PROGRAMMINO SKILL THROUGH TEACHING PRACTICE OF THE COURSE DATA STRUCTURES AND ALGORITHMS Programming skill is a basic requirement needed by informatìon technology students Trainning programming skills is an important task of the smdents, especially for

those who desire to become programmers in the future Data structures and algorithms is

a compulsory and important course to improve the programming techniques for the IT students This paper proposes some solutìons to enhance programming skills for students through teaching practìce of the recursion part of the course

Ngày đăng: 12/11/2022, 13:59

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w