Trang chủ Tin Học Lớp 11 cho tệp thiHK.dat gồm 10 dòng mỗi dòng gồm ba...

cho tệp thiHK.dat gồm 10 dòng mỗi dòng gồm ba giá trị a,b,c trong đó a là số báo danh b là điểm lí thuyết c là điểm thực hành viết chương trình đọc dữ liệu

Câu hỏi :

cho tệp thiHK.dat gồm 10 dòng mỗi dòng gồm ba giá trị a,b,c trong đó a là số báo danh b là điểm lí thuyết c là điểm thực hành viết chương trình đọc dữ liệu từ tệp thiHK.dat rồi tính tổng điểm của thí sinh ( tổng điểm = lí thuyết + thực hành x2 ) ghi kết quả vào tệp kết quả.dat gồm hai thông tin (sbd và tổng điểm )

Lời giải 1 :

chippi thường xuyên tham gia thi lập trình trên mạng. Vì đạt được thành tích cao nên được gửi tặng một phần mềm diệt virus. Nhà sản xuất phần mềm cung cấp cho  một mã số là một dãy gồm các bộ ba chữ số ngăn cách nhau bởi dấu chấm và có chiều dài không quá 255 (kể cả chữ số và dấu chấm). Để cài đặt được phần mềm, chippi phải nhập vào mật khẩu của phần mềm. Mật khẩu là một số nguyên dương M được tạo ra bằng cách tính tổng giá trị các bộ ba chữ số trong dãy mã số, các bộ ba này được đọc từ phải sang trái.

-          Yêu cầu: Cho biết mã số của phần mềm, hãy tìm mật khẩu của phần mềm đó.

-          Dữ liệu vào: Cho từ tệp văn bản có tên BL2.INPgồm một dòng chứa xâu ký tự S (độ dài xâu không quá 255 ký tự) là mã số của phần mềm.

-          Kết quả: Ghi ra tệp văn bản có tên BL2.OUTgồm một số nguyên là mật khẩu tìm được.

Chương trình tham khảo:

ProgramBL2;

Constfin ='BL2.INP';

fout='BL2.OUT';

VarS:String;

i,Sum,T:Longint;

f:Text;

Begin

Assign(f,fin);

Reset(f);

Read(f,S);

Close(f);

Sum:=0;

T:=0;

Fori:=Length(S) downto1 do

IfS[i] in['0'..'9'] thenT:=T*10+(ord(S[i])-48)

Else

Begin

Sum:=Sum+T;

T:=0;

End;

Sum:=Sum+T;

Assign(f,fout);

ReWrite(f);

Write(f,Sum);

Close(f);

End.

TRÒ CHƠI VỚI BĂNG SỐ.

Trên một cuộn giấy dài, người ta lần lượt viết N số nguyên dương, giá trị mỗi

số không vượt quá 10000000.

-          Yêu cầu: Hãy cắt cuộn giấy thành nhiều đoạn nhất sao cho tổng các số được

-          viết trong các đoạn là bằng nhau.

-          Dữ liệu vào: Cho từ tệp văn bản có tên BL3.INPcó dạng như sau:

·         Dòng đầu tiên ghi số nguyên dương N(1≤N≤10000).

·         Dòng thứ hai ghi N số nguyên theo thứ tự là các số được viết trên cuộn giấy, các số nguyên cách nhau ít nhất một dấu cách.

-          Kết quả: Ghi ra tệp văn bản có tên BL3.OUTgồm một dòng ghi một số nguyên là số đoạn nhiều nhất có thể chia được.

Ví dụ:

BL3.INP

BL3.OUT

8

10 2 6 2 5 2 1 2

3

Giải thích:

+ Đoạn 1: 10

+ Đoạn 2: 2 + 6 + 2 =10

+ Đoạn 3: 5 + 2 + 1 + 2 = 10

Chương trình tham khảo:

ProgramBL3;

Constfin ='BL3.INP';

fout='BL3.OUT';

Vara:array[1..1000] ofLongint;

N,K,i,S,tong:Longint;

f:Text;

Begin

Assign(f,fin);

Reset(f);

Readln(f,N);

Fori:=1 toN doRead(f,a[i]);

Close(f);

S:=0;

Fori:=1 toN doS:=S+a[i];

ForK:=N downto1 do

IfS modK=0 then

Begin

tong:=0;

Fori:=1 ton do

Begin

tong:=tong+a[i];

Iftong=S divK thentong:=0;

End;

Iftong=0 thenBreak;

End;

Assign(f,fout);

ReWrite(f);

Write(f,K);

Close(f);

End.

 

 

KHOẢNG CÁCH

Trong soạn thảo văn bản, theo quy ước giữa các từ chỉ nên cách nhau bằng một khoảng cách. Tuy nhiên trên thực tế vẫn có những trường hợp ngoại lệ.

-          Yêu cầu: Cho trước một xâu ký tự S chỉ gồm các chữ cái và các khoảng cách. Hãy cho biết có nhiều nhất bao nhiêu khoảng cách đi liền nhau trong xâu S.

-          Dữ liệu vào: Cho từ tệp văn bản có tên BL3.INPgồm một dòng ghi xâu S (độ dài xâu không quá 250 ký tự).

-          Kết quả: Ghi ra tệp văn bản có tên BL3.OUTgồm một số nguyên duy nhất là số khoảng cách nhiều nhất đi liền nhau.

Chương trình tham kh ảo:

Program BL3;

Const fin ='BL3.INP';

fout='BL3.OUT';

Var S:String;

i,d,max:Integer;

f:Text;

Begin

Assign(f,fin);

Reset(f);

Read(f,S);

Close(f);

max:=0;

d:=0;

S:=S+'a';

For i:=1 to length(S) do

If S[i]=' ' then d:=d+1

Else

Begin

If d>max then max:=d;

d:=0;

End;

Assign(f,fout);

ReWrite(f);

Write(f,max);

Close(f);

End.

DÃY TĂNG

Một dãy số a1, a2, …, anđược gọi là dãy tăng nếu như nó thỏa điều kiện:

a1< a2< … < an

-          yêu cầu; Cho dãy số nguyên a1, a2, …, an. Hãy cho biết dãy số này có phải là dãy tăng hay không? Nếu không phải dãy tăng thì hãy cho biết chỉ số k nhỏ nhất của phần tử làm cho dãy không có tính chất của dãy tăng.

-          Dữ liệu vào: Cho từ tệp văn bản có tên BL4.INPcó dạng như sau:

·         Dòng đầu tiên ghi số nguyên n(1<n≤1000)

·         Dòng thứ hai ghi dãy n số nguyên a1, a2, …, an(-1000 ≤ ai≤ 1000, i=1..n)

-          Kết quả: Ghi ra tệp văn bản có tên BL4.OUTgồm một số nguyên duy nhất k.

Trường hợp dãy đã cho là dãy tăng thì ghi số 0.

Chương trình tham khảo:

Program BL4;

Const fin ='BL4.INP';

fout='BL4.OUT';

Var A:Array[0..1001] of Longint;

n,i:Longint;

f:Text;

Begin

Assign(f,fin);

Reset(f);

Readln(f,n);

For i:=1 to n do Read(f,a[i]);

Close(f);

i:=1;

While (i<=n-1) and (a[i]<a[i+1]) do i:=i+1;

Assign(f,fout);

ReWrite(f);

If i<=n-1 then Write(f,i+1)

Else Write(f,0);

Close(f);

Thảo luận

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 11

Lớp 11 - Năm thứ hai ở cấp trung học phổ thông, gần đến năm cuối cấp nên học tập là nhiệm vụ quan trọng nhất. Nghe nhiều đến định hướng sau này rồi học đại học. Ôi nhiều lúc thật là sợ, hoang mang nhưng các em hãy tự tin và tìm dần điều mà mình muốn là trong tương lai nhé!

Nguồn : ADMIN :))

Copyright © 2021 HOCTAP247