Tin học tin học trẻ

Thảo luận trong 'Tin học cấp II' bắt đầu bởi thuongloan1697, 26 Tháng năm 2018.

Lượt xem: 537

  1. thuongloan1697

    thuongloan1697 Học sinh chăm học Thành viên

    Bài viết:
    205
    Điểm thành tích:
    76
    Nơi ở:
    Kiên Giang
    Sở hữu bí kíp ĐỖ ĐẠI HỌC ít nhất 24đ - Đặt chỗ ngay!

    Đọc sách & cùng chia sẻ cảm nhận về sách số 2


    Chào bạn mới. Bạn hãy đăng nhập và hỗ trợ thành viên môn học bạn học tốt. Cộng đồng sẽ hỗ trợ bạn CHÂN THÀNH khi bạn cần trợ giúp. Đừng chỉ nghĩ cho riêng mình. Hãy cho đi để cuộc sống này ý nghĩa hơn bạn nhé. Yêu thương!

    1.Viết chương trình tìm số lớn nhất, nhỏ nhất của ba số nguyên nhập từ bàn phím
    2. Cho dãy số 2,3,5,7,... Viết chương trình in ra màn hình số thứ n trong dãy số trên, với n nhập từ bàn phím.
    3. Viết chương trình nhập vào một dãy số nguyên dương với số phần tử n nhập từ bàn phím. In ra màn hình dãy số sau khi sắp xếp các số lẻ đầu dãy số theo thứ tự tăng dần, các số chẵn ở cuối dãy số theo thứ tự giảm dần.
    4. Viết chương trình cộng hai số nguyên dương không vượt quá 254 chữ số.
     
  2. trà nguyễn hữu nghĩa

    trà nguyễn hữu nghĩa Cựu Phó Nhóm Vật Lí |Cây bút Thơ|Thần tượng VH Thành viên

    Bài viết:
    2,830
    Điểm thành tích:
    569
    Nơi ở:
    Phú Yên
    Trường học/Cơ quan:
    Trường THPT Lương Văn Chánh

    Câu nào vậy bạn :D
     
    thuongloan1697 thích bài này.
  3. thuongloan1697

    thuongloan1697 Học sinh chăm học Thành viên

    Bài viết:
    205
    Điểm thành tích:
    76
    Nơi ở:
    Kiên Giang

    Bạn bt tới đâu thì làm nhé
     
    trà nguyễn hữu nghĩa thích bài này.
  4. vnjk

    vnjk Banned Banned

    Bài viết:
    212
    Điểm thành tích:
    51
    Nơi ở:
    An Giang
    Trường học/Cơ quan:
    THCS Quản Cơ Thành

    Câu 1. uses crt;
    var max,min:longint;
    a: array[1..3] of longint;
    begin
    clrscr;
    for i:=1 to 3 do
    begin
    write ('PT ',i,'= '); readln(a);
    end;
    max:=a[1]; min:=a[1];
    for i:=1 to 3 do
    begin if a>max then max:=a;
    if a<min then min:=a;
    end;
    .................................khúc sau tự làm nha, lười quá
     
    thuongloan1697Diệp Ngọc Tuyên thích bài này.
  5. trà nguyễn hữu nghĩa

    trà nguyễn hữu nghĩa Cựu Phó Nhóm Vật Lí |Cây bút Thơ|Thần tượng VH Thành viên

    Bài viết:
    2,830
    Điểm thành tích:
    569
    Nơi ở:
    Phú Yên
    Trường học/Cơ quan:
    Trường THPT Lương Văn Chánh

    Câu 4 trước đi ha,làm từ dưới lên:
    Ý tưởng bài này là đọc vào kiểu string rồi chuyển từng ký tự thành integer rồi cộng từ sau tới trước, nếu có nhớ thì lưu giá trị vào biến nho.
    Mã:
    l := length(s1) - 1;
    if length(s2) > length(s1) then l := length(s2) - 1;
    for i := 1 to l do
    begin
              Val(s1[length(s1) - i,i1,code);
              if i > length(s1) then i1 := 0;
              Val(s2[length(s2) - i,i2,code);
              if i > length(s2) then i2 := 0;
              tong := i1 + i2 + nho;
              if tong >= 10 then
              begin
                        nho := tong div 10;
                        tong := tong mod 10;
              end
              else nho := 0;
              Str(tong,st);
              kq := st + kq;
    end;
    Mình chỉ viết cái main thôi nhá, phần còn lại bạn tự lo :D
     
    thuongloan1697, vnjkDiệp Ngọc Tuyên thích bài này.
  6. nguyen tran thanh nha

    nguyen tran thanh nha Học sinh Thành viên

    Bài viết:
    107
    Điểm thành tích:
    36
    Nơi ở:
    Bà Rịa - Vũng Tàu
    Trường học/Cơ quan:
    thcs kim long

    câu 3 : bạn đã học qsort chưa
     
    thuongloan1697 thích bài này.
  7. thuongloan1697

    thuongloan1697 Học sinh chăm học Thành viên

    Bài viết:
    205
    Điểm thành tích:
    76
    Nơi ở:
    Kiên Giang


    qsort là gì mk k bt? mk đang học free pascal với mk chỉ mới biết sqrt à
     
  8. nguyen tran thanh nha

    nguyen tran thanh nha Học sinh Thành viên

    Bài viết:
    107
    Điểm thành tích:
    36
    Nơi ở:
    Bà Rịa - Vũng Tàu
    Trường học/Cơ quan:
    thcs kim long

    t:= 1; d:=1;
    for i:= 1 to n do
    begin
    read(x);
    if x mod 2= 0 then begin a[t]:= x; t:= t+1;end
    else begin b[d]:= x; d:= d+1;end;
    end;
    for i:= 1 to t-1 do
    for j:= i+1 to t do
    if a<a[j] then
    begin
    e:= a;
    a:= a[j]; a[j]:= e;
    end;
    for i:= 1 to d-1 do
    for j:= i+1 to d do
    if b>b[j] then
    begin
    e:= b;
    b:= b[j]; b[j]:= e;
    end;
    for i:= 1 to d do write(b,' ');
    for j:= 1 to t do write(a[j],' ');
    đây là cái ruột còn phần đầu và end.
    ý tưởng bài này là chia ra hai mảng lẻ và chãn rồi sắp xếp rồi in lẻ ra trướ chẵn ra sau
     
  9. quangkhai2811

    quangkhai2811 Học sinh chăm học Thành viên

    Bài viết:
    637
    Điểm thành tích:
    131

    Câu 2 thì ý tưởng quá rõ ràng rồi =]] số thứ n sẽ có dạng 2n+1, đề không rõ miền dữ liệu, tạm thời mình sẽ làm trên tập integer
    var n:integer;
    begin
    readln(n);
    writeln(2*(n-1)+1);
    readln
    end.
    Câu
     
    Last edited: 22 Tháng sáu 2018
    thuongloan1697 thích bài này.
  10. quangkhai2811

    quangkhai2811 Học sinh chăm học Thành viên

    Bài viết:
    637
    Điểm thành tích:
    131

    Câu 3 thì ngoài cách như trên thì mình nghĩ đến hướng khác, không sử dụng mảng trung gian để lưu vì đề chỉ yêu cầu xuất ra màn hình.
    Ý tưởng: - Đọc giá trị các phần tử mảng
    - Sắp xếp thứ tự tăng dần
    For i:=1 To N-1 Do
    For j:=i+1 To N Do
    If A>A[j] Then
    Begin
    Tam:=A; A:=A[j]; A[j]:=Tam;
    End;

    - Xử lí in màn hình
    + In các số lẻ tăng dần, sử dụng vòng lặp for i:=1 to n do If (a mod 2 <> 0) then write(a,' ');
    + In các số chẵn giảm dần Sử dụng vòng lặp for i:=n downto 1 do If (a mod 2 = 0) then write(a,' ');
     
    thuongloan1697 thích bài này.
  11. quangkhai2811

    quangkhai2811 Học sinh chăm học Thành viên

    Bài viết:
    637
    Điểm thành tích:
    131

    Câu 4 của mình về ý tưởng thì cũng tương tự như bài trên khác một tí ở đoạn xử lí dữ liệu số thoai
    function add(a,b : string): string;
    var sum, carry, i, x, y : integer;
    c : string;
    begin
    carry:=0;c:='';
    while length(a)<length(b) do a:='0'+a;
    while length(b)<length(a) do b:='0'+b;
    for i:=length(a) downto 1 do
    begin
    x:= ord(a)-ord('0'); {ord('0')=48}
    y:= ord(b)-ord('0');
    sum:=x + y + carry;
    carry:=sum div 10;
    c:=chr(sum mod 10 +48)+c;
    end;
    if carry>0 then c:='1'+c;
    add:=c;
    end;
     
  12. Bùi Thành Công

    Bùi Thành Công Học sinh Thành viên

    Bài viết:
    89
    Điểm thành tích:
    31
    Nơi ở:
    Nam Định
    Trường học/Cơ quan:
    Thcs Giao Thủy

    theo mk nghĩ thì bài này là dãy số nguyên tố:

    var n,i:longint;
    snt:int64;
    function nto(n:int64):boolean;
    var j:int64;
    begin nto:=true; j:=1;
    while j<=trunc(sqrt(n)) do
    begin
    if n mod j then exit(false);
    inc(j);
    end;
    end;
    BEGIN
    readln(n);
    if n=1 then write(2) else begin
    snt:=1; i:=1;
    while i<n do
    begin snt:=snt+2;
    if nto(snt) then inc(i);
    end;
    write(snt);
    end;
    END.
     
    trà nguyễn hữu nghĩa thích bài này.
Chú ý: Trả lời bài viết tuân thủ NỘI QUY. Xin cảm ơn!

Draft saved Draft deleted

CHIA SẺ TRANG NÀY

-->