exercício resolvido
TRANSCRIPT
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
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;
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
( ) -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”
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
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
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
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.
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
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
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;
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
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
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;
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;
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
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
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
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
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
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
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
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
_________________________
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
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
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
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
NUM RESPOSTA3 12 31 6
O FATORIAL É 6