Você está na página 1de 8

Programao

Folha Prtica 3 Lab. 3

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

Lab. 3 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

F uma varivel com valor real em graus Fahreneit.

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.

Exerccio 3.6 (atribuio a variveis inteiras e reais)


Escreva uma instruo de atribuio para cada uma das seguintes aces: a) A varivel I incrementada de uma unidade. b) M uma cpia do valor de X.

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.

Exerccio 3.7 (atribuio a variveis lgicas)


Escreva uma instruo de atribuio para cada uma das seguintes aces: a. A varivel lgica L verdadeira se e s se L1 e L2 forem ambas falsas. b. A varivel lgica VALOR verdadeira se e s se X maior que Y. c. A varivel lgica L verdadeira se e s se L1 verdadeira mas no L2. d. BOOL verdadeira se e s se os inteiros I e J forem iguais em valor absoluto. e. LOGIC verdadeira se e s se M for o dobro de N. f. CONSOANTE verdadeira se e s se a varivel carcter LETRA for uma consoante minscula. g. XOR verdadeira se e s se apenas uma das variveis B1 ou B2 for verdadeira. h. PAR verdadeira se e s se o inteiro N for par. i. BISSEXTO verdadeira se e s se a varivel inteira ANO for divisvel por 4 mas no por 100 ou ento for divisvel por 400.

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.

k. VOGAL verdadeira se e s se a varivel carcter CAR for uma vogal. l.

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.

Exerccio 3.8 (escrita de expresses)


Escreva uma expresso em linguagem C para cada uma das seguintes condies: a) x maior que 56. b) z no 9. c) y no mximo 100. d) x divisvel por 2. e) x est entre 0 e 10 inclusivamente. f) x ou y 20. g) x maior que y, o qual maior que z. h) A soma de x e y negativa. i) j) l) y tem o valor 73. Metade de z pelo menos 20. x maior que 5 e menor que 5.

k) x e y so ambos positivos. m) x no igual a 0 e y no negativo.

Exerccio 3.9 (regras de precedncia)


Coloque parnteses nas seguintes expresses por forma a indicar a ordem de execuo das operaes nelas includas: a) x % 10 == 5 b) x < 15 || !y > 0 c) x != z <= 3 d) x >= y && z == 3

e) x = y>0 f) x || y && !z

Exerccio 3.10 (clculo de expresses)


Supondo que x=5, y=3 e z=8, determine o valor das seguintes expresses: a) x == 5 b) x = 7 c) x == z d) x = z e) x < y && y < z f) z < x && x < y g) x = y< z h) !(x > y) i) x > z && z < y

Você também pode gostar