X
تبلیغات
نماشا
رایتل

قرآن در کامپیوتر

دانلود نرم افزار های قرآنی یه صورت رایگان

پاسخ سوالات هفتمین دوره رایانه آزمون عملی

باسمه تعالی
پاسخ سوالات هفتمین دوره مسابقات آزمایشگاهی و رایانه دانش آموزان سراسر کشور  گرگان مرداد ماه 1385
سوال اول   برنامه ای بنویسید که مقلوب هر عدد  حقیقی را محاسبه و چاپ کند
مثال:
ورودی  ? 5324/153     خروجی  ? 3514/235
ورودی  ? 7358     خروجی  ? 8537
CLS
INPUT A#
K = 1
DO UNTIL INT(A#) = A#
     A# = A# * 10
     K = K * 10
LOOP
M# = 0
DO
   R = A# MOD 10
   A# = A# 10
   M# = M# * 10 + R
LOOP UNTIL A# = 0
H = M# / K
PRINT H


سوال  دوم : برنامه ای بنویسید که n  عدد را از ورودی بگیرد و بدون استفاده از حلقه های تودر تو آنها را مرتب نموده و چاپ  نماید
CLS
INPUT "How many number . . . "; N
OPTION BASE 1
DIM A(N)
FOR J = 1 TO N
        PRINT "Enter "; J; " TH marks";
        INPUT A(J)
NEXT
M = N - 1
FOR J = 0 TO M ^ 2 - 1
     P = J MOD M + 1
     IF A(P) > A(P + 1) THEN SWAP A(P), A(P + 1)
NEXT J
FOR J = 1 TO N
     PRINT A(J);
NEXT J


سوال سوم  عمل SHIFT  ىر رشته ها را به صورت ؤیر تعریف می کنیم 
 - به اؤای هر حرف صورت مبنای 2  کى اسکی (ASCII)      آنرا در نظر می گیریم
 - همه نمایش های ASCII ( حالت های مبنای 2 ) را در کنار هم به صورت دنباله ای از 0و 1   ها در نظر می گیریم
- حال از سمت چپ به تعداد N  رقم  0  وارد می کنیم و همه ارقام  را به تعداد  N  به سمت راست منتقل می کنیم به این ترتیب  از سمت راست N  رقم را حذف می کنیم
- حال دوباره  دنباله 0  و 1 ها را به قسمت های 8 تایی (هر کدام معادل یک بایت ) در نظر می گیریم و به کاراکتر(حروف ASCII ) معادل شان تبدیل می کنیم
برنامه ای بنویسید که یک رشته و نیز عدد N  را بخواند و رشته پس از عمل SHIFT  را چاپ نماید .
ورودی   ? ABCD  و    N=3         مثال :
01000001    01000010      01000011     01000100  کد حروف ورودی در مبنای 2
00001000    00101000      01001000     01101000                SHIFTکد حروف پس از 3 بار عمل
به این ترتیب در خروجی برنامه کاراکترهای شماره  8       -       40         -         72        -    104            
را چاپ می کنیم


پاسخ سوال سوم
INPUT "ENTER A STRING . . ."; A$
INPUT "HOW MANY SHIFT . . . "; X
S$ = ""
 K = LEN(A$)
FOR i = 1 TO K
        B = ASC(MID$(A$, i, 1))
        M$ = ""
        FOR J = 1 TO 8
                F = B MOD 2
                B = B 2
                C$ = LTRIM$(STR$(F))
                 M$ = C$ + M$
        NEXT
        S$ = S$ + M$
NEXT
S$ = STRING$(X, "0") + S$: S$ = MID$(S$, 1, K * 8)
RESULT$ = ""
FOR i = 0 TO K - 1
         W$ = MID$(S$, i * 8 + 1, 8)
         CH = 0
         FOR U = 1 TO 8
         IF MID$(W$, U, 1) = "1" THEN CH = CH + 2 ^ (8 - U)
    NEXT
    RESULT$ = RESULT$ + CHR$(CH)
NEXT
PRINT RESULT$


سوال چهارم           برنامه ای بنویسید که عدد N   را بگیرد و فاکتوریل آنرا محاسبه و چاپ نماید (N  عددی است طبیعی کوچکتر یا مساوی 500)
CLS
DIM K(1 TO 500) AS INTEGER
DIM P(1 TO 500) AS INTEGER
INPUT "PLEASE ENTER N FOR CALCULATE N! . . . "; N
K(1) = 1
FOR A = 1 TO N
    B = A
    FOR I = 1 TO 500
        P(I) = K(I)
        K(I) = 0
    NEXT
    W = 0
    DO
        M = B MOD 10
        B = B 10
        FOR U = 1 TO 490
            S = K(U + W) + (M * P(U))
            K(U + W) = S MOD 10
            K(U + W + 1) = K(U + W + 1) + S 10
        NEXT
        W = W + 1
    LOOP UNTIL B = 0
NEXT A
F = 0
H = 500
DO
    IF K(H) <> 0 THEN  F = 1
    IF F = 1 THEN PRINT USING "#"; K(H);
    H = H - 1
LOOP UNTIL H = 0

 

تاریخ ارسال: سه‌شنبه 16 مرداد‌ماه سال 1386 ساعت 06:49 ب.ظ | نویسنده: مهندس | چاپ مطلب 0 نظر