Home | BAC/Teze | Biblioteca | Jobs | Referate | Horoscop | Muzica | Dex | Games | Barbie

 

Search!

     

 

Index | Forum | E-mail

   

Aceasta pagina de informatica se adreseaza incepatorilor in general, celor care doresc sa se documenteze pe o anumita tema, dar si profesorilor de Informatica interesati, care pot gasi aici prezentari multimedia, in conformitate cu programa MEN, recomandate pentru lectii si predare la clasa.

 

 
 
 
 
 Meniu rapid  Portalul e-scoala | CAMPUS ASLS | Forum discutii | Premii de excelenta | Europa





 

 

 

Inapoi la cuprins

Solutii Capitolul 2 (B)

Pagina anterioara

În varianta QBASIC am utilizat funcții definite de utilizator, definirea unei funcții făcându-se în felul următor:

 

FUNCTION nume [(listă_param)] [STATIC]

    [bloc_instrucțiuni]

  nume = expresie

    [bloc_instrucțiuni]

END FUNCTION

            - nume             Numele funcției și tipul ei, specificat printr-un sufix (%,&,!,# sau $)

            - listă_param  Una sau mai multe variabile care specifică parametri ce vor fi utilizați la apelul funcției:

                        variabilă[( )] [AS tip] [, variabilă[( )] [AS tip]]...

                        variabilă                      Numele unei variabile (dacă este tablou, va fi urmat de ( ) )

                        tip                    Tipul variabilei (INTEGER, LONG, SINGLE, DOUBLE, STRING sau tip definit de utilizator)

            - STATIC        Calculatorul va salva valorile variabilelor locale între două apeluri ale funcției

            - expresie        Valoarea pe care o va returna funcția

            - La apelarea funcției, putem determina ca valoarea unui parametru să rămână neschimbată prin scrierea acestuia în paranteză

                        Ex.: PRINT f(a,b,(c)) - valoarea parametrului c va rămâne neschimbată după revenirea din funcție, indiferent de felul în care operează funcția asupra lui.

 

Programul 1

10 INPUT B, C

20 IF B > 0 THEN LET A = B + C: GOTO 40

30 LET A = B - C

40 PRINT "A="; A

50 STOP

 

INPUT B, C

IF B > 0 THEN A = B + C ELSE A = B - C

PRINT "A="; A

END

 

Programul 2

10 INPUT "A="; A

20 IF A >= 0 THEN LET B = SQR(A): GOTO 40

30 LET B = 2 * A

40 PRINT "B="; B

50 STOP

 

INPUT "A=", A

IF A >= 0 THEN B = SQR(A) ELSE B = 2 * A

PRINT "B="; B

END

 

Programul 3

10 INPUT "A="; A: INPUT "B="; B

20 INPUT "D="; D: INPUT "E="; E

30 IF E = 0 THEN PRINT "EXPRESIA NU ARE SENS.": STOP

40 PRINT "C="; (A + B * D) / E

50 STOP

 

INPUT "A=", A: INPUT "B=", B

INPUT "D=", D: INPUT "E=", E

IF E = 0 THEN

        PRINT "Expresia nu are sens."

ELSE

        PRINT "C="; (A + B * D) / E

END IF

END

 

Programul 4

10 PRINT "INTRODUCETI VALORILE VARIABILELOR A,B,C:"

20 INPUT A, B, C

30 IF A - B = 0 THEN PRINT "EXPRESIA NU SE POATE CALCULA.": STOP

40 LET D = (A / 2 + B * C) / (A - B)

50 PRINT "D="; D

60 STOP

 

PRINT "Introduceti valorile variabilelor A,B,C:"

INPUT A, B, C

IF A - B = 0 THEN

        PRINT "Expresia nu se poate calcula."

ELSE

        D = (A / 2 + B * C) / (A - B)

        PRINT "D="; D

END IF

END

 

Programul 5

Varianta 1

10 INPUT "INTRODUCETI VALORILE VARIABILELOR A,B,C,D:"; A, B, C, D

20 IF A + B = 0 OR D = 0 THEN PRINT "EXPRESIA NU SE POATE CALCULA.": STOP

30 LET E = A / (A + B) * (2 - C) / D + 1 / (12 * D)

40 PRINT "E="; E

50 STOP

 

INPUT "Introduceti valorile variabilelor A,B,C,D:", A, B, C, D

IF A + B = 0 OR D = 0 THEN

        PRINT "Expresia nu se poate calcula."

ELSE

        E = A / (A + B) * (2 - C) / D + 1 / (12 * D)

        PRINT "E="; E

END IF

END

 

Varianta 2

10 INPUT "INTRODUCETI VALORILE VARIABILELOR A,B,C,D:"; A, B, C, D

20 IF A + B = 0 THEN PRINT "EXPRESIA NU SE POATE CALCULA.": STOP

30 IF D = 0 THEN PRINT "EXPRESIA NU SE POATE CALCULA.": STOP

40 LET E = A / (A + B) * (2 - C) / D + 1 / (12 * D)

50 PRINT "E="; E

60 STOP

 

INPUT "Introduceti valorile variabilelor A,B,C,D:", A, B, C, D

IF A + B = 0 THEN

        PRINT "Expresia nu se poate calcula."

ELSEIF D = 0 THEN

        PRINT "Expresia nu se poate calcula."

ELSE

        E = A / (A + B) * (2 - C) / D + 1 / (12 * D)

        PRINT "E="; E

END IF

END

 

Programul 6

10 INPUT "A="; A

20 INPUT "B="; B

30 IF A >= B THEN LET F = SQR(A - B): GOTO 60

40 IF A + B = 0 THEN PRINT "EXPRESIA NU SE POATE CALCULA.": STOP

50 LET F = A * B / (A + B)

60 PRINT "F="; F

70 STOP

 

INPUT "A=", A

INPUT "B=", B

IF A >= B THEN

        LET F = SQR(A - B)

        PRINT "F="; F

ELSEIF A + B = 0 THEN

        PRINT "Expresia nu se poate calcula."

ELSE

        F = A * B / (A + B)

        PRINT "F="; F

END IF

END

 

Programul 7

10 INPUT "A="; A: INPUT "B="; B

20 IF A >= B THEN LET H = (A + B) / 2: GOTO 50

30 IF A * B < 0 THEN PRINT "EXPRESIA NU SE POATE CALCULA.": STOP

40 LET H = SQR(A * B / 2)

50 PRINT "H="; H

60 STOP

 

INPUT "A=", A: INPUT "B=", B

IF A >= B THEN

        H = (A + B) / 2

        PRINT "H="; H

ELSEIF A * B < 0 THEN

        PRINT "Expresia nu se poate calcula."

ELSE

        H = SQR(A * B / 2)

        PRINT "H="; H

END IF

END

 

Programul 8

10 INPUT "A="; A: INPUT "B="; B

20 IF A >= B THEN LET H = (A + B) / 2: GOTO 50

30 IF A * B < 0 THEN PRINT "EXPRESIA NU SE POATE CALCULA.": STOP

40 LET H = SQR(A * B / 2)

50 PRINT "H="; H

60 STOP

 

INPUT "A=", A: INPUT "B=", B

IF A >= B THEN

        H = (A + B) / 2

        PRINT "H="; H

ELSEIF A * B < 0 THEN

        PRINT "Expresia nu se poate calcula."

ELSE

        H = SQR(A * B / 2)

        PRINT "H="; H

END IF

END

 

Programul 9

10 INPUT "A="; A: INPUT "B="; B

20 IF B > 0 THEN LET I = (1 + 2 * A) / B: GOTO 50

30 IF B < 0 THEN LET I = (1 - B) * (1 - A) / 9: GOTO 50

40 LET I = (A + 3) ^ 4

50 PRINT "I="; I

60 STOP

 

INPUT "A=", A: INPUT "B=", B

SELECT CASE B

        CASE IS > 0

                I = (1 + 2 * A) / B

        CASE IS < 0

                I = (1 - B) * (1 - A) / 9

        CASE ELSE

                I = (A + 3) ^ 4

END SELECT

PRINT "I="; I

END

 

Programul 10

10 INPUT "A="; A: INPUT "B="; B

20 IF B > 0 THEN GOSUB 100: GOTO 50

30 IF B < 0 THEN GOSUB 200: GOTO 50

40 LET J = 3

50 PRINT "J="; J

60 STOP

100 IF A = 0 THEN PRINT "EXPRESIA NU SE POATE CALCULA.": STOP

110 LET J = (1 + 2 * B) / A

120 RETURN

200 IF B + A = 0 THEN PRINT "EXPRESIA NU SE POATE CALCULA.": STOP

210 LET J = (1 - B) * (1 - A) / (B + A)

220 RETURN

 

INPUT "A=", A: INPUT "B=", B

SW = 0

IF B > 0 THEN

        IF A = 0 THEN

                PRINT "Expresia nu se poate calcula."

                SW = 1

        ELSE

                J = (1 + 2 * B) / A

        END IF

ELSEIF B < 0 THEN

        IF B + A = 0 THEN

                PRINT "Expresia nu se poate calcula."

                SW = 1

        ELSE

                J = (1 - B) * (1 - A) / (B + A)

        END IF

ELSE

        J = 3

END IF

IF SW = 0 THEN PRINT "J="; J

END

 

Programul 11

10 INPUT "A="; A: INPUT "B="; B: INPUT "N="; N

20 LET K = A + B * N

30 PRINT "K="; K

40 IF N <= 0 THEN STOP

50 LET L = (A + B) ^ N

60 PRINT "L="; L

70 STOP

 

INPUT "A=", A: INPUT "B=", B: INPUT "N=", N

K = A + B * N

PRINT "K="; K

IF N > 0 THEN

        L = (A + B) ^ N

        PRINT "L="; L

END IF

END

 

Programul 12

Varianta 1

10 INPUT "INTRODUCETI VALORILE VARIABILELOR A,B,C,N:"; A, B, C, N

20 IF N = 1 THEN LET M = A + B + C: GOTO 80

30 IF N = 2 THEN GOSUB 100: GOTO 80

40 IF N = 3 THEN LET M = A * B * (-C): GOTO 80

50 IF N = 4 THEN LET M = (A * B + C) ^ 2: GOTO 80

60 PRINT "EXPRESIA NU ESTE DEFINITA PENTRU ACEASTA VALOARE A LUI N."

70 STOP

80 PRINT "M="; M

90 STOP

100 IF C = 0 THEN PRINT "EXPRESIA NU SE POATE CALCULA.": STOP

110 LET M = A + B / C

120 RETURN

 

INPUT "Introduceti valorile variabilelor A,B,C,N:", A, B, C, N

IF N = 1 THEN

        M = A + B + C

        PRINT "M="; M

ELSEIF N = 2 THEN

        IF C = 0 THEN

                PRINT "Expresia nu se poate calcula."

        ELSE

                M = A + B / C

                PRINT "M="; M

        END IF

ELSEIF N = 3 THEN

        M = A * B * (-C)

        PRINT "M="; M

ELSEIF N = 4 THEN

        M = (A * B + C) ^ 2

        PRINT "M="; M

ELSE

        PRINT "Expresia este definita pentru aceasta valoare a lui N."

END IF

END

 

Varianta 2

10 INPUT "INTRODUCETI VALORILE VARIABILELOR A,B,C,N:"; A, B, C, N

20 ON N GOTO 100, 200, 300, 400

30 STOP

100 LET M = A + B + C

110 PRINT "M="; M

120 STOP

200 IF C = 0 THEN PRINT "EXPRESIA NU SE POATE CALCULA.": STOP

210 LET M = A + B / C

220 GOTO 110

300 LET M = A * B * (-C): GOTO 110

400 LET M = (A * B + C) ^ 2: GOTO 110

 

INPUT "Introduceti valorile variabilelor A,B,C,N:", A, B, C, N

SW = 0

SELECT CASE N

        CASE 1

                M = A + B + C

        CASE 2

                IF C = 0 THEN

                        PRINT "Expresia nu se poate calcula."

                        SW = 1

                ELSE

                        M = A + B / C

                END IF

        CASE 3

                M = A * B * (-C)

        CASE 4

                M = (A * B + C) ^ 2

        CASE ELSE

                PRINT "Expresia nu este definita pt. aceasta valoare a lui N."

                SW = 1

END SELECT

IF SW = 0 THEN PRINT "M="; M

END

 

Programul 13

10 INPUT "X="; X: INPUT "Y="; Y

20 INPUT "INTRODUCETI NUMARUL NATURAL N="; N

30 IF N / 2 = INT(N / 2) THEN LET E = (X ^ 2 + Y ^ 2) / 2: GOTO 50

40 LET E = (X ^ 2 + Y ^ 3) / 2

50 PRINT "E="; E

60 STOP

 

INPUT "X=", X: INPUT "Y=", Y

INPUT "Introduceti numarul natural N="; N

IF N MOD 2 = 0 THEN E = (X ^ 2 + Y ^ 2) / 2 ELSE E = (X ^ 2 + Y ^ 3) / 2

PRINT "E="; E

END

 

Programul 14

10 INPUT "X="; X

20 IF X < -1 THEN LET N = (3 * X + 5) / (X - 9): GOTO 50

30 IF X > 1 THEN LET N = (X - 2) / (X + 2): GOTO 50

40 LET N = 3 * X - 90 ^ 2

50 PRINT "N="; N

60 STOP

 

INPUT "X=", X

IF X < -1 THEN

        N = (3 * X + 5) / (X - 9)

ELSEIF X > 1 THEN

        N = (X - 2) / (X + 2)

ELSE

        N = 3 * X - 90 ^ 2

END IF

PRINT "N="; N

END

Programul 15

10 INPUT "A="; A

20 IF A > 0 THEN LET O = 1 + 1 / (2 * A): GOTO 50

30 IF A = -2 THEN PRINT "EXPRESIA NU SE POATE CALCULA.": STOP

40 LET O = 1 + 1 / (A + 2)

50 PRINT "O="; O

60 STOP

 

INPUT "A=", A

IF A > 0 THEN

        O = 1 + 1 / (2 * A)

ELSEIF A = -2 THEN

        PRINT "EXPRESIA NU SE POATE CALCULA."

ELSE

        O = 1 + 1 / (A + 2)

END IF

PRINT "O="; O

END

 

Programul 16

10 INPUT "A="; A: INPUT "B="; B

20 IF A >= 0 AND INT(A) = A THEN PRINT "A ESTE NR. NATURAL.": GOTO 40

30 PRINT "A NU ESTE NR. NATURAL."

40 IF B = INT(B) THEN PRINT "B ESTE NR. INTREG.": STOP

50 PRINT "B NU ESTE NR. INTREG."

60 STOP

 

INPUT "A=", A: INPUT "B=", B

IF A >= 0 AND A = INT(A) THEN

        PRINT "A este nr. natural."

ELSE

        PRINT "A nu este nr. natural."

END IF

IF B = INT(B) THEN

        PRINT "B este nr. intreg."

ELSE

        PRINT "B nu este nr. intreg."

END IF

END

 

Programul 17

10 PRINT "SPECIFICATI VARIANTA DORITA:"

20 PRINT "FAHRENHEIT -> CELSIUS:ACTIONATI TASTA F."

30 PRINT "CELSIUS -> FAHRENHEIT:ACTIONATI TASTA C."

40 INPUT A$

50 IF A$ = "F" THEN GOTO 80

60 IF A$ = "C" THEN GOTO 120

70 GOTO 10

80 PRINT "INTRODUCETI VALOAREA TEMPERATURII IN GRADE FAHRENHEIT:": INPUT F

90 LET C = (F - 32) * 5 / 9

100 PRINT F; " GRADE FAHRENHEIT ="; C; " GRADE CELSIUS."

110 STOP

120 PRINT "INTRODUCETI VALOAREA TEMPERATURII IN GRADE CELSIUS:": INPUT C

130 LET F = C * 9 / 5 + 32

140 PRINT C; " GRADE CELSIUS ="; F; " GRADE FEHRENHEIT."

150 STOP

 

PRINT "Specificati varianta dorita:"

PRINT "FAHRENHEIT -> CELSIUS:actionati tasta F."

PRINT "CELSIUS -> FAHRENHEIT:actionati tasta C."

INPUT A$: A$ = UCASE$(A$)

IF A$ = "F" THEN

        INPUT "Introduceti valoarea temperaturii in grade FAHRENHEIT:", F

        C = (F - 32) * 5 / 9

        PRINT F; "grade FAHRENHEIT ="; C; "grade CELSIUS."

ELSEIF A$ = "C" THEN

        INPUT "Introduceti valoarea temperaturii in grade CELSIUS:", C

        F = C * 9 / 5 + 32

        PRINT C; "grade CELSIUS ="; F; "grade FEHRENHEIT."

ELSE

        RUN

END IF

END

 

Programul 18

10 INPUT "INTR. VALORILE VARIABILELOR A,B,C:"; A, B, C

20 IF A < 0 OR B < 0 OR C = 0 THEN PRINT "EXPRESIA NU SE POATE CALCULA.": STOP

30 LET P = (SQR(A ^ 3) + SQR(B)) / C

40 PRINT "P="; P

50 STOP

 

INPUT "Intr. valorile variabilelor A,B,C:", A, B, C

IF A < 0 OR B < 0 OR C = 0 THEN

        PRINT "Expresia nu se poate calcula."

ELSE

        P = (SQR(A ^ 3) + SQR(B)) / C

        PRINT "P="; P

END IF

END

Programul 19

10 INPUT "X="; X

20 IF X < -5 THEN LET R = 3 ^ X * (2 - 3 ^ (X - 3)) / 91: GOTO 50

30 IF X > 5 THEN LET R = (X + 1) ^ (X - 1): GOTO 50

40 LET R = 0

50 PRINT "R="; R

60 STOP

 

INPUT "X=", X

IF X < -5 THEN

        R = 3 ^ X * (2 - 3 ^ (X - 3)) / 91

ELSEIF X > 5 THEN

        R = (X + 1) ^ (X - 1)

ELSE

        R = 0

END IF

PRINT "R="; R

END

Pagina anterioara

 

Home | BAC/Teze | Biblioteca | Referate | Games | Horoscop | Muzica | Versuri | Limbi straine | DEX

Modele CV | Wallpaper | Download gratuit | JOB & CARIERA | Harti | Bancuri si perle | Jocuri Barbie

Iluzii optice | Romana | Geografie | Chimie | Biologie | Engleza | Psihologie | Economie | Istorie | Chat

 

Joburi Studenti JOB-Studenti.ro

Oportunitati si locuri de munca pentru studenti si tineri profesionisti - afla cele mai noi oferte de job!

Online StudentOnlineStudent.ro

Viata in campus: stiri, burse, cazari, cluburi, baluri ale bobocilor - afla totul despre viata in studentie!

Cariere si modele CVStudentCV.ro

Dezvoltare personala pentru tineri - investeste in tine si invata ponturi pentru succesul tau in cariera!

 

 > Contribuie la proiect - Trimite un articol scris de tine

Gazduit de eXtrem computers | Project Manager: Bogdan Gavrila (C)  

 

Toate Drepturile Rezervate - ScoalaOnline Romania