Một bạn có hỏi cách giải bài lập trình pascal như nhau :
Nội dung chính
1. Nhập vào mảng n phần tử xuất ra tổng của các số nguyên tố trong mảng đó.
Đây là một đề tương đối dễ, do đó chúng tôi sẽ trình bày bài ở dạng sử dụng hàm để các bạn tiếp nhận thêm kiến thức.
Hàm ở đây tên là NT với tham trị đưa vào là một con số và hàm này sẽ kiểm tra xem số đó có phải là số nguyên tố hay không, việc kiểm tra được thực hiện qua vòng lặp tối ưu While (n mod i <> 0)and(i<Sqrt(n)), các bạn có thể xem lại bài in ra các số nguyên tố ở đây.
Các bạn có thể thấy khi nhập số phần tử của mảng chúng tôi để nó trong vòng lặp, điều này đảm bảo rằng người nhập không thể nhập số âm hay lớn hơn max. Nếu cố tình nhập vòng lặp không thỏa điều kiện và người dùng sẽ phải nhập lại tuy nhiêu nếu họ cố ý nhập vào chuỗi hay số thực thì đành chịu.
2. Dùng chương trình con.
Program tong_cac_so_ng_to_trong_mang; Uses crt ; Const Max = 500; Type mang = Array[1..max] of integer; Var S,n,i:integer; A:mang; Function NT(n:integer):boolean; Var i:integer; Begin If (n=0)Or(n=1) then NT:=False Else Begin i:=2; While (n mod i <> 0)and(i<Sqrt(n)) do i:=i+1; If i>Sqrt(n) then NT:=True Else Nt:=False; End; End; {Function NT} Begin {Chuong trinh chinh} Repeat Clrscr; Write('Ban nhap mang co bao nhieu phan tu : '); Readln(n); Until (n<=max)And(n>0); For i:=1 to n do Begin Write('A[',i,']='); Readln(A[i]); End; S:=0; For i:=1 to n do If NT(A[i]) then S:=S+A[i]; Write('Tong cac so nguyen to trong mang = ',S); Readln; End.
3. Không dùng chương trình con.
Program tong_cac_so_ng_to_trong_mang; Uses crt ; Const Max = 500; Type mang = Array[1..max] of integer; Var S,n,i,j:integer; A:mang; NT:boolean; Begin {Chuong trinh chinh} Repeat Clrscr; Write('Ban nhap mang co bao nhieu phan tu : '); Readln(n); Until (n<=max)And(n>0); For i:=1 to n do Begin Write('A[',i,']='); Readln(A[i]); End; S:=0; For i:=1 to n do Begin j:=2; While (A[i] mod j <> 0)and(j<Sqrt(A[i])) do j:=j+1; If j>Sqrt(A[i]) then NT:=True Else Nt:=False; If NT then S:=S+A[i]; End; Write('Tong cac so nguyen to trong mang = ',S); Readln; End.
Function là gì ạ
Là một chương trình con gọi là hàm nó trả về một giá trị khác với Procedure cũng là chương trình con nhưng không trả về giá trị, hình như lớp 8 thì chưa học cái này. Bạn có thể hình dung clrscr là một procedure đã được viết sẵn Sqtr là hàm cũng đã được viết sẵn, bạn muốn sử dụng cái mà chưa được viết ra thì bạn khai báo là Function hoặc procedure 🙂
Hay a
chương tình này có trong kiến thức 11 ko ???
Lớp 11 đã học qua mảng rồi, nhưng không phải là không ra đề kiểu này.
Làm cách nào để xuất các số nguyên tố liên tiếp dài nhất?
muốn viết riêng trong mảng thôi, ko muôn dùng chương trình con, mong được giúp ạ
Cái này dễ mà, bê nguyên code ở function xuống tạo thêm 2 biến là được thôi.
Giúp em viết chuiwng trình tính tổng các số âm trong mảng số nguyên gồm N phần tử vs ạ
For i:=1 to n do If A[i]<0 then S:=S+A[i]; ý chính chỉ có dòng này thôi, bài này dễ bạn nên tự làm.
Viết chương trình tính trung bình cộng các số trong mảng số nguyên gồm N phần tử
Ý chính như thế này thôi
For i:=1 to n do S:=S+A[i];
TBC:=S/n;
Viết chương trình đếm số nguyên tố trong khoảng p-q thì nn ạ
Bạn khai báo các biến p,q,i,dem_so_nt, giữ lại hàm NT sau khi nhập p,q gán dem_so_nt:=0; thì chỉ như thế này thôi.
For i:=p to q if NT(i) then inc(dem_so_nt)