1. Resolva os exercícios (desafios) abaixo: a) Qual o valor da expressão abaixo? Por quê? R = (a-x)*(b-x)*(c-x)*(d-x)*...*(z-x) Solução: Na expressão acima, o subtraendo (x) é fixo e o minuendo evolui em ordem alfabética (de a até z). Portanto, existirá um termo (x-x) em que o resultado será zero e será um fator de multiplicação. Logo, o resultado da expressão será zero. b) Daniela é mais jovem do que Adriano; Carlos é mais velho do que Adriano. Indique quais são as conclusões Falsas e quais são verdadeiras. Solução: Daniela < Adriano Carlos < Adriano Logo, Daniela < Carlos Adriano é mais velho do que Carlos. V Carlos é mais velho do que Adriano e Daniela. V Carlos e Adriano têm a mesma idade. F Daniela é a mais jovem dos três. V Pensar sobre o exercício substituindo a afirmação Carlos é mais velho do que Adriano por Carlos é mais velho do que Daniela. c) Três senhoras dona Branca, dona Rosa e dona Violeta passeavam pelo parque quando dona Rosa disse: Não é curioso que estejamos usando vestidos de cores branca, rosa e violeta, embora nenhuma de nós esteja usando um vestido de cor igual ao seu próprio nome? Uma simples coincidência respondeu a senhora com o vestido violeta. Qual a cor do vestido de cada senhora? Solução: Dona Rosa poderia estar com vestidos da cor branca ou violeta, porém recebeu uma resposta da senhora com o vestido na cor Violeta. Portanto, dona Rosa só pode estar com o vestido de cor branca. A partir disso, é possível inferir que dona Violeta (que poderia estar de branco ou rosa) está com o vestido de cor rosa. Por fim, dona Branca está com o vestido de cor violeta. d) Um homem precisa atravessar um rio com um barco que tem capacidade de carregar o piloto e mais uma de suas três cargas, que são: um lobo, um bode e um maço de alfafa. O que o homem deve fazer para conseguir atravessar o rio sem perder suas cargas? Escreva um algoritmo mostrando a resposta, ou seja, indicando todas as ações necessárias para efetuar uma travessia segura. Solução: 1. Levar o bode para o outro lado do rio; 2. Voltar sem carga; 3. Levar o lobo para o outro lado do rio; 4. Voltar com o bode; 5. Levar a alfafa para o outro lado do rio; 6. Voltar sem carga; 7. Levar o bode para o outro lado do rio. e) Um pai preocupado com a saúde de seus filhos quer que eles comam maçãs, mas não sabe fazer a distribuição. Se distribuir 5 maçãs para cada filho, vão lhe sobrar quatro, se distribuir 6, vai faltar uma. Quantos filhos e quantas maçãs ele tem? filhos x maças y 1
2 i. 6x-1=5x+4 ii. 6x-5x=4 +1 iii. x = 5 (filhos) iv. 6x-1=y v. 6*5-1=y vi. y=29 (maças) 2. Encontre os identificadores inválidos: a) $Salário b) Salário$ c) A[1] d) xkh e) Alfa2 f) 2Vizinhos g) val0r o) betateste h) valor i) a>b j) a+b k) qwert l) guarda_chuva m) U.F. n) Diaadia 3. Supondo que as variáveis NB, NA, NMat, SX sejam utilizadas para armazenar a nota de um aluno, o nome do aluno, o número da matrícula e o sexo, declare-as corretamente, associando o tipo primitivo adequado ao dado que será armazenado. ALGORITMO notas; VAR NB REAL; NMat: INTEIRO; {ou definir como NMat: string;} NA, SX: STRING; <comandos>; 4. Apresente o resultado para cada expressão. a. 2*4=24/3 V b. 5mod4<19mod6 F c. 3*5div4<=pot(3,2)/0.5 V d. 2+8mod7>=3*6-15 V 5. Considere a sequência apresentada abaixo e responda qual o valor armazenado na variável segurado. i. idade = 28 ii. valor = 1000.00 iii. fator = 0.05 iv. segurado = idade < 30 e valor*fator 500.00 Solução: 28<30 e 50 <=500.00 V e V V 6. Determine os resultados das expressões abaixo, considerando os valores 2, 7 e 3.5 para as variáveis A, B e C, respectivamente. Considere também uma variável lógica L, cujo valor é falso (F): a) 2<5 e 15/3=5 V b) 2<5 ou 15/3=5 V c) F ou 20 div(18/3) <> (21/3) div 2 F
3 d) não V ou pot (3,2)/3 <15-35 mod 7 V e) não ((5<> 10/2) ou V e 2 5 > 5 2 ou V) F f) pot (2,4) <> 4 + 2 ou 2 + 3 * 5/3 mod 5 > 0 V g) B = A * C e (L ou V) V h) B > A ou B= pot(a,a) V i) L e B div A >=C ou não A <= C F j) não L ou V e rad(a+b) >=C V k) B/A = C ou B/A <> C V l) L ou pot (B,A) <= C * 10 + A*B V 7. Determine o resultado de cada expressão, considerando X=1, A=3, B=5, C=8 e D=7. a) não (X>3) V b) (X<1) e não(b>d) F e V = F c) não (D<0) e (C>5) V e V = V d) não (X>3) ou (C<7) V ou F = V e) (A>B) ou (C>B) F ou V = V f) (X>=2) F g) (X<1) e (B>=D) F e F = F h) (D<0) ou (C>5) F ou V = V i) não (D>3) ou não(b<7) F ou F = F j) (A>B) ou não (C>B) F ou F = F 8. As variáveis A, B e C são variáveis do tipo inteiro, com valores 5, 10 e -8, respectivamente. Existe uma variável D que armazena o valor 1.5. Apresente os resultados para: a. 2 * A mod 3 C 12 b. sqrt( 2 * C) div 4 1 c. (30 % 4 * pot (3,3)) * 1-54 d. pot ( C,2) + (D * 10) /A 67 e. rad (pot (A, B/A)) + C * D -4.5 9. Descreva a sequência de passos necessária para: a. Fritar um ovo b. Trocar um pneu furado 10. Faça um algoritmo para ler dois números. O primeiro valor deve ser armazenado em uma variável de nome A e o segundo na variável B. Realize a troca, tal que B armazena o valor de A e A o valor de B. Após a troca, imprima os resultados. ALGORITMO efetuar_trocas; VAR a, b, troca: REAL; ESCREVA ( Digite o primeiro número: ); LEIA (a); ESCREVA ( Digite o primeiro número: ); LEIA (b); troca:=a; a:=b; b:=troca; ESCREVA ( O valor de a é:, a); ESCREVA ( O valor de b é:, b);
4 11. Uma loja de equipamentos eletrônicos necessita de um algoritmo (programa) para realizar a conversão de Dólar para Real, assim como de Euro para Real. O algoritmo deve ler a cotação do dia (Euro e Dólar) e o valor para conversão. Escreva o algoritmo mencionado, capaz de apresentar os valores lidos e os resultados obtidos. ALGORITMO conversao; VAR cotacao_dolar, cotacao_euro, valor_dolar, valor_euro: REAL; ESCREVA ( Digite a cotação do Dólar: ); LEIA (cotacao_dolar); ESCREVA ( Digite a cotação do Euro: ); LEIA (cotacao_euro); ESCREVA ( Digite o valor para conversão - Dólar: ); LEIA (valor_dolar); ESCREVA ( Digite o valor para conversão - Euro: ); LEIA (valor_eduro); ESCREVA ( Valor em $, valor_dolar, representa R$, valor_dolar/cotacao_dolar); ESCREVA ( Valor em, valor_euro, representa R$, valor_euro/cotacao_euro); 12. O proprietário de uma lanchonete deseja informatizar o seu estabelecimento. Elabore um algoritmo para ler o número da mesa e a quantidade dos itens consumidos, definidos em um cardápio resumido. O algoritmo deve calcular 10% sobre a conta, valor este referente aos serviços prestados. O algoritmo deve permitir ler itens contidos no cardápio, que são: Refrigerante 2.50; Cerveja 4.00; Pizza 47.30; Almoço 15.00; Porção 10.50. ALGORITMO conta; VAR num_mesa, qtd_refri, qtd_cerv, qtd_pizza, qtd_alm, qtd_porcao: inteiro; total: real; ESCREVA ( Lanchonete QUASE DOIS ); ESCREVA ( Informe o número da mesa: ); LEIA(num_mesa); ESCREVA ( Digite as quantidades consumidas - mesa :, num_mesa); ESCREVA ( Refrigerante: ); LEIA (qtd_refri); ESCREVA ( Cerveja: ); LEIA (qtd_cerv); ESCREVA ( Pizza: ); LEIA (qtd_pizza); ESCREVA ( Almoço: ); LEIA (qtd_alm); ESCREVA ( Porção: ); LEIA (qtd_porcao); ESCREVA (qtd_refri, Refrigerante (s): R$, qtd_refri*2.5); ESCREVA (qtd_cerv, Cerveja (s): R$, qtd_cerv*4.0); ESCREVA (qtd_ pizza, Pizza (s): R$, qtd_ pizza *47.3); ESCREVA (qtd_alm, Almoço (s): R$, qtd_alm *15.0); ESCREVA (qtd_porcao, Porções: R$, qtd_ porcao *10.5); Total:= qtd_refri*2.5 + qtd_cerv*4.0 + qtd_ pizza *47.3+ qtd_alm *15.0+ qtd_ porcao *10.5+ qtd_ porcao *10.5; ESCREVA ( Total:, total); ESCREVA ( Total com 10%:, total+ total*0.1);
5 13. Faça um algoritmo para ler os valores a, b, c, d, e, f e determinar o valor de x, a partir da equação: b a + X = c + 4a e d 2 * f ALGORITMO equacao; VAR a,b,c,d,e,f,x: real; ESCREVA ( Digite os valores para: ); ESCREVA ( a: ); LEIA(a); ESCREVA ( b: ); LEIA(b); ESCREVA ( c: ); LEIA(c); ESCREVA ( d: ); LEIA(d); ESCREVA ( e: ); LEIA(e); ESCREVA ( f: ); LEIA(f); ESCREVA ( A equação x=((a+b/c)/(d-2*(e/f)))+4*a resulta em: ); x:=( (a+b/c) / (d-2*(e/f)) ) + 4*a; ESCREVA (x);