34
Fundamentos de Programação Universidade Lusófona de Humanidades Tecnologias

FP Teorica Resumo Exame

Embed Size (px)

Citation preview

Page 1: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades Tecnologias

Page 2: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades Tecnologias

y Resumo da aula teórica n^ 7

> Estruturas de Controlo I - Selecção> Selecção Simples

> if - then

- Permite decidir entre executar ou não umconjunto de instruções.

> Selecção Alternativa> if - then - else

- Permite escolher de entre 2 conjuntos deinstruções qual deles deve ser executado

> else-if

-“... continua sequencialmente até que umaexpressão seja verdadeira ou sejam todas falsas …”

> Selecção Múltipla> switch

- É usada essencialmente para selecção devariáveis discretas

Page 3: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades Tecnologias

^ Aula 1

> Introdução à cadeira

> Generalidades sobre a linguagem de programação JAVA

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página3de 17

Page 4: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades Tecnologias

> Aula 2

• Definição de algoritmo• Definição de programa• Ciclo simplificado de desenvolvimento de programas

• Abstracção• Sintaxe• Semântica• Compilador• Interpretador• Programação imperativa• Programação funcional• Programação em lógica• Programação orientada a objectos

Page 5: FP Teorica Resumo Exame

1º Semestre 2007/2008 Prof. Sérgio [email protected]

Aula Teórica 8

Página 4 de 17

Page 6: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades Tecnologias

> Aula 3

> Exemplificação de processo de análise paraum problema simples>Pseudo-código>Fluxograma>Definição de cenários de teste>Alterações propostas

> Estrutura de um programa>Declarações >Instruções > Comentários

> Sintaxe de uma linguagem>Palavras reservadas >Símbolos >Identificadores >Valores

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página5de 17

Page 7: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades Tecnologias

> Aula 4

>Alocação de espaço de trabalho para um programa, num computador

>Variáveis>Tipos de dados>Propriedades de uma variável>Constantes>Tipos de dados básicos em JAVA>Operadores nativos

>Classes de operadores>Expressões

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página6de 17

Page 8: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades Tecnologias>Aula 5

> Ordem de avaliação dos operadores numa expressão- Parêntesis da expressão- Precedências dos operadores, previamente definidas

- Associatividade dos operadores, previamente definidas

- Operadores unários- Conversão de tipos de dados

- Entre mesmo tipo de dados- Entre tipos de dados diferentes

- Converter para maior precisão- Converter para menor precisão

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página7de 17

Page 9: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades Tecnologias

> Aula 6

> Input em JAVA

> Output em JAVA

> Sequência de expressões acompanhado com inputs do utilizador e output para o utilizador

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página8de 17

Page 10: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades Tecnologias

> Aula 7

> Estruturas de controlo genericamente

>Selecção Simples

> Selecção Alternativa

> Selecção Múltipla

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página9de 17

Page 11: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades TecnologiasExercícios Aula 1

• Exemplifique 2 tipos de aplicações distintas que podem ser implementadas na linguagem de programação JAVA.

• A linguagem de programação JAVA permite a portabilidade de código entre sistemas operativos ?

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página10de 17

Page 12: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades TecnologiasExercícios Aula 2

Page 13: FP Teorica Resumo Exame

O que é um algoritmo ? Exemplifique.O que é um programa ? Exemplifique.Diga o que é a abstracção e explique as suas vantagens. Exemplifique abstracção.O que é a sintaxe de uma linguagem? Exemplifique.Exemplifique algumas palavras reservadas de uma linguagem de programação.Diga o que é a semântica de uma linguagem? Exemplifique.Diga, exemplificando, o que é um interpretador ?Qual é a diferença entre um compilador e um interpretador ?Para que seja possível executar sourcecode na linguagem de programação JAVA deve usar um compilador ou um intrepretador ?Enuncie os diferentes paradigmas de linguagens de programação que conhece.Em que paradigma de linguagem de programação se inserem as seguinte linguagens de programação ? Justifique.– JAVA,– C,– Prolog,– Scheme,– C++.

Page 14: FP Teorica Resumo Exame

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página11de 17

Page 15: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades Tecnologias

Exercicios Aula3

Enumereosconstituintes da sintaxe de uma linguagem de programação imperativa.

Elaborar um algoritmo, usando pseudo-código e fluxograma para os seguintes enunciados:

• “calcular a média de um conjunto de números inteiros que se sabe terminar com um número negativo.”

> “todos os dias os empregados de uma empresa marcam o ponto à chegada de manhã, à saída para almoço, à entrada depois do almoço e ao fim do dia.”

> “calcular o vencimento de um funcionário de uma empresa no final de um mês. Ao vencimento base do funcionário juntam-se as horas extras que fizer. As horas extras são pagas pela seguinte fórmula:> Entre 1-10 horas 1/50 vencimento> entre 11-20 horas 1/45 vencimento”

> “calcular a área total das paredes de uma caixa desecção rectangular a partir das suas dimensões”

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página12de 17

Page 16: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades TecnologiasE i i A l 4

> Em que componente física do computador residem as variáveis declaradas num programa?> É obrigatório declarar uma variável e inicializá-la ?> Quais os cuidados a ter, na codificação, quando não se inicializa uma variável ?> Qual é a forma geral para declaração de variáveis numa linguagem imperativa ?> Qual é a diferença entre variáveis e constantes ?> Em que situações se deve optar por usar variáveis ou por usar constantes ?> Declare uma variável de nome carrinho_compras do:

1. tipo inteiro.2. tipo virgula flutuante de precisão simples.3. tipo virgula flutuante de precisão dupla.4. tipo inteiro, inicializada a zero.5. tipo virgula flutuante de precisão simples, inicializada a zero.6. tipo virgula flutuante de precisão dupla, inicializada a zero

> Declare uma variável de nome carrinho_cheio do :1. tipo boleano.2. tipo boleano, inicializada a falso

> Declare uma variável de nome estado_do_carrinho do:1. tipo caracter.2. tipo caracter, inicializada a vazio.

> Dos seguintes valores quais são válidos em JAVA e quais não são válidos ? Indique o respectivo tipono primeiro caso e justifique o segundo

0,82.5E-1 a x16

> Numa linguagem de programação imperativa quais as caracterítiscas que diferenciam os tipos de dados ?> Na linguagem de programação JAVA, em que diferem os tipos de dados byte, short, int ou long ?> Qual é a diferença entre um operador e um operando ?> Identifique se cada uma das seguintes expressões estão correctas:

integer d; float i; double f;int a , b , c;char char;int Xpto , xPTo;char c1 , double c2;double v = 1.23 , y, z = 5;double v = 1.23 , y, y = 5;

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página13de 17

Page 17: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades Tecnologias

Aula 5 - exercicios • Qual a ordem de execução e resultado final de cada uma das seguintes expressões ?

2.5 + 6 % 4 * 2.1(3 + 5 / 2) >= (1 - 4 % 2)x = 3 == 48 - 1 != 3 + 4'a' < 'b' || 'c' < 'a'(!a && b) || (a || !b) , onde a=true e b=false1+2*3/4-5*6/(7+8)resultado = ( i ++ * 8 ) / (int) ( 6 % -- j + 4.1 ) – i * j;

• Qual é o valor de resultado nas duas situações ? E da variável i ?float i=10; float resultado; resultado = i -- * 2.5;

float i=10; float resultado; resultado = -- i * 2.5;

• Quais os valores finais de x, y e z ?/* Programa exemplo para variáveis do mesmo tipo de dados */int x=4;int y;int z=1;y = x + z;x = x * 2;z = y - x;

• Qual o valor da variável total ? Qual o tipo de dados de “(i ++* 2.5)” ? Qual o tipo de dados, final, de i ? Qual o tipo dedados, final, de total ?

/* Programa exemplo para variáveis de tipos de dados diferentes */short i = 11;double total;total = (i ++* 2.5) / 6;

• Quais os valores calculados em x ?double x , y = 6.3 , z = 2.2;x = y / z;x = (int) y / z;x = y / (int) z;x = (int) y / (int) z;x = (int) (y / z);

• Qual o valor de total ? Qual o valor de total2 ? Qual o valor de i ? Qual o valor de j ?short i = 22 , j = 5;double total , total2;total = (double) (( i ++ * 8 ) / ( 6 % -- j + 4 ));total2 = ( i ++ * 8 ) / (int) ( 6 % -- j + 4.1 );

•Como fazer a desmultiplicação da expressão: ”total = (double) (( i ++ * 8 ) / ( 6 % -- j + 4 ));” em várias expressões ?

•Explique, a forma de resolução de ambiguidades, entre operadores, na linguagem de programação JAVA.•Qual é a diferença entre apresentar um operador unário à direita ou à esquerda do operando ?

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página14de 17

Page 18: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades TecnologiasExercícios Aula 6

– Qual a entidade computacional que asseguraos input e os outputs invocados pela linguagem de programação ?

– Escreva um programa, que recebe um valor de vírgula flutuante, representando uma nota quantitativa de um aluno (entre 0 e 20) permita a sua apresentação, ao utilizador, numa nota qualitativa, de acordo com a seguinte definição:

18 a 20 -> Muito Bom14 a 17 -> Bom

10 a 13 -> Suficiente5 a 9 -> Mediocre

0 a 4 -> Mau

Page 19: FP Teorica Resumo Exame

Desenvolva um programa que o ajude a calcular a nota de um aluno, sabendo que esta é definida da seguinte forma = 50% médias das 2 frequências + 50% projecto

Page 20: FP Teorica Resumo Exame

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página15de 17

Page 21: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades TecnologiasExercícios Aula 7

– Escreva um programa para verificar se um ano é bissexto. Um ano é bissexto se fôr divisível por 4 e não fôr divisível por 100, a não ser que seja também divisível por 400. Por exemplo, 1984 é bissexto, 1100 não é e 2000 é bissexto.

– Em que condições se deve optar por selecção alternativa ou por selecção múltipla ?– Escreva um programa para calcular a soma dos dígitos de um número inteiro, do tipo

short. Por exemplo, 12345 tem o valor 15. Sugestão: use as funções de / e % para cálculo da divisão e resto inteiro entre 2 números.

• Escreva um programa que seja capaz de identificar se um nº é par ouímpar. Considere os seguinte passos:– Ler um nº inteiro do teclado – Validar se o nº é par

• Se sim, escrever no ecrã: “o nº é par”• Se não, escrever no ecrã: “o nº é ímpar”

• Defina um programa que permita transformar a nota de um determinadoaluno entre a escala 0 a 20 para E a A, onde:

A – [18 a 20] B – [15 a 17] C – [10 a 14]D – [5 a 9]E – [0 a 4]

Peça ao utilizador a nota na escala 0..20. No final, espera-se que o programa apresente a nota na escala E a A.

• Repita o exercicio anterior, agora usando selecção múltipla comoestrutura de controlo para as notas de 0...20

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página16de 17

Page 22: FP Teorica Resumo Exame

Fundamentos de Programação Universidade Lusófona de Humanidades Tecnologias

>Dúvidas ?

1º Semestre 2007/2008 Prof. Sérgio Guerreiro Aula Teórica [email protected] Página17de 17