exercício resolvido

31
EXERCÍCIO DE ALGORITMOS E PROGRAMAÇÃO 1 Considerando que o usuário digitou, 7,0 8,0 5,5 9,5 O programa abaixo irá imprimir: programa MEDIA var RESULTADO: caractere; N1, N2, N3, N4: real; SOMA, MEDIA: real; inicio leia (N1, N2, N3, N4); SOMA = N1 + N2 + N3 + N4; MEDIA = SOMA / 4; se (MEDIA >= 7) então RESULTADO = “Aprovado”; senão RESULTADO = “Reprovado”; fim se; escreva (“Nota 1 : “ , N1); escreva (“Nota 2 : “ , N2); escreva (“Nota 3 : “ , N3); escreva (“Nota 4 : “ , N4); escreva (“Media : “ , MEDIA); escreva (“Resultado : “ , RESULTADO); fim. RESPOSTA N1 N2 N3 N4 Soma Media RESULTAD O 7.0 8.0 5.5 9.5 30.0 7.5 Aprovado 1º PASSO: Quando o sistema ler N1,N2,N3, e N4 devemos associar 7.0 ,8.0, 5.5 e 9.5. 2º PASSO: SOMAR = N1+N2+N3+N4 SOMAR= 7.0 +8.0+5.5+9.5 SOMAR= 30.0

Upload: usernome

Post on 19-Jan-2016

100 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Exercício resolvido

EXERCÍCIO DE ALGORITMOS E PROGRAMAÇÃO

1 Considerando que o usuário digitou,

7,0 8,0 5,5 9,5O programa abaixo irá imprimir:

programa MEDIAvar

RESULTADO: caractere;N1, N2, N3, N4: real; SOMA, MEDIA: real;

inicioleia (N1, N2, N3, N4);SOMA = N1 + N2 + N3 + N4;MEDIA = SOMA / 4;se (MEDIA >= 7) então

RESULTADO = “Aprovado”;senão

RESULTADO = “Reprovado”;fim se;escreva (“Nota 1 : “ , N1);escreva (“Nota 2 : “ , N2);escreva (“Nota 3 : “ , N3);escreva (“Nota 4 : “ , N4);escreva (“Media : “ , MEDIA);escreva (“Resultado : “ , RESULTADO);

fim.

RESPOSTA

N1 N2 N3 N4 Soma Media RESULTADO7.0 8.0 5.5 9.5 30.0 7.5 Aprovado

1º PASSO: Quando o sistema ler N1,N2,N3, e N4 devemos associar 7.0 ,8.0, 5.5 e 9.5.

2º PASSO: SOMAR = N1+N2+N3+N4 SOMAR= 7.0 +8.0+5.5+9.5 SOMAR= 30.0

3º PASSO: MEDIA = SOMA/4 MEDIA = 7.5

Page 2: Exercício resolvido

4º PASSO:se MEDIA >=7 RESULTADO= “APROVADO” se não RESULTADO= “REPROVADO”

5º PASSO:Nota 1 = 7.0 ;Nota 2 = 8.0;Nota 3 = 5.5 ; Nota 4 = 9.5;MEDIA = 7.5 ;RESULTADO = “Aprovado”;

OBS:Estrutura condicional simples

São usadas quando é necessário fazer uma opção entre 2 ou mais caminhos sendo que o fluxo do algoritmo é desviado segundo uma condição lógico relacional.

Esta estrutura subordina a execução de um comando, ou bloco de comandos, a veracidade ou não de uma condição lógico relacional.

Os comandos utilizados para implementar a estrutura de seleção são : SE, SE...SENÃO, CASO

2 Indique com um X quais os dados abaixo são do tipo inteiro.

( X ) 1000

( ) “0”

( )”-900”

( ) Verdadeiro

( X ) -456

( X ) 34

( ) “Casa 8”

( )Falso

( X ) -156

( ) -1.56

OBSERVAÇÃO

Tipos inteiros

São considerados inteiros aqueles valores numéricos positivos ou negativos. Este tipo de dados pode ser usado por meio dos identificadores:

int, pode possuir 16 bits, 32 bits ou 64 bits;

Page 3: Exercício resolvido

short int, deve possuir tamanho de no mínimo 16 bits e não pode ser maior que int;

long int, deve possuir tamanho mínimo de 32 bits;

long long int, deve possuir tamanho mínimo de 64 bits.

3 Indique com um X quais os dados abaixo são do tipo real.

(X ) 1000

( ) “0”

( ) “-900”

( ) Verdadeiro

( X ) -456.5

( X ) 34

( ) “Casa 8”

( )Falso

(X ) -156

( X ) -1.56

OBSERVAÇÃO

Tipos reais

São considerados reais os valores numéricos positivos e negativos sendo números fracionários ou inteiros. Este tipo de dados pode ser usado por meio dos identificadores:

float define um número de ponto flutuante com seis dígitos decimais de precisão absoluta;

double representa números de ponto flutuante com quinze dígitos decimais de precisão absoluta; e

long double suporta um número de ponto flutuante com quinze dígitos decimais e precisão absoluta.

4 Indique com um X quais os dados abaixo são do tipo lógico.

( ) 1000

( ) “0”

( )”-900”

( X ) Verdadeiro

Page 4: Exercício resolvido

( ) -456

( ) 34

( ) “Casa 8”

( X )Falso

( ) -156

( ) -1.56

OBSERVAÇÃO=

Tipos lógicos

Os dados do tipo lógico podem assumir somente dois valores: VERDADEIRO e FALSO

5 Indique com um X quais os dados abaixo são do tipo caractere.

( ) 1000

( X ) “0”

( X )”-900”

( ) Verdadeiro

( ) -456

( ) 34

( X ) “Casa 8”

( )Falso

( ) -156

( ) -1.56

OBSERVAÇÃO

Tipos caracteres

Caracteres ou sequências de caracteres (strings) são formados por letras, números e símbolos especiais, representando dados alfanuméricos.

Na linguagem C, por exemplo permite o uso de dados alfanumérico de duas formas:

• um caractere delimitado por apóstrofos: ‘x’

• uma sequência de caracteres delimitadas por aspas: “x”

Page 5: Exercício resolvido

6 Desenvolva os algoritmos em português estruturado:a) Efetuar o cálculo da quantidade de litros de combustíveis gasto em uma viagem, utilizando-

se um automóvel que faz 12 Km por litro. Para obter o cálculo, o usuário deverá fornecer o tempo gasto e a velocidade média durante a viagem. Desta forma, será possível obter a distância percorrida com a fórmula DISTANCIA = TEMPO * VELOCIDADE. Tendo o valor da distância, basta calcular a quantidade de litros de combustível utilizada na viagem com a fórmula: LITROS_USADOS = DISTÂNCIA /12. O programa deverá apresentar os valores da velocidade média, tempo gasto na viagem, a distância percorrida e a quantidade de litros utilizada na viagem.

RESPOSTA

var TEMPO: real;VELOCIDADE: real;DISTANCIA: real;LITROS_USADOS: real;

inicioescreva(“Digite o tempo gasto na viagem”);leia(TEMPO);escreva(“Digite a velocidade media durante a viagem”);leia(VELOCIDADE);DISTANCIA = TEMPO*VELOCIDADE;LITROS_USADOS = DISTANCIA/12;escreva(“A velocidade media durante a viagem foi ”, VELOCIDADE);escreva(“O tempo gasto na viagem é ”, DISTANCIA);escreva(“A quantidade de litros usados na viagem foi de ”, LITROS_USADOS);

fimOBS: Faça o esquema chinês e teste a resposta

b) Efetuar o cálculo e a apresentação do valor de uma prestação em atraso, utilizando a fórmula: PRESTACAO = VALOR + (VALOR * (TAXA / 100) * TEMPO).

RESPOSTA

var VALOR: real;PRESTACAO: real;TAXA: real;TEMPO: inteiro;

inicioescreva(“Digite o valor da Prestação”);leia(VALOR);escreva(“Digite o numero de dias em atraso”);leia(TEMPO);PRESTACAO = VALOR+(VALOR *(TAXA/100)*TEMPO);escreva(“O valor da prestação corrigido é ”, PRESTACAO);

fim

Page 6: Exercício resolvido

c) Ler dois valores para as variáveis A e B, e efetuar a troca dos valores de forma que a variável A passe a possuir o valor da variável B e a variável B passe a possuir o valor da variável A. Apresentar os valores trocados.

RESPOSTA

var A, B, TROCA: inteiro ;

inicioescreva(“Digite o valor de A”);leia(A);escreva(“Digite o valor de B”);leia(B);TROCA = B;A=B ;B= TROCAescreva(“O valor trocado de B para A é ”, A);escreva(“O valor trocado de A para B é ”, B);

fim

d) Ler quatro números e apresentar o resultado da adição e multiplicação, baseando-se na utilização da propriedade distributiva. Ou seja, se forem lidas as variáveis A, B, C e D, deverão ser somadas e multiplicadas A com B, A com C e A com D. Depois B com C, B com D e por fim C com D.

RESPOSTA

var A,B,C,D: inteiroRESULTADO_ADICAO: inteiroRESULTADO_MULTIPLICACAO: inteiro

inicioescreva(“Digite o valor de A,B,C,D”);leia(A,B,C,D);RESULTADO_ADICAO = (A+B) +(A+C)+ (A+D)+ (B+C)+ (B+D)+ (C+D);RESULTADO_ MULTIPLICACAO = (A*B) +(A*C)+ (A*D)+ (B*C)+ (B*D)+ (C*D);escreva(“O resultado da adição baseado na propriedade distributiva é

”RESULTADO_ADICAO);escreva(“O resultado da multiplicação baseado na propriedade distributiva é ”RESULTADO_

MULTIPLICACAO);

fim

Page 7: Exercício resolvido

e) Elaborar um programa que calcule e apresente o volume de uma caixa retangular, por meio da fórmula: VOLUME = COMPRIMENTO * LARGURA * ALTURA.

RESPOSTA

var VOLUME, COMPRIMENTO, LARGURA, ALTURA : real;

inicioescreva(“Digite o comprimento da caixa retangular”);leia(COMPRIMENTO);escreva(“Digite a largura da caixa retangular”);leia(LARGURA);escreva(“Digite a altura da caixa retangular”);leia(ALTURA);VOLUME = COMPRIMENTO * LARGURA * ALTURA;escreva(“O volume da caixa retangular é”, VOLUME);

fim

f) Efetuar a leitura de um número inteiro e apresentar o resultado do quadrado desse número.

RESPOSTA

var NUM : inteiro;

inicioescreva(“Digite um numero”);leia(NUM);escreva(“O quadrado de NUM é ”, NUM* NUM);

fim

g) Ler dois inteiros (variáveis A e B) e imprimir o resultado do quadrado da diferença do primeiro valor pelo segundo.

RESPOSTA

var A,B, QD : inteiro;

inicioescreva(“Digite o valor de A”);leia(A);escreva(“Digite o valor de B”);leia(B);QD =(A*A)-(2*(A*B))+(B*B);escreva(“O quadrado e a diferença de A e B é ”, QD);

fim

Page 8: Exercício resolvido

h) Elaborar um programa que efetue a apresentação do valor da conversão em real (R$) de um valor lido em dólar (US$). O programa deverá solicitar o valor da cotação do dólar e também a quantidade de dólares disponível com o usuário.

RESPOSTA

var VALOR_DOLAR, VALOR_REAL, COTACAO_DOLAR : real;

inicioescreva(“Digite o valor da cotação do dólar ”);leia(COTACAO_DOLAR);escreva(“Digite sua quantidade em dolar”);leia(VALOR_DOLAR);VALOR_REAL = VALOR_DOLAR * COTACAO_DOLAR;escreva(“Seu valor em dólar convertido para real é”, VALOR_REAL);

fim.

i) Elaborar um programa que efetue a leitura de três valores (A, B e C) e apresente como resultado final a soma dos quadrado da soma dos três valores lidos.

RESPOSTA

var A,B,C,SQ: inteiro;

inicioescreva(“Digite o valor de A,B e C ”);leia(A,B,C);SQ = (A*A)+ (B*B)+ (C*C);escreva(“A soma dos quadrados de A,B e C é ”, SQ);

fim

7 Se o usuário entrar com os seguintes valores

5 19 11

O que será impresso no final:var

X : inteiro;A : inteiro;B : inteiro;

inicio leia (A);leia (B);X = A + B;se (X > 10) então

escreva X;fim se;

fim.

Page 9: Exercício resolvido

X A B5 19

24

8 Se o usuário entrar com os seguintes valores

7 9

O que será impresso no final:var

X : inteiro;R : inteiro;A : inteiro;B : inteiro;

inicio leia (A);leia (B);X = A + B;se (X >= 10) então

R = X + 5;se não

R = X - 7;fim se;escreva R;

fim.RESULTADO

X R A B16 21 7 9

21

9 Se o usuário entrar com os seguintes valores

560,75

O que será impresso no final:var

NOVO_SALARIO : real;SALARIO : real;

inicio leia (SALARIO);se (SALARIO < 500) então

NOVO_SALARIO = SALARIO * 1.15;se não

Page 10: Exercício resolvido

se (SALARIO <= 1000) entãoNOVO_SALARIO = SALARIO * 1.10;

se nãoNOVO_SALARIO = SALARIO * 1.05;

fim se;fim se;escreva NOVO_SALARIO;

fim.

RESULTADOSALARIO = 560,75NOVO_ SALRIO = 560,75*1,10 = 616,86

10 Indique a saída dos trechos de programa em português estruturado, mostrado abaixo. Para as saídas considere os seguintes valores: A = 2, B = 3, C = 5 e D = 9. Não é necessário calcular os valores de X. Marque na resposta apenas a fórmula que será executada de acordo com a condição.

a) Resposta _____________________________

se .nao. (D > 5) entãoX = (A + B) * D;

se nãoX = (A - B) / C;

fim se; escreva X;

se nao (D>5) entãose nao (9>5) entaose nao (V) entaose F entao45

b) Resposta _____________________________

se (A > 2) .e. (B < 7) entãoX = (A + 2) * (B - 2);

se nãoX = (A + B) / D * (C + D);

fim se; escreva X;

se F e V então=(A+B)/D*(C+D)=5/9*14=5/126=0,39

Page 11: Exercício resolvido

c) Resposta _____________________________

se (A = 2) .ou. (B < 7) entãoX = (A + 2) * (B - 2);

se nãoX = (A + B) / D * (C + D);

fim se; escreva X;

se F e V entao=(A+2)*(B-2)=4*1=4

d) Resposta _____________________________

se (A > 2) .ou. .nao. (B < 7) entãoX = (A + 2) - 2;

se nãoX = A - B;

fim se; escreva X;

se F ou nao V entaoF ou F=A-B= -1

e) Resposta _____________________________

se .nao. (A > 2) .ou. .nao. (B < 7) entãoX = A + B;

se nãoX = A / B;

fim se; escreva X;

se nao F ou nao V entaoV ou F=A+B= 5

f) Resposta _____________________________

se .nao. (A > 3) .e. .nao. (B < 5) entãoX = A + D;

Page 12: Exercício resolvido

se nãoX = D / B;

fim se; escreva X;

se nao F ou nao V entaoV e F=D+B= 3

g) Resposta _____________________________

se (C >= 2) .e. (B <= 7) entãoX = (A + D) / 2;

se nãoX = D * C;

fim se; escreva X;

se V e V entao= (A+D)/2=11/2 = 5,5

h) Resposta _____________________________

se .nao. (A >= 2) .ou. (C <= 1) entãoX = (A + D) / 2;

se nãoX = D * C;

fim se; escreva X;

se V ou F entao= (A+D)/2=11/2 = 5,5

11 Desenvolva os algoritmos em português estruturado:a) Ler dois números e apresentar a diferença do maior pelo menor.

RESPOSTAvar A,B: inteiro;

inicioescreva(“Digite 2 numeros A e B”);leia(A,B);se (A>B)entao

Page 13: Exercício resolvido

escreva(“A diferença de S por B é”, A-B); se não

escreva(“A diferença de B por A é”, B-A); fim se

fim

b) Efetuar a leitura de um valor inteiro positivo ou negativo e apresentar o número lido como sendo um valor positivo, ou seja, o programa deverá apresentar o módulo de um número fornecido. Lembre-se de verificar se o número fornecido é menor que zero; sendo,multiplique-o por -1.

RESPOSTA

var N: inteiro;

inicioescreva(“Digite o números: ”);leia(N);se (N < 0)entao N = N * (-1);

fim seescreva(“O modulo do numero é”, N);

fim

c) Ler quatro valores referentes a quadro notas escolares de um aluno e imprimir uma mensagem dizendo que o aluno foi aprovado, se o valor da média escolar for maior ou igual a 5. Se o aluno não foi aprovado, indicar uma mensagem informando esta condição. Apresentar junto das mensagens o valor da média do aluno para qualquer condição.

RESPOSTA

var

N1, N2, N3, N4, MEDIA: real;inicio

Escreva(“Digite os valores de N1,N2, N3 e N4”);leia(N1,N2, N3 , N4);

MEDIA = (N1+N2+ N3+N4)/4;se (MEDIA >= 7) entao

Escreva(“Aluno aprovado com média:” MEDIA); se não

Escreva(“Aluno reprovado com média:” MEDIA); fim se;fim

Page 14: Exercício resolvido

d) Efetuar a leitura de três valores (variáveis A, B e C) e apresentá-los dispostos em ordem crescente. Para solucionar o problema, utilizar os conceitos de propriedades distribuitivas e troca de valores entre variáveis.

RESPOSTA

varA,B,C; inteiro;M1,M2,M3: inteiro

inicio Escreva(“Digite os valores de A,B e C”);

leia(A,B,C);se (A>B) e(A>C) entao

M1= A;se (B>C) entao

M2 = B;M3 = C;

se naoM2 = C;M3 = B;

fim se;se nao

se (B>C)entaoM1 =B;

se (A>C)então M2= A; M3=C;

se nãoM2 = C;

M3 = A; fim se fim se

else

se (A>B)então M2= A;

M3=B;se não

M2 = B; M3 = A;

Page 15: Exercício resolvido

fim se

fim sefim

e) Efetuar a leitura de cinco números inteiros e identificar o maior e o menor dos valores. Não execute a ordenação dos valores.

RESPOSTA

var

N1, N2, N3, N4, N5: inteiro;MAIOR, MENOR: inteiro;

inicio

Escreva(“Digite 5 numeros”);leia(N1,N2, N3 , N4, N5);

MAIOR = 0; MENOR = 0;

se (N1 > MAIOR) entaoMAIOR = N1;

fim se; se (N2 > MAIOR) entao

MAIOR = N2; fim se; se (N3 > MAIOR) entao

MAIOR = N3; fim se; se (N4 > MAIOR) entao

MAIOR = N4; fim se;

se (N5 > MAIOR) entaoMAIOR = N5;

fim se;

MENOR = MAIOR

se (N1 < MENOR) entaoMENOR = N1;

fim se; se (N2 < MENOR) entao

MENOR = N2; fim se;

Page 16: Exercício resolvido

se (N3 > MENOR) entaoMENOR = N3;

fim se; se (N4 < MENOR) entao

MENOR = N4; fim se;

se (N5 < MENOR) entaoMENOR = N5;

fim se;

escreva(“O maior número: ” MAIOR); escreva(“O menor número: ” MENOR);fim.

12 Informe os valores das variáveis pedidas nos problemas e informe o resultado dos algoritmos abaixo.a) programa LOOPING_1A

varX, R : inteiro;CONT: inteiro;

inicioCONT = 1;enquanto (CONT <= 5) faça

leia (X);R = X * 3;escreva (R);CONT = CONT + 1;

fim enquanto;fim.

RESPOSTA

X R CONT2 6 19 27 25 15 33 9 44 12 5

6

6

27

15

9

12

Page 17: Exercício resolvido

b) programa LOOPING_2Avar

X, R : inteiro;CONT: inteiro;

inicioCONT = 1;repita

leia (X);R = X * 3;escreva (R);CONT = CONT + 1;

ate que (CONT > 5)fim.

RESPOSTA

X R CONT11 33 17 21 24 12 3

10 30 45

c) programa LOOPING_3Avar

X, R : inteiro;CONT: inteiro;

iniciopara CONT de 1 até 5 passo 1 faça

leia (X);R = X * 3;escreva (R);

fim para;fim.

RESPOSTA

X R CONT1 3 1

33

21

12

30

3

6

9

12

15

Page 18: Exercício resolvido

2 6 23 9 34 12 45 15 5

6

d) programa FATORIAL_Avar

CONTADOR : inteiro;FATORIAL: inteiro;

inicioFATORIAL = 1;CONTADOR = 1;enquanto (CONTADOR <= 5) faça

FATORIAL = FATORIAL * CONTADOR;CONTADOR = CONTADOR + 1;

fim enquanto;escreva (“Fatorial de 5 é = “, FATORIAL);

fim.

RESPOSTA

CONTADOR

FATORIAL

1 12 13 24 65 246 120

e) programa FATORIAL_Bvar

CONTADOR : inteiro;FATORIAL: inteiro;

inicioFATORIAL = 1;CONTADOR = 1;repita

FATORIAL = FATORIAL * CONTADOR;CONTADOR = CONTADOR + 1;

ate que (CONTADOR > 5)escreva (“Fatorial de 5 é = “, FATORIAL);

fim.

O Fatorial de 5 = 120

Page 19: Exercício resolvido

RESPOSTA

CONTADOR

FATORIAL

1 12 13 24 65 246 120

f) programa FATORIAL_Cvar

CONTADOR : inteiro;FATORIAL: inteiro;

inicioFATORIAL = 1;para CONTADOR de 1 ate 5 passo 1 faça

FATORIAL = FATORIAL * CONTADOR;fim paraescreva (“Fatorial de 5 é = “, FATORIAL);

fim.

RESPOSTA

CONTADOR

FATORIAL

1 12 13 24 65 246 120

13 Desenvolva os algoritmos em português estruturado: a) Apresentar os resultados de uma tabuada de um número qualquer, a qual deverá ser

impressa no seguinte formato:Considerando como exemplo o fornecimento do número 2 2x1 = 22x2 = 42x3 = 62x4 = 82x5 = 10(...)2x10 = 20RESPOSTA

O Fatorial de 5 = 120

O Fatorial de 5 = 120

Page 20: Exercício resolvido

var

N: inteiro;CONT: inteiro;

Inicio

leia(N);CONT=1;enquanto (CONT <=10) faça

escreva(N, “ x ”, CONT, “=”, NxCONT);CONT = CONT +1;

fim-enquanto

b) Apresentar o total da soma dos cem primeiros números inteiros (1+2+3+4+5+6+7+...97+98+99+100).

RESPOSTA

varN, CONT, SOMA: inteiro;

inicioSOMA = 0;para CONT de 1 ate 100 passo 1 faça

SOMA = SOMA + CONT; fim para; escreva(“A soma dos ”, N, “ números é”, SOMA);Fim;

c) Escreva um programa que apresente uma série de Fibonacci até o décimo quinto termo. A série de Fibonacci 1,1,2,3,5,8,13,21,34,... etc. Esta série se caracteriza peã soma de um termo posterior com o seu anterior subsequente.

RESPOSTA

varF, CONT, ANT, ATUAL: inteiro;

inicio

F=1; ANT=1;CONT=1;escreva (F);escreva (F);enquanto (CONT < 14) então

ATUAL

F ANT CONT

1 1 1 1

2 2 1 2

3 3 2 3

5 5 3 4

8 8 5 5

13 21 13 7

21 34 21 8

34 55 34 9

55 89 34 10

Page 21: Exercício resolvido

ATUAL = F;F=F+ANT;ANT=ATUAL;CONT=CONT+1;escreva(F);

fim-enquanto;

fim;

d) Elaborar um programa que efetue a leitura de 10 valores numéricos e apresente no final o total do somatório e a média dos valores lidos.RESPOSTA

var

N,S,M,CONT: inteiro;

inicio

S=0; para CONT de 1 ate 10 passo de 1 faça;

escreva(“Digite o ”, CONT ,”numero”); leia(N) S=S+N; fim para

M = S/10;escreva (“A soma dos 10 números é”, S);

escreva (“A média dos 10 números é”, M); fim

e) Elaborar um que efetue a leitura sucessiva de valores numéricos e apresente no final o total do somatório, a média e o total de valores lidos. O programa deverá fazer a leitura dos valores enquanto o usuário estiver fornecendo valores positivos. Ou seja, o programa deverá parar quando o usuário fornecer um valor negativo (menor que zero).RESPOSTA

var

N,S,M,VL: inteiro;

inicio

ATUAL

F ANT CONT

1 1 1 1

2 2 1 2

3 3 2 3

5 5 3 4

8 8 5 5

13 21 13 7

21 34 21 8

34 55 34 9

55 89 34 10

1 1 2 3 5 8 13 21 34 55 89 123 212 335 547

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Page 22: Exercício resolvido

N = 0; VL=0; S = 0; enquanto (N < 0) faça;

leia(“N”); se(N>0)entao S=S+N; VL = VL+1; fim se fim enquanto

M = S/VL;escreva (“Os valores lidos é ”, VL);

escreva (“A soma dos valores é”, S); escreva (“A média dos valores é”, M);fim

f) Elaborar um programa que efetue a leitura de valores positivos inteiros até que um valor negativo seja informado. Ao final deverão ser apresentado o maior e o menor valor informado pelo usuário.RESPOSTA

var

N,MAIOR, MENOR: inteiro;

inicio

leia(“N”);

se(N>0)entao

MAIOR = N; MENOR = N; enquanto (N > 0) faça;

se(N>MAIOR)entao

MAIOR = N;

fim se;

se(N< MENOR)entao

MENOR = N;

fim se;

leia(“N”);

fim enquanto

Page 23: Exercício resolvido

escreva(“O maior numero é ”, MAIOR); escreva(“O menor numero é ”, MENOR);

fim.

14 Qual será a impressão obtida para cada uma destas instruções? Assuma que fazem parte de um programa completo

a) printf(“Bom dia ! Shirley.”);printf(“Você já tomou café ?\n.”);

Bom dia ! Shirley. Você já tomou café ?

b) printf(“A solução não existe !\nNão insista.”);

A solução não existe !Não insista.

c) printf(“Duas linhas de saida\nou só Uma?”);

Duas linhas de saídaou só Uma?

15 Quais das seguintes instruções estão corretas ?a) (X) Int a;b) (X) Float b;c) Double float c;d) Unsigned char d;e) Long float e;

16 O que será impresso no fim das operações.

REVISANDO:

n=5x= n++x=5 n=6_________________________

n=5x= ++nx=6 n=6_________________________

k=3*n++1 – n é multiplicado por 32 – o resultado é atribuído a k3 – n é incrementado 1

Page 24: Exercício resolvido

_________________________

k=3*++n1 – n é incrementado 12 – n é multiplicado por 33 – o resultado é atribuído a ka) main(){

int i=3;int n;n=i*((i+1)+(++i));printf(“\n n = %d”, n);

}

i n3 =i*( (i+1)+(++i) =i*( 4+4) =3*8

n = 15

b) main(){int i=3;int n;n=i*(i+1)+(i++);printf(“\n n = %d”, n);

}

i n3 =i*( (i+1)+(i++) =3*4+(i++) =12*3

n = 15

c) main(){int i=3;int n;printf(“\n n = %d”, n=i*(i+1)+(++i));

}

i n3 =i*( (i+1)+(++i) =3*4+4 =12+4

n = 16

Page 25: Exercício resolvido

d) main(){int i=3;int n;printf(“\n n = %d”, n=i*(i+1)+(i++));

}

i n3 =i*( (i+1)+(i++) =3*4+3 =12+4

n = 16e) main(){

int i=3;printf(“\n n = %d %d %d ”,i=i+1, i=i+1, i=i+1);

}

i3

17 Qual será à saída do seguinte código?a) main(){

int total=0;int cont=10;printf(“Total =%d\n ”,total);total+=cont;printf(“Total =%d\n ”,total);total+=cont;printf(“Total =%d\n ”,total);

}

TOTAL CONT0 101020

18 Quais das seguintes opções são considerados operadores aritméticos básicos?

a (x) +b &c %d <

19 Dados os seguintes códigos, escreva qual será à saída dos comandos.

a) main(){ int conta; for(conta = 9; conta>=0; conta--)

6 5 4

TOTAL = 0 TOTAL = 10 TOTAL = 20

Page 26: Exercício resolvido

printf(“Conta=%d\n”,conta); }

CONTA98765

b) main(){ int conta; for(conta = 0; conta<10; conta+=3) printf(“Conta=%d\n”,conta); }

CONTA9

8765

20 As saídas dos programas serão?a) main(){ int conta, total; for(conta = 0; total = 0; conta<10; conta++){

total += conta; printf(“Conta=%d, Total=%d ”,conta, total);

} }

CONTA TOTAL0 0

1 12 33 64 10

CONTA= 9CONTA= 8CONTA= 7CONTA= 6CONTA= 5CONTA= 4CONTA= 3CONTA= 2CONTA= 1CONTA= 0

CONTA= 1CONTA= 3CONTA= 6CONTA= 9

CONTA= 0 , TOTAL= 0CONTA= 1 , TOTAL=1CONTA= 2 , TOTAL=3CONTA= 3 , TOTAL=6CONTA= 4, TOTAL=10CONTA= 5 , TOTAL=15CONTA= 6 , TOTAL=21CONTA= 7 , TOTAL=28CONTA= 8 , TOTAL=26CONTA= 9 , TOTAL=45CONTA= 10, TOTAL=55

Page 27: Exercício resolvido

5 156 217 288 369 4510 5511

b) main(){ int conta=0;

int total=0; while(conta<10){

total += conta; printf(“Conta=%d, Total=%d\n ”,conta++, total);

} }

CONTA TOTAL0 0

1 02 13 34 65 106 157 218 289 3610 4511 55

c) main(){ int num;

long resposta; while(1){

printf(“\n Digite o numero: ”); scanf(“%d”,&num); resposta = 1; while(num > 1)

resposta *= num --; printf(“O fatorial é : %1d\n”, resposta); break;}

}

CONTA= 0 , TOTAL= 0CONTA= 1 , TOTAL=1CONTA= 2 , TOTAL=3CONTA= 3 , TOTAL=6CONTA= 4, TOTAL=10CONTA= 5 , TOTAL=15CONTA= 6 , TOTAL=21CONTA= 7 , TOTAL=28CONTA= 8 , TOTAL=36CONTA= 9 , TOTAL=45CONTA= 10, TOTAL=55

Page 28: Exercício resolvido

NUM RESPOSTA3 12 31 6

O FATORIAL É 6