Escolar Documentos
Profissional Documentos
Cultura Documentos
Departamento de Informtica Universidade da Beira Interior Portugal 2010 Copyright ! 2010 All rights reserved.
LAB. 3
1. Reviso de conceitos fundamentais sobre expresses e instrues 2. Objectivos 3. Exerccios Nota: Os exerccios 3.6 e seguintes sero em parte tratados na aula terica.
3 semana
EXPRESSES E INSTRUES
1.
Reviso
1. Arquitectura de Von-Newman: E/S + CPU + Memria 2. Instruo de atribuio: = 3. Operadores Aritmticos: +, -, *, /, % 4. Operadores Relacionais: <, >, <=, >=, ==, != 5. Operadores Lgicos: &&, ||, ! 6. Tipos de expresses: aritmticas, relacionais e lgicas. 7. Regras precedncia de operadores em expresses. 8. Operadores de incrementao e decrementao: ++x, x++, --x, x-9. Operador de converso explcita de tipo de dados (casting): (novo_tipo) tipo 10. Operador sizeof 11. Operador condicional: condicao ? expresso : expresso 12. Regras de precedncia a associatividade entre expresses. 13. Ciclo bsico de Desenvolvimento de Programas: - Edio ! Compilao ! Execuo - Edio: gedit nome_programa.c - Compilao: cc o nome_programa.exe nome_programa.c
2.
Objectivos
No final deste mdulo prtico, o aluno deve ser capaz de dominar os conceitos de expresso e de instruo. Alm disso, deve ser capaz de: 1. Usar variveis, expresses e instrues em programas. 2. Usar funes matemticas definidas no ficheiro math.h. 3. Atribuir valores a variveis inteiras e reais. 4. Atribuir valores a variveis lgicas.
5. Escrever expresses sinttica e semanticamente correctas. 6. Aplicar regras de precedncia de operadores em expresses. 7. Prever o resultado do clculo de expresses.
3.
Exerccios
Exerccio 3.1
Escreva um programa que converta o tempo em ss no tempo em hh.mm.ss, em que ss representa os segundos, mm representa os minutos, e hh representa as horas. O algoritmo : 1. Pedir o tempo em segundos. 2. Ler o tempo em ss (segundos). 3. Calcular as horas hh existentes na quantidade ss. 4. Calcular os minutos mm nos segundos restantes (aps retirar as horas hh a ss); 5. Calcular os segundos restantes aps retirar as horas e os minutos a ss; 6. Escreva no ecr o valor das horas (hh), dos minutos (mm) e dos segundos restantes (ss).
Exerccio 3.2
Escreva um programa que determine a parte inteira e a parte fraccionria dum nmero real.
O algoritmo :
1. Pedir um nmero real. 2. Ler um nmero real. 3. Determinar a parte inteira do nmero real. 4. Determinar a parte fraccionria do nmero real; 5. Escreva para o ecr a parte inteira e parte fraccionria do nmero real.
Exerccio 3.3
Escreva um programa que leia um nmero decimal de trs dgitos a partir do teclado e que escreva no ecr a correspondente expanso na base 10. Por exemplo, o nmero 937 ter a seguinte sada no ecr: 937 = 7 * 1 + 3 * 10 + 9 * 100. Nota: Para extrair o dgito 3, obtemos 93 atravs da diviso inteira de 930 por 10. Tendo o resultado 93, o usamos o resto da diviso inteira de 93 por 10 para obter o digito pretendido.
Exerccio 3.4
Escreva um programa que converta um valor real em graus Fahreneit num valor em graus Celsius.
O algoritmo :
1. Pedir ao utilizador um valor real em graus Fahreneit; 2. Calcular o respectivo valor em graus Celsius; 3. Escrever no ecr o valor em graus Celsius. Nota: A frmula de converso F = C + 32 , em que C uma varivel com valor real em graus Celsius e
9 5
Exerccio 3.5
Escreva um programa que calcule o valor da seguinte funo matemtica: F(x,y)=2 sin(x) + cos(y) - tan(x+y) Nota: A utilizao das funes matemticas sin, cos e tan requer a incluso da directiva #include<math.h> no programa e a opo de compilao lm de modo a permitir juntar o cdigo da biblioteca matemtica ao ficheiro executvel.
c) Q o valor da diviso inteira dos inteiros I e J. d) X o valor da diviso real dos inteiros I e J. e) I o valor arredondado do real X. f) I o maior inteiro inferior ou igual a X positivo. g) M o inteiro mais prximo da mdia dos reais A e B. h) A varivel t20 toma o valor da tangente de 20 graus. i) j) Dado n inteiro no nulo, a varivel inteira SINAL toma o valor 1 se n for positivo e 1 se n for negativo. U toma o valor do algarismo das unidades do real X.
k) R toma o valor de x se x for no negativo, ou de -x no caso contrrio. l) Z toma o valor do mdulo de Y elevado a X. m) ALFA o ngulo (em graus) cuja tangente x. n) y toma o valor da expresso y+4x+3x2 +2x3 +x4 . o) z toma o valor da expresso log7(3x2+6) . p) A varivel inteira PAR vale 1 se N for par e 2 se N for mpar. q) A varivel inteira ALTR toma o valor de (-1)N com N inteiro. Escreva programas que lhe permitam verificar a correco das aces anteriores.
j.
NULL verdadeira se e s se I for mltiplo de J (ambos inteiros). COMPLEX verdadeira se e s se a equao ax2+bx+c=0 tem razes complexas.
m. DIGITO verdadeira se e s se a varivel carcter CAR representa um algarismo decimal. Escreva programas que lhe permitam verificar a correco das aces anteriores.
e) x = y>0 f) x || y && !z