Instituto Politécnico de Setúbal. Escola Superior de Tecnologia. Departamento de Sistemas e Informática. Aulas de Laboratório

Tamanho: px
Começar a partir da página:

Download "Instituto Politécnico de Setúbal. Escola Superior de Tecnologia. Departamento de Sistemas e Informática. Aulas de Laboratório"

Transcrição

1 Instituto Politécnico de Setúbal Escola Superior de Tecnologia Departamento de Sistemas e Informática Aulas de Laboratório Disciplina de Introdução à Programação Ano Lectivo 2004/2005

2 Série 1: Introdução ao Ambiente de Desenvolvimento 1. Criação de Projectos Ao longo desta série serão seguidas as instruções do guia Instalação e utilização do Gel que indicam o modo de criar um projecto, criar classes, associar ficheiros, compilar, executar,etc. É aconselhavel, para cada um dos exercícios que se seguem, criar uma directoria individual e nela criar o projecto. Assim termos por exemplo: C:\My Documents\Projectos\Exemplo1\ficheiros do projecto Este guia destina-se à prática de utilização do ambiente de desenvolvimento de modo a existir um primeiro contacto com: 1. O sistema de janelas do GEL 2. O sistema de Directorias e Ficheiros 3. Os projectos do GEL 4. O processo de escrita, compilação e execussão de programas 5. A linguagem JAVA Não é o objectivo deste guia a compreensão total do código Java nos exemplos seguintes 2/32 DSI

3 2. Exemplos Exemplo 1 Enunciado: Escreva um programa em Java que imprima uma frase. Código: public class Exemplo1 { public static void main(string[] args) { System.out.println("Este é um programa simples"); Exemplo 2 Enunciado: Escreva um programa em Java que peça ao utilizador um número inteiro e o imprima. Código: public class Exemplo2 { public static void main(string[] args) { System.out.println("Introduza um número inteiro"); int num=le.umint(); System.out.println("O número lido é "+num); DSI 3/32

4 Exemplo 3 Enunciado: Escreva um programa em Java que peça ao utilizador dois números inteiros, os imprima e imprima a sua soma. Código: public class Exemplo3 { public static void main(string[] args) { System.out.println("Introduza 2 números inteiros"); int num1=le.umint(); System.out.println("O nº é "+num1); int num2=le.umint(); System.out.println("O nº é "+num2); int num3=num1+num2; System.out.println("A soma de "+num1+"+"+num2+" é "+num3); Exemplo 4 Enunciado: Escreva um programa em Java que calcule a area e o perimetro de uma circunferência a partir do seu raio.. Código: public class Exemplo4 { public static void main(string[] args) { double area, perimetro; double PI= ; System.out.println("Este programa calcula o perimetro e a area de uma circunferência a partir do seu raio"); System.out.println("Qual o raio da circunferência?"); double raio = Le.umDouble(); area = PI * raio * raio; perimetro = 2 * PI * raio; System.out.println("Raio = "+raio); System.out.println("Area = "+area); System.out.println("Perimetro = "+perimetro); 4/32 DSI

5 Exemplo 5 Enunciado: Escreva um programa em Java que peça ao utilizador um número e diga se esse número é negativo ou positivo. Código: public class Exemplo5 { public static void main(string[] args) { float a; System.out.println("Introduza um número"); a = Le.umFloat(); if (a<0) { System.out.println("O número "+a+" é negativo"); else { System.out.println("O número "+a+" é positivo"); Exemplo 6 Enunciado: Altere o programa anterior de modo a que sejam pedidos números até ser introduzido o valor zero. Código: public class Exemplo6 { public static void main(string[] args) { float a; do { System.out.println("Introduza um número"); a = Le.umFloat(); if (a<0) { System.out.println("O número "+a+" é negativo"); else if (a>0) { System.out.println("O número "+a+" é positivo"); else { System.out.println("O número "+a+" não é positivo nem negativo"); while (a!=0); DSI 5/32

6 Exemplo 7 Enunciado: Escreva um programa em Java que imprima os números inteiros de 4 a 10 inclusive. Código: public class Exemplo7 { public static void main(string[] args) { int i; for (i=4;i<=10;i++) { System.out.println("i é: "+i); 6/32 DSI

7 Série 2: Tipos Primitivos Objectivos da Série: Com esta série de problemas pretende-se que o aluno: 1. Aprenda a escolher o tipo de dados elementar mais apropriado à representação de quantidades inteiras. 2. Domine a utilização de tipos primitivos de dados Exercício 1 Mostre como podem os seguintes identificadores ser associados aos respectivos tipos de dados: indice -> inteiro cmax -> real cmin -> real codigo -> caracter estado -> booleano Exercício 2 Qual o valor das expressões constantes da tabela 1? Escreva um programa para verificar as soluções por si encontradas. 12*13/5% /13/5% %13/5% /5% /5% Tabela 1 Exercício 3 O programa da figura 1 usa o tipo de dado elementar short: class ShortEg { public static void main ( String[] args ) { short value = 32; System.out.println("A short: " + value); Figura 1 Alínea A Crie um ficheiro denominado ShortEg.java, compile-o e corra-o. Verifique o que o programa escreve no painel de mensagens. Alínea B Edite o programa e altere o valor 32 para um outro valor inteiro relativamente baixo, digamos 356. Compile e corra o programa. Em principio tudo deve correr bem. Alínea C Altere o valor para e tente compilar o programa. O que é que acontece? Porquê? Edite o programa e altere a palavra short para int. Compile e corra o programa. Qual a diferença entre esta e a alínea anterior? DSI 7/32

8 Exercício 4 O programa da figura 2 usa o tipo de dado elementar double: class DoubleEg { public static void main ( String[] args ) { double value = 32; System.out.println("A double: " + value); Figura 2 Alínea A Compile e corra o programa. A saída (o que o programa escreve no painel de mensagens) deste programa difere de alguma forma da saída da alínea A do exercício nº3? Alínea B Altere o valor da variável B para um valor que seja demasiado grande para uma variável do tipo double. Vai precisar de usar notação científica para o conseguir. Exercício 5 O programa da figura 3 usa o tipo de dados elementar char: class CharEg { public static void main ( String[] args ) { char ch = 'A' ; System.out.println("A char: " + ch ); Figura 3 Experimente o seguinte: 1) Troque o 'A' por 'Z' compile e corra o programa. 2) Troque o 'A' por 'AA' tente compilar o programa. 3) Troque o 'A' por ' ' compile e corra o programa. Note que existe um espaço entre as duas plicas. 4) Troque o 'A' por '' tente compilar o programa. Note que não existe nada entre as duas plicas. 5) Troque o 'A' por "A" tente compilar o programa. Exercício 6 Para o programa apresentado na figura 4: Public class IncrementaDecrementa { public static void main (String[] args) { Boolean b = false; char c = r ; byte j = 127; short k 32767; Syste.out.println( c= + c); ++c; System.outprintln( c= + c); ++c; System.outprintln( c= + c); Systemout.println( j= + j); --j System.out.println( j= + j); ++j; System.outprintln( j= + j) System.out.println( k= + k); K -=4; System.out.println( k= + k); K +=5; 8/32 DSI

9 System.out.println( k= + k); Figura 4 Alínea A Corrija os erros sintácticos do programa. Alínea B Escreva o resultado de cada uma das instruções da 6ª à 21ª linha de código. Exercício 7 Para o programa da figura 5: (note que está escrito a duas colunas) public class ConverteExpandindo { /**Main method*/ public static void main(string[] args) { // Escreve no painel de mensagens { double d = 1.7E308; float f = 3.4E38f; long l = L; int i = ; char c = 'z'; short s = 32767; byte b = 127; double temp; System.out.println(d); System.out.println(f); System.out.println(l); System.out.println(i); System.out.println(c); System.out.println(s); System.out.println(b); temp = d; d = f; System.out.println(d); d = l; System.out.println(d); d = i; System.out.println(d); d = c; System.out.println(d); d = s; System.out.println(d); d = b; System.out.println(d); d = temp; temp = f; f = l; System.out.println(f); f = i; System.out.println(f); f = c; System.out.println(f); f = s; System.out.println(f); f = b; System.out.println(f); f = (float) temp; System.out.println(f); temp = i; i = c; System.out.println(i); i = s; System.out.println(i); i = b; System.out.println(i); i = (int) temp; System.out.println(i); temp = c; c = (char) s; System.out.println(c); c = (char) b; System.out.println(c); c = (char) temp; System.out.println(c); Figura 5 Alínea A Qual a resultado de cada uma das instruções de saída? Alínea B Quais as instruções de atribuição que originaram erros? DSI 9/32

10 Exercício 8 Examine o programa da figura 6 class example { public static void main ( String[] args ) { long hoursworked = 40; double payrate = 10.0, taxrate = 0.10; System.out.println("Hours Worked: " + hoursworked ); System.out.println("pay Amount : " + (hoursworked * payrate) ); System.out.println("tax Amount : " + (hoursworked * payrate * taxrate) ); Figura 6 Alínea a Modifique-o por forma a que cada variável seja declarada individualmente e não seja inicializada aquando da declaração. Em seguida escreva três instruções de atribuição para associar o valor a cada uma das variáveis. Compile, corra o programa e examine a sua saída. Alínea B Agora vamos tentar quebrar o programa. 1) Remova uma das declarações de variáveis. Consegue compilar o programa? 2) Agora remova uma das instruções de atribuição que inicializam uma das variáveis. Quando é que o problema é detectado? Exercício 9 Considere as declarações de atribuição indicadas abaixo. Mostre o que fica guardado em iresult, fresult e sresult após cada atribuição. Basta verificar até à terceira casa decimal. int iresult,num1=25, num2=40, num3=17, num4=5; int num5=-14, num6=-27; double fresult, val1=17.0, val2=12.78; String sresult, title= Java Software Solutions ; iresult= num1/num4; fresult=num1/num4; iresult=num3/num4; fresult=num3/num4; fresult=val1/num4; fresult=val1/val2; iresult=num1/num2; fresult=num1/num2; fresult= (double) num1/num2; fresult=num1/(double)num2; fresult= (double) (num1/num2),3); iresult= (int) (val1/num4); fresult= (int) (val1/num4); fresult= (int) ((double)num1/num2); iresult= num3%num4; iresult=num2%num3; iresult=num3%num2; iresult=num2%num4; iresult=num5%num4; iresult=num6%num5; iresult=title.length();fresult=title.length(); iresult=title.indexof( t ); iresult=title.indexof( q ); iresult=title.lastindexof( a ); sresult=title.touppercase(); sresult=title.replace( o, X ); sresult=title.substring(8); sresult=title.substring(8,16); iresult=(title.substring(8,16)).length(); sresult=title+num1; sresult=title+num1+num2; sresult=title+(num1+num2); iresult=math.abs(num6); iresult=math.abs(num1-num2); fresult=math.sqrt(num2); fresult=math.pow(num4,3); iresult=math.max(num2,num3); iresult=math.floor(val2); iresult=math.ceil(val2); fresult=math.sin(num2 + num1*2); fresult=math.pi*num4; fresult=math.pow(title.length(),2)+num3*math.sqrt(num3/num4); Figura 7 10/32 DSI

11 Exercício 10 Indique para as expressões abaixo os resultados. Assuma a seguinte declaração: Random rand= new Random( ); 1. rand.nextint(); 2. Math.abs(rand.nextInt())%20; 3. Math.abs(rand.nextInt()%20); 4. Math.abs(rand.nextInt())% 8 + 1; 5. Math.abs(rand.nextInt())% ; 6. Math.abs(rand.nextInt())% ; 7. rand.nextint() % 50; 8. rand.nextfloat(); 9. Math.random(); 10. Math.random()*8; 11. (int)math.random()*20; 12. (int)math.random()*20 + 1; Séries de Exercícios de Introdução à Programação Laboratórios Exercício 11 Para os exercícios seguintes escreva uma expressão usando o Objecto Random para gerar um número aleatório na gama de valores especificada (inclusive) a a a a a a 15 Exercício 12 Escreva uma expressão usando o método random da classe Math para gerar os números aleatórios na gama de valores especificada a a a a a a 15 DSI 11/32

12 Série 3: Entrada e saída de dados Objectivos da Série: Com esta série de problemas pretende-se que o aluno: 3. Aprenda a escrever no ecrã informação; 4. Aprenda a ler varios tipos de formatos de dados introduzidos pelo utilizador. Exercício 1 Considere que está interessado em calcular o valor do polinómio de 2º grau apresentado na figura 5 para diferentes valores de X. 3X 2-8X + 4 Escreva um programa que inclui uma variável de dupla precisão X. Atribua-lhe um valor. Escreva uma instrução que calcule o valor do polinómio e armazene o resultado numa outra variável. Finalmente escreva o resultado sob a forma: para X = 4.0 o resultado é Exercício 2 Escreva um programa que calcule a média de precipitação de três meses, Abril, Maio e junho. Declare e inicialize uma variável com a precipitação de cada mês, calcule a média e escreva o resultado soba a forma: Precipitação em Abril: 12. Precipitação em Maio: 14. Precipitação em Junho 8 Média da precipitação: Para alinhar os valores numéricos use o caracter de tabulação \t como parte da string de caracteres nas instruções de saída. Verifique se o programa apresenta os resultados correctos. Exercício 3 Escreva um programa para resolver cada uma das seguintes situações a) Ler um número inteiro, multiplicá-lo por 2 e escrever o resultado. b) Ler dois números inteiros e escrever a sua soma, diferença e produto. c) Ler dois números reais e escrever a sua soma, diferença e produto. Exercício 4 Suponha que um café tem a seguinte ementa: prego: 3.5, Batatas fritas: 1, Sumo: 0.9, Bolo: 0,8, Café: 0,45. Solicite o numero de doses de cada um dos comestíveis acima indicados e passe uma factura descriminada. Exercício 5 Escreva um programa para calcular a média de um conjunto de 10 números inseridos pelo utilizador. Exercício 6 Faça um programa que calcule a taxa de juro de uma conta bancária. Desta forma, terá de pedir ao utilizador que introduza o montante, a taxa de juro e o número de anos. De seguida, deve calcular os juros utilizando a formula: Montante_final = montante * (taxa_juro / 100) * numero_anos Por fim, deve mostrar no ecrã todos os dados obtidos da seguinte forma: Montante: 5000 Taxa de Juro: 2,5% Numero de anos: 5 Montante final: /32 DSI

13 Exercício 7 Séries de Exercícios de Introdução à Programação Laboratórios Desenvolva um programa que peça ao utilizador três números inteior, guarde-os em três variaveis (a, b e c) e troque a ordem de forma a que: 1) o valor que estava na variavel a passe a ser o que estava na variavel b; 2) o valor que estava na variavel b passe a ser o que estava na variavel c; 3) o valor que estava na variavel c passe a ser o que estava na variavel a; Por fim escreva no ecrã o novo valor de cada variavel, com o seguinte formato: a = 10; b = 4; c = 1; Exercício 8 Faça um pequeno programa que mostre no ecrã os seu dados pessoais. Exercício 9 Altere o programa desenvolvido no exercício anterior de forma a introduzir os seu dados pessoais e só no fim é que mostra todos os seus dados pessoais de uma só vez. DSI 13/32

14 Série 4: Instruções de selecção (IF e SWITCH) Objectivos da Série: Com esta série de problemas pretende-se que o aluno: 1. Aprenda a usar as estruturas de selecção if e switch 2. Domine a utilização das estruturas if e switch nas suas várias formas. Exercício 1 Este exercício deve utilizar a intrução de selecção if. Alínea A Escreva um programa para ordenar dois inteiros inseridos pelo utilizador. Alínea B Escreva um programa para ordenar três inteiros inseridos pelo utilizador. Alínea C Escreva um programa para ordenar quatro inteiros inseridos pelo utilizador. Exercício 2 Construa um programa que verifica se um número é par ou impar, numero esse introduzido pelo utilizador. Exercício 3 Crie um programa que leia dois números inteiros e informe o utilizador se o primeiro é divisível pelo segundo. Exercício 4 Escreva um programa em Java que converta notas quantitativas de 0 a 20 em notas qualitativas de mau a excelente, utilizando uma estrutura de if s encadeados e que verifique o limite superior das gamas de cada uma das notas qualitativas. Considere que: 0-4:Mau; 5-9:Mediocre; 10-13:Suficiente; 14-17:Bom; 18-20:Muito Bom. Exercício 5 Escreva um programa em Java que aceite três nomes e os imprima por ordem alfabética crescente. Use o método comparedto() da classe String. O método comparedto() tem o seguinte comportamento: String s1= CAPACIDADE ; String s2= CAPAZ ; s1.comparedto(s2) devolve um valor inteiro negativo. s2.comparedto(s2) devolve 0. s2.comparedto(s1) devolve um valor inteiro positivo. Exercício 6 Utilizando a linguagem Java, crie um programa que receba do utilizador um número correspondente a um mês, e apresente no monitor o mês correspondente. (Nota: 1=JAN, 2=FEV, 3=MAR, ). Deve usar a instrução de selecção switch. 14/32 DSI

15 Exercício 7 Séries de Exercícios de Introdução à Programação Laboratórios Crie um programa, pede ao utilizador para introduzir dois números e a operação aritmética (*, /, -, +) que quer efectuar, pretende-se imprimir o resultado da operação matemática entre ambos. Exercício 8 Escreva um programa que apresente uma lista de 5 livros diferentes ao utilizador, pedindolhe que seleccione um deles. Para o livro seleccionado, informe o utilizador do preço do livro. Exercício 9 Desenvolva um programa que mostra ao utilizador o seguinte menu: 1 Nome 2 Idade 3 Nacionalidade 4 Sair E por fim, peça ao utilizador que introduza a opção que deseja visualizar e mostra qual foi essa opção escolhida. Use a intrução switch. Exercício 10 Altere o exercicio anterior de forma a pedir os dados do utilizador no inicio do programa. No entanto, sempre que escolher uma das opções mostra os dados e de seguida pergunta se deseja alterar os dados dessa mesma opção. Caso o utilizador deseje alterar deve alterar e depois mostrar toda a informação do utilizador. DSI 15/32

16 Série 5: Estruturas de Repetição (WHILE, DO-WHILE e FOR) Objectivos da Série: Com esta série de problemas pretende-se que o aluno: 1. Pratique a utilização dos comandos while, do-while e for; 2. Domine a utilização das estruturas while, do-while e for nas suas várias formas. Exercício 1 Escreva um programa, que analisa um número aleatório, informando se este é primo ou não. Alínea A Use a estrutura de repetição while. Alínea B Use a estrutura de repetição do-while. Exercício 2 Crie um programa, em Java, que receba um número inteiro e informe quantos dígitos foram introduzidos. Alínea A Use a estrutura de repetição while. Alínea B Use a estrutura de repetição do-while. Exercício 3 Escreva um programa que leia um conjunto de números inteiros e termine quando for introduzido um número negativo, indicando quantos números foram introduzidos e qual é o maior e o menor número introduzido. Use a estrutura do-while. Exercício 4 Escreva um programa, que leia um número inteiro e calcule a soma dos seus dígitos. Use a estrutura while. Exercício 5 Faça um programa que lê uma sequência de números inteiros positivos e calcule a sua soma. A quantidade de números é desconhecida à partida. A sequência de entrada só termina quando for introduzido um número zero. Use a estrutura do-while. Exercício 6 Crie um programa que calcule a soma de n primeiros números positivos, sendo o valor de n fornecido pelo utilizador. Use a estrutura while. Exercício 7 Faça um programa, que calcule a média de 5 números aleatórios. Use a estrutura for. Exercício 8 Escreva um programa que imprima a soma dos primeiros 20 números ímpares. Use a estrutura for. 16/32 DSI

17 Exercício 9 Séries de Exercícios de Introdução à Programação Laboratórios Escreva um programa que peça ao utilizador que introduza um número inteior, e verifique se esse mesmo número inteiro é divisível por 1 até ao número introduzido. Use a estrutura for. Exercício 10 Desenvolva um programa que mostra todos os números primos até 1000, por ordem decrescente. Use a estrutura for. Exercício 11 Escreva um programa que gera aleatoriamente um número entre 1 e 100, e pede ao utilizador que acerte nesse número. Quando o utilizador introduz o número, deve indicar se este é maior ou menor ou igual ao gerado. O jogador tem 10 tentativas. Se o jogador acertar antes das tentativas terminarem deve indicar que o jogador ganhou e o número de tentativas que utilizou. Use a estrutura for. DSI 17/32

18 Série 6: Métodos Passagem de parâmetros Objectivos da Série: Com esta série de problemas pretende-se que o aluno: 1. Pratique a utilização da passagem de parâmetros. 2. Aprenda como interagir programas e subprogramas. Exercício 1 2 Faça um programa para o cálculo da expressão f(x)=x + 2x + 10, para os vários valores de x. (Nota: considere x os primeiros 10 valores inteiros). Exercício 2 Escreva um programa em que obtenha 2 números aleatórios, entre 1 e 20, e retorne o máximo entre ambos. Exercício 3 Faça um programa que calcula o cubo dos primeiros 10 números inteiros. Exercício 4 Faça um programa que leia três números inteiros e calcule a sua média. Recorra a um método para determinar a média pretendida. Exercício 5 Escreva um método chamado sinal, que receba um número inteiro e retorne 1, -1 ou 0 caso o número seja maior, menor ou igual a zero, respectivamente. Exercício 6 Escreva um programa, em Java, que contenha um método potência, que receba uma base e um expoente e calcule o valor da base elevado ao expoente. O expoente é sempre maior ou igual a zero e, a base é sempre representado por números inteiros positivos. 18/32 DSI

19 Série 7: Classes e Objectos Objectivos da Série: Com esta série de problemas pretende-se que o aluno: 1. Aprenda a criar e instanciar Classes. Variáveis e Métodos de Instâncias. 2. Aprenda como interagir entre Classes. Exercício 1 Programa para registo e consulta de veículos automóveis para stand de usados. a) Defina uma classe Automóvel, que tem a seguinte informação Marca Ano Nº Série motor Cor Preço b) Defina um método construtor para a classe Automóvel que inicializa os valores dos atributos através da passagem de argumentos definidos na alínea a) c) Defina os seguintes métodos a) getmarca retorna o valor do atributo marca b) getano retorna o valor do atributo ano c) getserie retorna o valor do atributo Série d) getcor retorna o valor do atributo Cor d) Elabore um programa onde: Na classe principal cria 2 automóveis, através da criação de objectos da classe Automóvel. Defina um método para preenchimento de dados sobre um automóveis. e) Defina na classe principal os seguintes métodos: procuramarca lista o automóvel de uma determinada marca listaautomovel lista as características do automóvel pelo seu nº de série. f) Considere que se pretende trocar os atributos entre ambos automóveis. Para isso, crie um método para efectuar a troca pretendida. Para verificar os resultados, imprima os atributos dos automóveis, antes e depois da troca. Nota : Recorra à passagem por referência no método para aceder e alterar os dados do objecto. DSI 19/32

20 Exercício 2 Pretende-se criar uma conta bancária para dois clientes. Para isso, implemente um programa que permita: 1. Inserir os dados dos clientes. 2. Procurar o cliente através do seu número de contribuinte e imprimindo, em seguida, os seus dados. Assim, pretende-se que: a) Defina uma classe Cliente com a seguinte informação: nome nome do Cliente n_contribuinte número do contribuinte morada Morada do cliente telefone Telefone/telemóvel para contacto b) Na classe criada defina os seguintes métodos: setnome modifica o valor do atributo nome getnome retorna o conteúdo do atributo nome setcontribuinte - modifica o valor do atributo n_contribuinte getcontribuinte - retorna o conteúdo do atributo n_contribuinte setmorada - modifica o valor do atributo morada getmorada - retorna o conteúdo do atributo morada settelefone - modifica o valor do atributo telefone gettelefone - retorna o conteúdo do atributo telefone c) Defina na classe principal os seguintes métodos: Método para preenchimento dos dados do Cliente: public static Cliente preenchedados() Método para procurar o cliente com base no seu número de contribuinte: public static Cliente FindCliente(Cliente first,cliente second,int contrib){ Método para imprimir os resultados: public static void verificacliente(cliente testecliente) Método main, onde invoque cada um dos métodos acima implementados. Exercício 3 Implemente um programa para registo e consulta de informação sobre os funcionários de uma empresa a) Defina uma classe Funcionário que tem a seguinte informação: nome nome do Funcionário n_bi nº do BI categoria categoria da função ordenado ordenado base 20/32 DSI

21 b) Defina um método constructor para a classe Funcionário que inicialize os valores dos atributos através da passagem de argumentos definidos na alínea a) c) Defina os seguintes métodos getnome retorna o valor do atributo nome getbi retorna o valor do atributo BI getcategoria retorna o valor do atributo categoria getordenado retorna o valor do atributo ordenado setordenado modifica o valor do atributo ordenado setcategoria modifica o valor do atributo categoria d) Elabore uma classe principal onde : Crie 2 funcionários, através da criação de objectos da classe Funcionário Defina um método para preenchimento dados de um funcionário que retorne o objecto preenchido. e) Defina na classe principal os seguintes métodos procura Funcionário lista os atributos do funcionário pelo seu nº de BI calculaordenado para um determinado funcionário calcula o seu ordenado líquido, supondo que desconta 11% para a Segurança Social, 20% para o IRS e 15 EUR para a quota associativa da empresa. calculatotalordenado determina qual o montante total que a empresa despende com ordenados dos dois funcionários por mês. DSI 21/32

22 Série 8: Métodos Recursivos Objectivos da Série: Com esta série de problemas pretende-se que o aluno: 1. Pratique a utilização dos métodos recursivos. Exercício 1 Utilizando a recursividade, obtenha os primeiros 12 números da sequência de Fibonacci. Exercício 2 A função seno(x) pode ser calculada somando os n primeiros termos da séria infinita, dado n que é um inteiro e x um número real, tal como se exprime na figura 1. Sen(x) = x 3 x 3! + 5 x 5! 7 x 7! + 9 x 9!... Figura 1 Os valores de x são expressos em radianos. n x n! a) Escreva uma função que calcule iterativamente o sen(x). b) Escreva uma função que calcule recursivamente o sen(x). Exercício 3 Sabe-se que a divisão pode ser obtida através de uma série de subtracções. Escreva uma função recursiva, de dois argumentos inteiros, chamada divisão, que retorne o resultado da divisão inteira do primeiro argumento pelo segundo. A função apenas pode utilizar as operações de adição e subtracção. Exercício 4 O máximo divisor comum entre dois números pode ser calculada por : n1 se n2=0 mdc(n1,n2) = mdc(n2,mod(n1,n2)) se n2<>0 Figura 2 Escreva um programa que leia 2 números inteiros e calcule o seu mdc. Exercício 5 Faça um programa que, utilizando o método recursivo, implemente o triângulo de Pascal. O Triângulo de Pascal é dado pela seguinte expressão: C(n,k) = 1 se k=0 ou k=n C(n-1,k) + c(n-1,k-1) se 0<k<n Figura 3 22/32 DSI

23 Resultado pretendido: Exercício 6 Escreva o seguinte método recursivo que retorne a sequência de n termos referentes ao número triangular. static long t(int n) Os números triangulares são e são dados pela expressão seguinte: t(n) = t(n-1) + n para n > 1 DSI 23/32

24 Série 9: Tabelas Objectivos da Série: Com esta série de problemas pretende-se que o aluno: 1. Pratique aprofundadamente o uso das instruções de repetição 2. Aprenda a definir, inicializar, e manipular tabelas de tipos primitivos. 3. Domine o uso de tabelas unidimensionais e multi-dimensionais. 4. Saiba definir tabelas de objectos e efectuar operações sobre as mesmas Exercício nº 1 Implemente o método soma que retorna a soma dos elementos se uma tabela. A assinatura do método é a que se segue: static double soma(double[] x) Exercício nº 2 Implemente o método para tabelas que troca entre si os elementos da tabela t da posição i e j, tendo em conta a seguinte assinatura: static void troca(int[] t, int i, int j) Exercício nº 3 Implemente o método mover, com a assinatura abaixo descrita, que move o elemento da tabela t da posição i para a posição j Exemplo: Se t representa a lista {22,33,44,55,66,77, então mover(v,4,1) resulta em {22,66,33,44,55,77 static void mover(int[] t, int i, int j) Exercício nº 4 Implemente uma classe que contenha os dois métodos acima definidos e que o método main permita testar o método troca e o método mover. Exercício nº 5 Considere a seguinte declaração: char[][] m={{ c, f, a, { q, q, w,{ i, p, j ; Alínea a Qual a dimensão da tabela m? 24/32 DSI

25 Alínea b Quantos elementos tem a tabela m? Alínea c Qual o tipo dos elementos da tabela? Exercício nº 6 Alinea a Implemente o método triangulodepascal que calcula e mostra no ecran as n primeiras linhas do triângulo de Pascal. As linhas do triângulo de pascal calculam-se colocando no primeiro e último elemento de cada linha 1 e nos restantes elementos a soma dos elementos da linha anterior na posição imediatamente antes e depois do elemento que estamos a calcular. Exemplo de um Triângulo de Pascal de dimensão 6: [0] [1] [2] [3] [4] [5] [0] 1 [1] 1 1 [2] [3] [4] [5] A assinatura do método a implementar é a que se segue: static int[][] triangulodepascal(int n) Alinea b Implemente uma classe que contenha o método triangulodepascal e que permita testá-lo (pedindo o valor n ao utilizador e escrevendo no ecran o triângulo de pascal correspondente) Exercício nº 7 Implemente o método produtoexterno que calcula o produto externo entre dois vectores. A matriz resultante calcula-se da seguinte forma p[i][j]=x[i]*y[j], onde x e y são os vectores de entrada static double[][] produtoexterno(double[] x, double[] y) DSI 25/32

26 Exercício nº 8 Temos um sistema para validar as matrizes do totoloto. O sistema digitaliza os impressos e converte cada aposta numa matriz de booleanos de 7 x 7. Cada elemento da matriz corresponde um número de 1-49 e se este tiver o valor lógico verdade significa que o número correspondente faz parte da aposta: Exemplo: Esta aposta do totoloto Corresponde a esta matriz T F F F F F F F F T F F F F F F F T F F F F F F F F F F F F F F T T F F F F F F F F T F F F F F F Alinea a Escreva um método que, tendo a assinatura abaixo descrita, receba como entrada a matriz de aposta e devolva uma tabela com os números apostados: static int[] apostatotoloto(boolean[][] m) Alinea b Escreva um método que receba como entrada a matriz de aposta e devolva um valor do tipo boolean que diz se esta é valida. Nota: poderá haver apostas múltiplas, com 7,8,9,10,11, e 12 números static boolean apostavalidatotoloto(boolean[][] m) Alinea c Escreva um programa que peça ao utilizador a sua aposta do totoloto e verifique se esta é válida e caso não seja, dê uma mensagem de erro. Exercício nº 9 Treinando álgebra de matrizes... Implemente um método que multiplique duas matrizes de inteiros. static int[ ][ ] produtomatrizes(int[ ][ ] m1, int[ ][ ]m2) 26/32 DSI

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

BC0501 Linguagens de Programação

BC0501 Linguagens de Programação BC0501 Linguagens de Programação Aula Prática: 03 Assunto: Comandos de Seleção 1. Introdução Um comando de seleção define uma condição em um programa, que permite que grupos de comandos sejam executados

Leia mais

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação FaculdadedeCiências UniversidadeAgostinhoNeto DepartamentodeMatemáticaeEngenhariaGeográfica CiênciasdaComputação ProgramaçãoII SegundaParte Adaptado de um original dos docentes de ISCTE Objectivos Os alunos

Leia mais

Laboratório 11 Estruturas. Departamento de Sistemas e Informática. Disciplina de Introdução à Programação Ano Lectivo 2006/2007

Laboratório 11 Estruturas. Departamento de Sistemas e Informática. Disciplina de Introdução à Programação Ano Lectivo 2006/2007 Instituto Politécnico de Setúbal Escola Superior de Tecnologia Departamento de Sistemas e Informática Laboratório 11 Estruturas Disciplina de Introdução à Programação Ano Lectivo 2006/2007 DSI Escola Superior

Leia mais

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 APROG Algoritmia e Programação Linguagem JAVA Básico Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Linguagem Java Estrutura de um Programa Geral Básica Estruturas de Dados Variáveis Constantes Tipos de Dados

Leia mais

Exercícios de Revisão Java Básico

Exercícios de Revisão Java Básico Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1

Leia mais

Roteiro 1: Dados, variáveis, operadores e precedência

Roteiro 1: Dados, variáveis, operadores e precedência 1. Introdução Universidade Federal do ABC Disciplina: Processamento da Informação (BC-0505) Assunto: Dados, variáveis, operadores e precedência Roteiro 1: Dados, variáveis, operadores e precedência Nesta

Leia mais

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado

Leia mais

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Criar a classe Aula.java com o seguinte código: Compilar e Executar Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Criar a classe Aula.java com o seguinte código: public class Aula { public static void

Leia mais

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA 0 Iniciar o ambiente de desenvolvimento integrado

Leia mais

Slides_Java_1 !"$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code.

Slides_Java_1 !$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code. Slides_Java_1!"#$!" $ % & $ Sistemas Informáticos I, 2005/2006 ( Java source code Compile javac Java bytecode Run java Output:!"#) %& Name of program. Must be the same as name of file.!"#$!"$ % & $ Where

Leia mais

Lab de Programação de sistemas I

Lab de Programação de sistemas I Lab de Programação de sistemas I Apresentação Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Agenda Orientação a Objetos Conceitos e Práticas Programação OO

Leia mais

Algoritmos e Programação. Prof. Tarcio Carvalho

Algoritmos e Programação. Prof. Tarcio Carvalho Algoritmos e Programação Prof. Tarcio Carvalho Conceito de Lógica A utilização da lógica na vida do indivíduo é constante, visto que é ela quem possibilita a ordenação do pensamento humano. Exemplo: A

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

DEFINIÇÃO DE MÉTODOS

DEFINIÇÃO DE MÉTODOS Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 2 DEFINIÇÃO DE MÉTODOS Todo o processamento que um programa Java faz está definido dentro dos

Leia mais

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código } Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver

Leia mais

Sintaxe Básica de Java Parte 1

Sintaxe Básica de Java Parte 1 Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa

Leia mais

Desenvolvimento OO com Java 3 Estruturas de Controle e Programação Básica

Desenvolvimento OO com Java 3 Estruturas de Controle e Programação Básica Desenvolvimento OO com Java 3 Estruturas de Controle e Programação Básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade

Leia mais

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java Linguagem Java Objetivos Compreender como desenvolver algoritmos básicos em JAVA Aprender como escrever programas na Linguagem JAVA baseando-se na Linguagem Portugol aprender as sintaxes equivalentes entre

Leia mais

1 Introdução. 2 Algumas funções úteis para lidar com strings

1 Introdução. 2 Algumas funções úteis para lidar com strings Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Strings e apontadores http://tele1.dee.fct.unl.pt

Leia mais

A Linguagem Java. Alberto Costa Neto DComp - UFS

A Linguagem Java. Alberto Costa Neto DComp - UFS A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 03 APRESENTAÇÃO: Hoje vamos conhecer o comando switch, o bloco try catch;

Leia mais

Introdução à linguagem

Introdução à linguagem A Tecnologia Java 1 Introdução à linguagem Origens do JAVA Projecto Green, programação para a electrónica de Consumo (Dezembro 1990): Pouca memória disponível Processadores fracos Arquitecturas muito diferentes

Leia mais

Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação

Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação Java Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação 1 Tabelas para quê? As tabelas são utilizadas quando se pretende armazenar e manipular um grande número de

Leia mais

insfcanceof new public switch transient while byte continue extends for int null

insfcanceof new public switch transient while byte continue extends for int null Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public

Leia mais

Algoritmos em Javascript

Algoritmos em Javascript Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays

Leia mais

Noções sobre Objetos e Classes

Noções sobre Objetos e Classes Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão

Leia mais

Capítulo 2. Fundamentos de Java

Capítulo 2. Fundamentos de Java Capítulo 2. Fundamentos de Java 1/52 Índice 2.1 - Variáveis Tipos Escopo Inicialização Casting Literais 2.2 - Operadores Aritméticos Relacionais Bit a Bit De atribuição 2.3 - Expressões, statements e blocos

Leia mais

Capítulo 2: Introdução à Linguagem C

Capítulo 2: Introdução à Linguagem C Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

Leia mais

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com. Aula 04 Operadores e Entrada de Dados Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Operadores: Aritméticos; Atribuição; Concatenação;

Leia mais

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. 1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto

Leia mais

Alguns Exercícios de Programação de em Linguagem C

Alguns Exercícios de Programação de em Linguagem C Alguns Exercícios de Programação de em Linguagem C Nelma Moreira Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto email: nam@ncc.up.pt 1997 1 Execução de algumas instruções

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Ficheiros binários 1. Ficheiros binários

Ficheiros binários 1. Ficheiros binários Ficheiros binários 1 Ficheiros binários 1. Considere que dispõe de ficheiros binários cujo conteúdo é constituído por uma ou mais estruturas como a indicada a seguir struct registo { int ref; float var;

Leia mais

Programação Básica em Arduino Aula 2

Programação Básica em Arduino Aula 2 Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Variáveis são lugares (posições) na memória principal que servem para armazenar dados. As variáveis são acessadas

Leia mais

ZS Rest. Manual Avançado. Gestão de Stocks Local. v2011

ZS Rest. Manual Avançado. Gestão de Stocks Local. v2011 Manual Avançado Gestão de Stocks Local v2011 1 1. Índice 2. Introdução... 3 3. Iniciar o ZSRest FrontOffice... 4 4. Produto... 5 b) Activar gestão de stocks... 5 i. Opção: Faz gestão de stocks... 5 ii.

Leia mais

Estruturas de Repetição. Programação em Java 2006-2007. Estruturas de Repetição

Estruturas de Repetição. Programação em Java 2006-2007. Estruturas de Repetição Aula 4 Estruturas de Repetição Programação em Java 2006-2007 Estruturas de Repetição As estruturas repetitivas ou ciclos permitem repetir um conjunto de uma ou mais instruções O Java apresenta três variantes

Leia mais

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;} 2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II Exercício : Construtores são métodos especiais sem tipo de retorno (nem mesmo void) e de mesmo nome que a classe que são invocados quando da criação

Leia mais

Programas simples em C

Programas simples em C Programas simples em C Problema 1. Escreve um programa em C que dados dois inteiros indique se são iguais ou qual o maior. Utilizar a construção em 5 etapas... quais? 1. Perceber o problema 2. Ideia da

Leia mais

UNIVERSIDADE FERNANDO PESSOA

UNIVERSIDADE FERNANDO PESSOA FICHA DE EXERCÍCIOS Nº1: ALGORITMOS E COMPUTAÇÃO (1) Para todos os exercícios propostos, apresente a resolução em pseudocódigo e o respectivo fluxograma: 1) Escreva um algoritmo para encontrar o número

Leia mais

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream> Aula 1 C é uma linguagem de programação estruturada desenvolvida por Dennis Ritchie nos laboratórios Bell entre 1969 e 1972; Algumas características: É case-sensitive, ou seja, o compilador difere letras

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

Leia mais

Algoritmos e Programação II. Sobrecarga

Algoritmos e Programação II. Sobrecarga Algoritmos e Programação II Baseado no Material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, têm nomes distintos porque

Leia mais

Resumo da Matéria de Linguagem de Programação. Linguagem C

Resumo da Matéria de Linguagem de Programação. Linguagem C Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis

Leia mais

Simulado de Linguagem de Programação Java

Simulado de Linguagem de Programação Java Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10 1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...

Leia mais

Curso Java Starter. www.t2ti.com 1

Curso Java Starter. www.t2ti.com 1 1 Apresentação O Curso Java Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam entrar no mercado de trabalho sabendo Java, A estrutura do

Leia mais

Organização de programas em Java. Vanessa Braganholo vanessa@ic.uff.br

Organização de programas em Java. Vanessa Braganholo vanessa@ic.uff.br Organização de programas em Java Vanessa Braganholo vanessa@ic.uff.br Vamos programar em Java! Mas... } Como um programa é organizado? } Quais são os tipos de dados disponíveis? } Como variáveis podem

Leia mais

Programação Recursiva versão 1.02

Programação Recursiva versão 1.02 Programação Recursiva versão 1.0 4 de Maio de 009 Este guião deve ser entregue, no mooshak e no moodle, até às 3h55 de 4 de Maio. AVISO: O mooshak é um sistema de avaliação e não deve ser utilizado como

Leia mais

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo COMPILADORES Toda linguagem de programação

Leia mais

1. Escreva um algoritmo em linguagem corrente para resolver os seguintes problemas: a) substituir uma lâmpada; b) imprimir um documento;

1. Escreva um algoritmo em linguagem corrente para resolver os seguintes problemas: a) substituir uma lâmpada; b) imprimir um documento; 1. Escreva um algoritmo em linguagem corrente para resolver os seguintes problemas: a) substituir uma lâmpada; b) imprimir um documento; 2. Sabendo que o preço de um produto é dado pelo seu custo de fabrico,

Leia mais

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu. Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração

Leia mais

3 Classes e instanciação de objectos (em Java)

3 Classes e instanciação de objectos (em Java) 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

Leia mais

1. Instruções detalhadas para o primeiro programa

1. Instruções detalhadas para o primeiro programa DEPARTAMENTO DE ENGENHARIA INFORMÁTICA INFORMÁTICA PARA A SAÚDE COMPUTADORES E PROGRAMAÇÃO Ano Lectivo 2012/2013 1º Semestre FOLHA 1 - INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA 1. Instruções detalhadas

Leia mais

José Romildo Malaquias 2011-1

José Romildo Malaquias 2011-1 Programação de Computadores I Aula 08 Programação: Estruturas de Repetição José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/58 Motivação Como imprimir os três

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7 CURSO BÁSICO DE PROGRAMAÇÃO AULA 7 Revisão para prova: Comandos de Entrada e Saída Estruturas de Decisão (Se, caso (escolha)) Laços de Repetição (Enquanto, Repita, Para) Relembrando Trabalho 1 Prazo de

Leia mais

ZSRest/ZSPos. Manual de Stocks. BackOffice

ZSRest/ZSPos. Manual de Stocks. BackOffice BackOffice 1 1. Índice 2. Introdução... 3 3. Iniciar o ZSRest/ZSPos FrontOffice... 4 4. Produto... 5 Activar gestão de stocks... 5 5. Armazém... 7 a) Adicionar Armazém... 8 b) Modificar Armazém... 8 c)

Leia mais

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 3: Métodos LEEC@IST Java 1/45 Métodos (1) Sintaxe Qualif Tipo Ident ( [ TipoP IdentP [, TipoP IdentP]* ] ) { [ Variável_local Instrução ]* Qualif: qualificador (visibilidade,

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 2 Introdução aos aplicativos Java Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 2.1 Introdução Programação de aplicativo Java. Utilize as ferramentas do JDK para compilar

Leia mais

1 Lógica de Programação

1 Lógica de Programação 1 Lógica de Programação Técnicas de programação Programação Sequencial Programação Estruturada Programação Orientada a Eventos e Objectos 1.1 Lógica A lógica de programação é necessária para pessoas que

Leia mais

Javascript 101. Parte 2

Javascript 101. Parte 2 Javascript 101 Parte 2 Recapitulando O Javascript é uma linguagem de programação funcional Os nossos scripts são executados linha a linha à medida que são carregados. O código que está dentro de uma função

Leia mais

Algoritmia e Estruturas de Dados

Algoritmia e Estruturas de Dados JOSÉ BRAGA DE VASCONCELOS JOÃO VIDAL DE CARVALHO Algoritmia e Estruturas de Dados Programação nas linguagens C e JAVA Portugal/2005 Reservados todos os direitos por Centro Atlântico, Lda. Qualquer reprodução,

Leia mais

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Processamento da Informação Teoria. Algoritmos e Tipos de dados Processamento da Informação Teoria Algoritmos e Tipos de dados Semana 01 Prof. Jesús P. Mena-Chalco 24/04/2013 (*) Slides adaptados das aulas do Prof. Harlen Costa Batagelo Algumas definições de algoritmo

Leia mais

Programação 2ºSemestre MEEC - 2010/2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

Programação 2ºSemestre MEEC - 2010/2011. Programação 2º Semestre 2010/2011 Enunciado do projecto Mestrado Integrado em Engenharia Electrotécnica e de Computadores Programação 2º Semestre 2010/2011 Enunciado do projecto O projecto a desenvolver pelos alunos consistirá numa sistema de monitorização,

Leia mais

13 Números Reais - Tipo float

13 Números Reais - Tipo float 13 Números Reais - Tipo float Ronaldo F. Hashimoto e Carlos H. Morimoto Até omomentonoslimitamosaouso do tipo inteiro para variáveis e expressões aritméticas. Vamos introduzir agora o tipo real. Ao final

Leia mais

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Primeiro Programa em Java public class OlaPessoal

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados

Leia mais

Curso de Linguagem C

Curso de Linguagem C Curso de Linguagem C 1 Aula 1 - INTRODUÇÃO...4 AULA 2 - Primeiros Passos...5 O C é "Case Sensitive"...5 Dois Primeiros Programas...6 Introdução às Funções...7 Introdução Básica às Entradas e Saídas...

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível. Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

Aplicações de Escritório Electrónico

Aplicações de Escritório Electrónico Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho

Leia mais

AMBIENTE DE PROGRAMAÇÃO PYTHON

AMBIENTE DE PROGRAMAÇÃO PYTHON Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2003/2004 FICHA 1 AMBIENTE DE PROGRAMAÇÃO PYTHON 1.1. Objectivos

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Ao conjunto total de tabelas, chamamos de Base de Dados.

Ao conjunto total de tabelas, chamamos de Base de Dados. O QUE É O ACCESS? É um sistema gestor de base de dados relacional. É um programa que permite a criação de Sistemas Gestores de Informação sofisticados sem conhecer linguagem de programação. SISTEMA DE

Leia mais

Programando em C# Orientado a Objetos. By: Maromo

Programando em C# Orientado a Objetos. By: Maromo Programando em C# Orientado a Objetos By: Maromo Agenda Módulo 1 Plataforma.Net. Linguagem de Programação C#. Tipos primitivos, comandos de controle. Exercícios de Fixação. Introdução O modelo de programação

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais são as palavras que podem

Leia mais

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos. import java.util.scanner; class Data... class Compromisso... public class Agenda private Compromisso[] compromissos; private Compromisso[] realoquecompromissos (Compromisso[] vetor, int tamanhodesejado)

Leia mais

Módulo 06 Desenho de Classes

Módulo 06 Desenho de Classes Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.

Leia mais

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. Lista de exercícios: Grupo I - programa seqüênciais simples 1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. 2. Fazer um programa

Leia mais

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal 2015. Copyright 2010 All rights reserved.

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal 2015. Copyright 2010 All rights reserved. Programação Folha Prática 3 Lab. 3 Departamento de Informática Universidade da Beira Interior Portugal 2015 Copyright 2010 All rights reserved. LAB. 3 3ª semana EXPRESSÕES E INSTRUÇÕES 1. Revisão de conceitos

Leia mais

Programação em C++: Introdução

Programação em C++: Introdução Programação em C++: Introdução J. Barbosa J. Tavares Visualização Científica Conceitos básicos de programação Algoritmo Conjunto finito de regras sobre as quais se pode dar execução a um dado processo

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e de Computadores 1º ano 2º semestre Trabalho Final Reservas de viagens

Leia mais

Universidade Federal de Minas Gerais Instituto de Ciências Agrárias

Universidade Federal de Minas Gerais Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Instituto de Ciências Agrárias Professor: Renato Dourado Maia Disciplina: Programação de Computadores Curso: Engenharia de Alimentos Turma: Terceiro Período 1 Introdução

Leia mais

//Leitura de Variáveis System.out.print("Digite a temperatura atual: "); temp = leia.nextfloat();

//Leitura de Variáveis System.out.print(Digite a temperatura atual: ); temp = leia.nextfloat(); Bacharelado em Ciência e Tecnologia BC-0505 Processamento da Informação Lista de Exercícios Nº 02 Algoritmos Computacionais Estruturas de Seleção Soluções de Referência em Java ATENÇÃO- Para cada um dos

Leia mais

Conversão de Tipos e Arrays

Conversão de Tipos e Arrays Conversão de Tipos e Arrays Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Conversão de Tipos Permite converter

Leia mais

Curso de Iniciação ao Access Basic (I) CONTEÚDOS

Curso de Iniciação ao Access Basic (I) CONTEÚDOS Curso de Iniciação ao Access Basic (I) CONTEÚDOS 1. A Linguagem Access Basic. 2. Módulos e Procedimentos. 3. Usar o Access: 3.1. Criar uma Base de Dados: 3.1.1. Criar uma nova Base de Dados. 3.1.2. Criar

Leia mais

Jaime Evaristo Sérgio Crespo. Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (ILA)

Jaime Evaristo Sérgio Crespo. Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (ILA) Jaime Evaristo Sérgio Crespo Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (ILA) Segunda Edição Capítulo 2 Versão 08042010 2. Introdução à Linguagem Algorítmica 2.1 Variáveis

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: REVISÃO DA INTRODUÇÃO A ORIENTAÇÃO

Leia mais

Projeto de sistemas em Java. Algoritmos e Programação I. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario

Projeto de sistemas em Java. Algoritmos e Programação I. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario Projeto de sistemas em Java Algoritmos e Programação I Aula 25 Profa. Márcia Cristina Moraes mmoraes@inf.pucrs.br Profa. Sílvia M. W. Moraes silvia@inf.pucrs.br Agora que já estamos manipulando com mais

Leia mais

5 Caso de estudo O cartão fidelidade

5 Caso de estudo O cartão fidelidade 5 Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante

Leia mais

Computação e Programação Aula prática nº 5. Enunciados dos problemas

Computação e Programação Aula prática nº 5. Enunciados dos problemas Enunciados dos problemas 1 1. Processador de números 1.1 Objectivos do exercício análise sequencial de um problema baseada em objectos e desenvolvimento do respectivo algoritmo; codificação do algoritmo

Leia mais

Capítulo 6. Java IO - Ficheiros

Capítulo 6. Java IO - Ficheiros Capítulo 6. Java IO - Ficheiros 1/26 Índice Indice 6.1 - Entrada e saída de dados 6.2 - Ficheiros de texto 6.3 - Ficheiros com formato proprietário 6.4 - A classe File 2/26 Índice 6.1 Entrada e saída de

Leia mais

Projeto de Software Orientado a Objeto

Projeto de Software Orientado a Objeto Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software

Leia mais