Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

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

Download "Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação"

Transcrição

1 Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 13 Prof. ISVega Maio de 2004 Arrays CONTEÚDO 13.1Arrays e Seqüências de Variáveis Estrutura de Dados array Declaração de arrays Criação de Arrays Acesso aos Valores de um Array Iniciadores de Arrays Exercícios Java. Objetivos Apresentar a estrutura de dados array da linguagem Estudar a sua aplicação em diferentes estudos de caso Arrays e Seqüências de Variáveis Existem computações nas quais é necessário o uso de diversas variáveis para armazenar valores intermediários. Exemplo 13.1 Seja uma aplicação que realiza cálculos sobre os valores diários das temperaturas de uma máquina a vapor, apontados durante o período de um ano. Duas dificuldades aparecem na elaboração desta aplicação: 1

2 como representar 365 variáveis para armazenar os valores das temperaturas; e como descrever computações envolvendo estas variáveis. A linguagem Java oferece um mecanismo que pode ser utilizado para criar este universo de variáveis. O mecanismo, conhecido como array, pode ser utilizado para criar uma quantidade pré-determinada de variáveis, convenientemente encapsuladas em uma estrutura, e com capacidade para armazenar valores do mesmo tipo. Exemplo 13.2 Um array pode ser criado de modo a manter 365 variáveis com capacidade para armazenar valores de um mesmo tipo. As variáveis criadas a partir de um array são organizadas em uma ordem particular. Todas elas compartilham o mesmo nome, sendo diferenciadas pela sua ordem (índice) na lista. O padrão normal de processamento dos valores faz uso de uma variável-ordem adicional, capaz de armazenar um valor entre 0 e Estrutura de Dados array Um array é um mecanismo (da linguagem Java) utilizado para fabricar uma estrutura de dados contendo uma lista ordenada de variáveis que armazenam valores do mesmo tipo. Cada variável é identificada pela sua ordem na estrutura. Recupera-se o valor da variável utilizando-se o operador de ordem []. Desenho de um array A Figura 13.1 mostra a representação gráfica de uma variável x que aponta (referencia) para um valor estruturado criada pelo mecanismo array. É comum afirmar-se que o valor tem tipo array. x = n-1... length = n Figura 13.1: Visualização de uma variável chamada x, que aponta para um valor criado pelo mecanismo array. Observa-se que o valor da variável x é uma referência para uma estrutura de dados construída pelo mecanismo gerador array da linguagem Java. Variáveis Internas Internamente a esta estrutura, encontram-se n variáveis organizadas em uma ordem pré-estabelecida. O nome de cada uma delas corresponde a sua ordem dentro da estrutura: a primeira variável tem ordem 0, a segunda variável tem ordem 1, e assim por diante. A última variável tem ordem n 1. O valor da variável com ordem 0 pode ser recuperado utilizando-se o operador de ordem da seguinte forma: x[0]. Copyright c , Dr. Italo S. Vega 13-2

3 Tamanho de um array Além disso, a estrutura também comporta uma variável conhecida por length, cujo valor denota a quantidade de variáveis dentro do valor array. Neste caso, a quantidade de variáveis da estrutura apontada por x pode ser conhecida avaliando-se a expressão x.length. OBS: tecnicamente, a variável x aponta para uma estrutura criada pelo mecanismo array da linguagem Java. Entretanto, é comum a expressão... seja x um array de inteiros..., que se refere a x como se fosse um array. Nos apontamentos, a distinção será feita apenas quando houver dificuldade de entendimento Declaração de arrays Declara-se uma variável array especificando-se o tipo do array tipo de cada valor seguido por [] e o nome da variável array. Exemplo 13.3 A variável temperatura, com capacidade para armazenar diversos números inteiros pode ser declarada como: int[] temperatura; Esta frase em Java apenas declara a variável temperatura. A declaração não cria a estrutura array por ela apontada (Figura 13.2). temperatura = Figura 13.2: Efeito da declaração da variável temperatura Criação de Arrays A criação de um valor do tipo array envolve a ativação do operador new sobre o mecanismo array. A ativação do operador new exige a presença de um valor inteiro, indicando a quantidade de variáveis a serem criadas pelo mecanismo array. Assim, quando se ativa o operador com o valor n, o mecanismo, n variáveis e as encapsula em uma nova estrutura que pode ser acessada por um ponteiro. Exemplo 13.4 Para criar um array contendo 365 variáveis, deve-se escrever: temperatura = new int[365]; Esta frase em Java cria uma instância de array contendo 365 variáveis com a capacidade para armazenar valores do tipo int (Figura 13.3). Copyright c , Dr. Italo S. Vega 13-3

4 temperatura = length = 365 Figura 13.3: Efeito da construção do array de ints pelo operador new. Ou seja, o operador new, aciona o mecanismo array para que este fabrique uma nova estrutura contendo uma seqüência ordenada de 365 variáveis do tipo int. O mesmo efeito pode ser obtido declarando-se o ponteiro e imediatamente construindo-se o array: int[] temperatura = new int[365]; Esta frase declara a variável-ponteiro temperatura e imediatamente a faz apontar para a estrutura array contendo uma seqüência ordenada de 365 variáveis do tipo int Acesso aos Valores de um Array O acesso às variáveis da seqüência de uma estrutura de dados fabricada por um array é feito pelo operador de ordem []. Este operador recebe o nome de uma variável da seqüência um valor no intervalo 0.. (n 1). Ao ser avaliado, o operador de ordem retorna o valor armazenado na variável indicada. Exemplo 13.5 Para mostrar a temperatura do terceiro dia da máquina a vapor, escreve-se: System.out.println( temperatura[2] ); O registro da temperatura do sexto dia seria escrito como: temperatura[5] = 65; supondo uma temperatura de 65 graus neste dia. A Figura 13.4 ilustra uma situação do array apontado pela variável temperatura depois de um ano. temperatura = length = 365 Figura 13.4: Valores do array apontado pela variável-ponteiro temperatura depois de 1 ano. Copyright c , Dr. Italo S. Vega 13-4

5 13.6 Iniciadores de Arrays A linguagem Java oferece uma abreviação para o processo de declarar, construir e iniciar os valores de estruturas array. A abreviação consiste, basicamente, do nome do ponteiro e dos valores da seqüência do array listados entre chaves e separados por vírgula. Exemplo 13.6 Um exemplo desta sintaxe em Java é: int[] primos = {2,3,5,7; Observa-se que esta frase não faz uso do operador new. Copyright c , Dr. Italo S. Vega 13-5

6 EXERCÍCIOS 13.1 ESTRUTURA DE UM HISTÓRICO DE TEMPERATURAS Considere o problema de registrar as temperaturas diárias de uma máquina a vapor. O registro deve cobrir um ano (365 dias) de operação da máquina a vapor. O valor de cada dia é armazenado em uma variável interna a uma estrutura array conhecida pela variável-apontador temperatura. Tarefa Crie o projeto ex13.1. Tarefa Crie a classe Historico contendo uma variável temperatura capaz de apontar para um valor do tipo array de 365 temperaturas int. Tarefa Crie o objeto h:historico e inspecione a sua estrutura interna. Em particular, qual o valor de h.length? 13.2 PROCESSAMENTO DE TEMPERATURAS (refinamento do exercício anterior.) Tarefa Proponha um mapa de execução baseado em repetição com contador para limpar as temperaturas do array temperatura. Neste caso, limpar significa inserir o valor -1 em todas as variáveis do array. Tarefa Refaça o mapa proposto acrescentando o contexto de execução: Historico: obtém a variável temperatura e é capaz de executar o método limpar():void, que armazena o valor 1 em todas as variáveis da temperatura. Tarefa Implemente o mapa proposto em Java. Tarefa Crie o objeto h:historico e mostre que, após receber a mensagem h.limpar(), a variável interna temperatura aponta para um array contendo apenas valores -1. Tarefa Proponha uma extensão do mapa de execução anterior da seguinte forma. Depois de limpar os valores das temperaturas, o usuário pode indicar um dia e o valor da temperatura naquele dia, armazenando-o de forma adequada na variável temperatura. Quando o dia informado assumir o valor -1, todos os valores armazenados no array deverão ser apresentados, encerrando a computação. (OBS: denomine este novo método de obtertemperatura(d:int, t:int):void, com d representando um particular dia de medição, e t, a respectiva temperatura naquele dia.) Tarefa Altere a classe Historico para implementar esta extensão ERRO DE ACESSO (Exercício inspirado em Lewis & Loftus, Java Software Solutions: Foundations of Program Design, 2001, Addison-Wesley.) Tarefa Crie o projeto ex13.3 e a classe Sequencia da seguinte forma: Copyright c , Dr. Italo S. Vega 13-6

7 public class Sequencia { public int[] numeros = {3,2,3,6,9,10,12,32,3,12,6; pubilc void mostrar() { for( int i = 1; i <= numeros.length;i ++ ) { System.out.println( numeros[ i ] ); Tarefa Crie o objeto s:sequencia e envie a mensagem s.mostrar(). Descreva o que acontece nesta computação. Tarefa Quais alterações devem ser feitas no código para corrigir o erro, supondo que a meta é mostrar todos os valores de numero? 13.4 INVERSÃO DE SEQÜÊNCIAS (Exercício inspirado em Lewis & Loftus, Java Software Solutions: Foundations of Program Design, 2001, Addison-Wesley.) Descreva uma computação que leia uma lista contendo quatro números (do tipo double) do usuário, armazene-os em um array e depois apresente-os em ordem oposta na tela. Tarefa Elabore um mapa de execução contendo os passos de uma computação que atenda à meta proposta. Tarefa Refaça o mapa acrescentando o contexto: Sequencia: armazena os números informados pelo usuário na variávelarray numeros. Cada número é armazenado quando se executa o método obternumero(n:double):void. Esta classe também oferece o método reverter():void, que troca os números do array, e o método mostrar():void, que mostra os valores armazenados na variável numeros. Tarefa Crie o objeto s:sequencia e informe os números: 45.7, 55.2, 69.0, Tarefa Após receber a mensagem s.reverter(), quais valores são apresentados na execução do método mostrar()? 13.5 ARGUMENTOS DO MÉTODO PRINCIPAL Toda aplicação em Java tem um método main com o parâmetro String[] args. Este parâmetro indica que o método main() recebe um array de Strings, cada um deles representando um argumento quando da execução da aplicação. Tarefa Crie o projeto ex13.5 e a classe Aplicacao da seguinte forma: public class Aplicacao { public static void main( String[] args ) { if( args[0].equals(" -h") ) { Copyright c , Dr. Italo S. Vega 13-7

8 System.out.println( "Uso: -d <dia>" ); else if( args[0].equals(" -d") ) { System.out.print( "Dia " + args[1]); for( int i = 0; i < args.length; i++ ) { System.out.println( " " + args[ i ] ); Tarefa Execute o método main() com os seguintes argumentos, e preencha o correspondente resultado: Argumentos " -h" " -d 7" " -d 5 -t 65" Resultado Tarefa Descreva as computações realizadas por esta aplicação (uma para cada argumento) utilizando um mapa de execução. O que acontece quando args.length == 0? Tarefa Proponha um mapa de execução de modo que, quando args.length == 0, a aplicação entre em uma repetição solicitando o par (dia:int,temperatura:int) para o usuário, e armazenando em uma variável temperatura que aponta para uma estrutura array contendo 365 variáveis do tipo int. (Sugestão: reutilize a classe Historico.) Adote o dia -1 como sentinela da aplicação. Ao sair da repetição, a aplicação deverá mostrar os valores armazenados na estrutura. Tarefa Implemente o mapa proposto em Java, alterando a classe Aplicacao de forma apropriada. Copyright c , Dr. Italo S. Vega 13-8

9 13.6 MÁXIMO E MÍNIMO Considere uma aplicação que solicite uma seqüência de números inteiros positivos para o usuário, e informe o maior e o menor deles. A seqüência não pode conter mais do que 10 números. Internamente, a aplicação deverá armazenar os números fornecidos pelo usuário em um array apontado pela variável numeros. Somente depois que o usuário fornecer o sentinela (-1) é que a aplicação deverá determinar os limites da seqüência e apresentá-los para o usuário. Tarefa Proponha um mapa de execução descrevendo os passos desta computação. Tarefa Refaça o mapa proposto acrescentando o contexto Sequencia. Este contexto deverá conter a variável numeros, capaz de apontar para um array de ints. Também deverá oferecer os métodos: obternumero(n:int):void (que insere n em numeros), e mostrarmaior():int e mostrarmenor():int (acionados apenas quando o usuário digitar -1). Tarefa anterior. Tarefa Crie o projeto ex13.6 e implemente o mapa elaborado na tarefa Considerando que o usuário tenha fornecido a seqüência: 56,34,123,8,333, 1 quais os valores apresentados pela aplicação? Faça um desenho mostrando a situação final da variável-ponteiro numeros(bem como do array por ela apontado). Tarefa int[] outra = numeros; Antes de encerrar a aplicação, acrescente a seguinte linha: Crie uma forma de mostrar, alterando a aplicação a partir deste ponto, que a variável outra aponta para o mesmo array apontado pela variável numeros. Faça um desenho da situação das variáveis numeros e outra. Tarefa A linguagem Java oferece uma operação arraycopy(), que copia os valores de um array para outro. A sintaxe é dada por: System.arraycopy( origem, i, destino, j, n ); Descubra (consultando alguma bibliografia de referência) como utilizar esta operação para copiar os valores da variável numeros para a variável outra. Crie uma forma de mostrar que estas variáveis não mais compartilham o mesmo array. Faça um desenho das estruturas array ilustrando a sua proposta CLASSIFICAÇÃO POR SELEÇÃO (Exercício inspirado em Lewis & Loftus, Java Software Solutions: Foundations of Program Design, 2001, Addison-Wesley.) O mapa de execução apresentado na Figura 13.6 descreve o algoritmo de classificação conhecido por selection sort. Copyright c , Dr. Italo S. Vega 13-9

10 Laboratório de Programação Maio de 2004 ordenarporclassificacao( int[ ] lista ) i 0 min i [ i < ( lista.length-1) ] i++ anterior lista[ min ] lista[ min ] lista[ i ] lista[ i ] anterior k i +1 k++ [ k < lista.length ] [lista [k] < lista [min] ] min k Figura 13.5: Mapa de execução descrevendo o algoritmo de classificação por seleção. O mapa mostra que o método ordenarporclassificação recebe um array conhecido por lista como argumento. Tarefa Supondo que o mapa é parte do contexto Classificador, codifique esta classe no projeto ex13.7. Tarefa Acrescente a variável notas na classe Classificador, usando a forma Java abreviada para arrays com os seguintes valores: 89,94,69,80,97,85,73,91,77,85,93 Tarefa Altere o mapa de execução proposto de modo a ser possível visualizar o array notas depois de classificado. Implemente a alteração e execute a aplicação HISTOGRAMA (Exercício inspirado em Lewis & Loftus, Java Software Solutions: Foundations of Program Design, 2001, Addison-Wesley.) Desenhe e implemente uma aplicação que crie um histograma a partir de um conjunto de valores. A aplicação deverá ler uma quantidade arbitrária de números inteiros no intervalo ; em seguida, produzirá uma carta similar àquela apresentada a seguir, que indica quantos valores de entrada pertenciam ao intervalo 1 10, 11 20, e assim por diante. Um asterisco deverá ser mostrado para cada valor de entrada **** ** ********************* *** ********** ***** * ********* *************** Copyright c , Dr. Italo S. Vega 13-10

11 13.9 REVISÃO Horizontais: 2 Tipo de instrução que reduz o universo de objetos em uma aplicação. 4 Conjunto de operações de um objeto. 6 Aquilo que se observa quando um objeto executa um método. 8 Valor Java normalmente utilizado em instruções de destruição de objetos. 11 Categoria de um atributo equivalente a uma operação [[<query>]]. 12 Tipo de instrução para fabricar novos objetos a partir de uma classe. 13 Tipo de instrução que, ao ser executada, provoca um efeito colateral. Verticais: 1 Ao ser avaliada, produz um resultado. 3 Mecanismo que permite o agrupamento de atributos e métodos no paradigma de objetos. 5 Tipo de operação que cria um novo objeto a partir de um pré-existente, com o mesmo estado. 7 Série finita de instruções executadas por um objeto quando ele recebe uma mensagem. 9 Estereótipo UML para representar operações-comando. 10 Categoria de um atributo equivalente a uma operação [[<update>]] MEDIÇÃO DE TEMPERATURAS Considere o problema de registrar as temperaturas diárias de uma máquina a vapor. O registro deve cobrir um ano (365 dias) de operação da máquina a vapor. O valor de cada dia é armazenado em uma variável interna a uma estrutura array conhecida pelo apontador temperatura. Tarefa Proponha um mapa de execução baseado em repetição com contador para zerar as temperaturas do array temperatura. Tarefa Refaça o mapa proposto acrescentando os contextos da aplicação, do teclado e da tela. Tarefa Implemente o mapa proposto em Java, utilizando a classe Aplicacao do diretório ex Mostre que a aplicação zerou a variável array. Tarefa Proponha uma extensão do mapa de execução anterior da seguinte forma. Depois de zerar os valores das temperaturas a aplicação solicita que Copyright c , Dr. Italo S. Vega 13-11

12 o usuário indique o dia e o valor da temperatura naquele dia, armazenando-o de forma adequada na variável temperatura. Quando o dado de entrada representando o dia assumir o valor zero, a aplicação mostra os valores de todas as variáveis do array e termina. Tarefa extensão. Altere a classe Aplicacao do diretório ex13.10para implementar esta ERRO DE ACESSO (Exercício inspirado em Lewis & Loftus, Java Software Solutions: Foundations of Program Design, 2001, Addison-Wesley.) Descreva o que acontece no seguinte código em Java. Quais alterações devem ser feitas no código? int[] numeros = {3,2,3,6,9,10,12,32,3,12,6; for( int i = 1; i <= numeros.length;i ++ ) { System.out.println( numeros[ i ] ); INVERSÃO DE SEQÜÊNCIAS (Exercício inspirado em Lewis & Loftus, Java Software Solutions: Foundations of Program Design, 2001, Addison-Wesley.) Crie uma aplicação que leia uma lista contendo quatro números do usuário, armazeneos em um array e depois apresente-os na ordem oposta na tela. Tarefa Proponha um mapa de execução descrevendo uma seqüência de eventos para esta aplicação. Tarefa Refaça o mapa proposto acrescentando os contextos da aplicação, do teclado e da tela. Tarefa Crie as classes no diretório ex13.12, implementando o mapa elaborado na tarefa anterior. Tarefa Considerando que o usuário tenha fornecido a seqüência: 45.7, 55.2, 69.0, quais os valores apresentados pela aplicação? Faça um desenho mostrando a situação final da variável-ponteiro numero (bem como do array por ela apontado) ARGUMENTOS DO PROCESSO PRINCIPAL Toda aplicação em Java tem um método main com o parâmetro String[] args. Este parâmetro indica que o método main recebe um array de strings, cada um deles representando um argumento quando da execução da aplicação. Considere a seguinte aplicação: public class Aplicacao { public static void main( String[] args ) { if( args[0].equals( "-h" ) ) { System.out.println( "Uso: java Aplicacao -d <dia>" ); else if( args[0].equals( "-d" ) ) { System.out.print( "Dia " + args[1]); for( int i = 0; i < args.length; i++ ) { System.out.println( " " + args[ i ] ); Copyright c , Dr. Italo S. Vega 13-12

13 Tarefa Implemente esta classe no diretório ex Execute a aplicação proposta utilizando as seguintes linhas de execução: java Aplicacao -h java Aplicacao -d 7 java Aplicacao -d 5 -t 65 Tarefa Descreva as computações realizadas por esta aplicação utilizando um mapa de execução. O que acontece quando args.length == 0? Tarefa Proponha um mapa de execução de modo que, quando args.length == 0, a aplicação entre em uma repetição solicitando o par (dia:int,temperatura:int) para o usuário, e armazenando em uma variável temperatura que aponta para uma estrutura array contendo 365 variáveis do tipo int. Adote o dia zero como sentinela da aplicação. Ao sair da repetição, a aplicação deverá mostrar os valores armazenados na estrutura. Tarefa Implemente o mapa proposto em Java, alterando a classe Aplicacao do diretório ex MÁXIMO E MÍNIMO Considere uma aplicação que solicite uma seqüência de números inteiros positivos para o usuário, e informe o maior e o menor deles. A seqüência não pode conter mais do que 10 números. Internamente, a aplicação armazena os números fornecidos pelo usuário em um array apontado pela variável numero. Somente depois que o usuário fornecer o sentinela ( 1) é que a aplicação deverá determinar os limites da seqüência e apresentá-los para o usuário. Tarefa Proponha um mapa de execução descrevendo uma seqüência de eventos para esta aplicação. Tarefa Refaça o mapa proposto acrescentando os contextos da aplicação, do teclado e da tela. Tarefa Crie as classes no diretório ex13.14, implementando o mapa elaborado na tarefa anterior. Tarefa Considerando que o usuário tenha fornecido a seqüência: 56,34,123,8,333, 1 quais os valores apresentados pela aplicação? Faça um desenho mostrando a situação final da variável-ponteiro numero (bem como do array por ela apontado). Tarefa int[] outro = numero; Antes de encerrar a aplicação, acrescente a seguinte linha: Crie uma forma de mostrar, alterando a aplicação a partir deste ponto, que a variável outro aponta para o mesmo array apontado pela variável numero. Faça um desenho da situação das variáveis numero e outro. Tarefa A linguagem Java oferece uma operação arraycopy, que copia os valores de um array para outro. A sintaxe é dada por: Copyright c , Dr. Italo S. Vega 13-13

14 Laboratório de Programação Maio de 2004 System.arraycopy( origem, i, destino, j, n ); Descubra (consultando alguma bibliografia de referência) como utilizar esta operação para copiar os valores da variável numero para a variável outro. Crie uma forma de mostrar que estas variáveis não mais compartilham o mesmo array. Faça um desenho das estruturas array ilustrando a sua proposta CLASSIFICAÇÃO POR SELEÇÃO (Exercício inspirado em Lewis & Loftus, Java Software Solutions: Foundations of Program Design, 2001, Addison-Wesley.) O mapa de execução apresentado na Figura 13.6 descreve o algoritmo de classificação conhecido por selection sort. ordenarporclassificacao( int[ ] lista ) i 0 [ i < ( lista.length-1) ] min i i++ anterior lista[ min ] lista[ min ] lista[ i ] lista[ i ] anterior k i +1 k++ [ k < lista.length ] [lista [k] < lista [min] ] min k Figura 13.6: Mapa de execução descrevendo o algoritmo de classificação por seleção. O mapa mostra que o método ordenarporclassificação recebe um array conhecido por lista como argumento. Tarefa Supondo que o mapa é parte do contexto da aplicação, implemente-o na classe Aplicacao, parte do diretório ex Tarefa Crie o método main da aplicação, de forma que um array conhecido por notas seja declarado de forma abreviada com os seguintes valores: 89,94,69,80,97,85,73,91,77,85,93 Tarefa Altere o mapa de execução proposto de modo a ser possível visualizar o array notas depois de classificado. Implemente a alteração e execute a aplicação. Copyright c , Dr. Italo S. Vega 13-14

15 13.16 HISTOGRAMA (Exercício inspirado em Lewis & Loftus, Java Software Solutions: Foundations of Program Design, 2001, Addison-Wesley.) Desenhe e implemente uma aplicação que crie um histograma a partir de um conjunto de valores. A aplicação deverá ler uma quantidade arbitrária de números inteiros no intervalo ; em seguida, produzirá uma carta similar àquela apresentada a seguir, que indica quantos valores de entrada pertenciam ao intervalo 1 10, 11 20, e assim por diante. Um asterisco deverá ser mostrado para cada valor de entrada **** ** ********************* *** ********** ***** * ********* *************** Copyright c , Dr. Italo S. Vega 13-15

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 6 Prof. ISVega Março de 2004 Representação de Computações CONTEÚDO 6.1 Modelagem

Leia mais

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 11 Prof. ISVega Abril de 2004 Iteração com Sentinela CONTEÚDO 11.1Repetição

Leia mais

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 9 Prof. ISVega Março de 2004 Controle de Execução: Seleção Múltipla CONTEÚDO

Leia mais

Laboratório de Programação

Laboratório de Programação Iteração com Sentinela 1 Laboratório de Programação Dr. Italo Santiago Vega Curso de Graduação Ciência da Computação Pontifícia Universidade de São Paulo Copyright 1998-2004, Italo S. Vega Iteração com

Leia mais

Lógica de Programação e Algoritmos

Lógica de Programação e Algoritmos Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Cap. 4 Estruturas de Dados Homogêneas Vetores e Matrizes Conteúdo: 4.1 Variáveis compostas homogêneas... 55 4.2 Vetores... 56 Exercícios

Leia mais

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 14 Prof. ISVega Maio de 2004 Mecanismo de Exceções em Java CONTEÚDO 14.1Erros,

Leia mais

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes Aula 08 Estruturas de Condição Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Entrada de Dados; Estruturas de Controle: Estrutura de Sequência;

Leia mais

AULA 6 - ARRAYS. Array de 10 elementos

AULA 6 - ARRAYS. Array de 10 elementos 1 AULA 6 - ARRAYS Arrays são objetos que armazenam diversas variáveis do mesmo tipo. Eles podem conter variáveis de referência primitivas ou de objeto, mas o array propriamente dito sempre será um objeto

Leia mais

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias. 5 Arrays Arrays são grupos de variáveis do mesmo tipo. As arrays podem armazenar variáveis de qualquer tipo (tipo de dado primitivo ou objetos), mas é importante lembrar que todos os valores devem ser

Leia mais

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO

Leia mais

Laboratório de Programação

Laboratório de Programação Variáveis e Valores 1 Laboratório de Programação Dr. Italo Santiago Vega Curso de Graduação Ciência da Computação Pontifícia Universidade de São Paulo Copyright 1998-2004, Italo S. Vega Variáveis e Valores

Leia mais

Vetores Unimensionais

Vetores Unimensionais Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Imprimir elementos de um

Leia mais

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes o Objetos. Classes, objetos, métodos e variáveis de instância Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento

Leia mais

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

Criando a Classe Pessoa Exemplo: Crie e modele uma classe que receba o nome, idade e peso de uma Pessoa. Ao final mostre os dados na tela.

Criando a Classe Pessoa Exemplo: Crie e modele uma classe que receba o nome, idade e peso de uma Pessoa. Ao final mostre os dados na tela. Aula 09 Criando a Classe Pessoa Exemplo: Crie e modele uma classe que receba o nome, idade e peso de uma Pessoa. Ao final mostre os dados na tela. Conforme a aula anterior vamos seguir as regras de padronização

Leia mais

Exercícios: Vetores e Matrizes

Exercícios: Vetores e Matrizes Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor

Leia mais

4ª Lista de Exercícios de Programação I

4ª Lista de Exercícios de Programação I 4ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. 1. Faça um algoritmo que leia 10 valores inteiros armazenando-os em um vetor e depois calcule a soma dos valores

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

4ª Lista de Exercícios de Programação I

4ª Lista de Exercícios de Programação I 4ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. 1. Faça um algoritmo que leia 10 valores inteiros armazenando-os em um vetor e depois calcule a soma dos valores

Leia mais

Estrutura de Dados Funções e Procedimentos

Estrutura de Dados Funções e Procedimentos Estrutura de Dados Funções e Procedimentos Prof. Salustiano Rodrigues de Oliveira saluorodrigues@gmail.com www.profsalu.wordpress.com Java A linguagem Java utiliza o paradigma de programação orientada

Leia mais

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 5 Prof. ISVega Março de 2004 Variáveis e Valores CONTEÚDO 5.1 Variáveis: Fundamentos..............

Leia mais

Vetores Unimensionais

Vetores Unimensionais Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Acessar elementos de um

Leia mais

INSTRUÇÕES DE REPETIÇÃO

INSTRUÇÕES DE REPETIÇÃO Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 6 INSTRUÇÕES DE REPETIÇÃO As instruções de repetição permitem fazer com que a execução de uma

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

Algoritmos I Aula 13 Linguagem de Programação Java

Algoritmos I Aula 13 Linguagem de Programação Java Algoritmos I Aula 13 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação IDE Eclipse IDE (Integrated development environment) Criar um projeto

Leia mais

Lição 4 Fundamentos da programação

Lição 4 Fundamentos da programação Lição 4 Fundamentos da programação Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Identificar as partes básicas de um programa em Java Reconhecer as diferenças

Leia mais

Sintaxe Básica de Java Parte 2

Sintaxe Básica de Java Parte 2 Sintaxe Básica de Java Parte 2 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Instruções Condicionais A instrução

Leia mais

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que

Leia mais

Lição 7 Array em Java

Lição 7 Array em Java Lição 7 Array em Java Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Declarar e criar arrays Acessar elementos de um array Determinar o número de elementos em um

Leia mais

Programação para GI. Subprogramas

Programação para GI. Subprogramas nível 05/05/2015 Programação para GI Aula 08 Java é uma linguagem de programação orientada a objetos (POO). O objetivo desta aula é escrever programas em Java organizando o código em subprogramas (funções)

Leia mais

Instituto Politécnico de Setúbal. Escola Superior de Tecnologia. Departamento de Sistemas e Informática. Guia para codificação em JAVA

Instituto Politécnico de Setúbal. Escola Superior de Tecnologia. Departamento de Sistemas e Informática. Guia para codificação em JAVA Instituto Politécnico de Setúbal Escola Superior de Tecnologia Departamento de Sistemas e Informática Guia para codificação em JAVA Disciplina de Introdução à Programação Ano Lectivo 2003/2004 CONTEÚDO

Leia mais

Vetores Unimensionais

Vetores Unimensionais Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Imprimir elementos de um

Leia mais

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano Linguagem de Programação 1 Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano Objetivo: Apresentar a composição lógica em estruturas de decisão e as

Leia mais

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas) Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 Lista Obrigatória 02 - Prof. Rafael Oliveira (Deve ser entregue em PDF via Moodle: Escolha apenas 5 exercícios para entrega) Exercício 01

Leia mais

È um tipo estruturado homogêneo

È um tipo estruturado homogêneo Em Java, arrays são objetos que possuem componentes. Estes componentes devem ser todos do mesmo tipo e podem ser primitivos ou outros objetos. Os arrays têm tamanho fixo È um tipo estruturado homogêneo

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for

Leia mais

Variáveis Compostas Homogêneas Vetores

Variáveis Compostas Homogêneas Vetores Variáveis Compostas Homogêneas Vetores Lógica de Programação Prof. Kleber Rezende Considerações Iniciais Os vetores são variáveis estruturadas homogêneas capazes de armazenar uma série de informações de

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-5 Estruturas de Decisão e Controle. Arrays em Java Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de

Leia mais

Estrutura de Dados. Introduc a o e Alocac a o de Memo ria. Vilson Heck Junior. Instituto Federal de Santa Catarina

Estrutura de Dados. Introduc a o e Alocac a o de Memo ria. Vilson Heck Junior. Instituto Federal de Santa Catarina Estrutura de Dados Introduc a o e Alocac a o de Memo ria Vilson Heck Junior Instituto Federal de Santa Catarina 2015 Sumário 1 Sumário 2 Introdução 3 Dados Compostos Heterogêneos O Problema A Solução Objetos

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Faculdade de Computação Aula Revisão Marcelo Zanchetta do Nascimento Material elaborado pela Profa. Ana Carolina Lorena - UNIFESP Desenvolvimento de Software ANÁLISE IMPLEMENTAÇÃO

Leia mais

Fundamentos de Programação 1

Fundamentos de Programação 1 Fundamentos de Programação 1 Slides N. 2 D / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo SIMÃO

Leia mais

Programação de Computadores I. Aula - Vetores. Professor Ilaim Costa Junior.

Programação de Computadores I. Aula - Vetores. Professor Ilaim Costa Junior. Programação de Computadores I Aula - Vetores Professor Ilaim Costa Junior www.ic.uff.br/~ilaim Vetores Estruturas de dados composta Permitem a uma variável armazenar múltiplos valores de um mesmo tipo

Leia mais

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes Aula 03 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu.br/~brunogomes Agenda da Aula Representação de Algoritmos em Pseudocódigo: Tipos de Dados;

Leia mais

Algoritmos II prof. Daniel Oliveira

Algoritmos II prof. Daniel Oliveira Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

Seleção Múltipla Laços (while, do-while, for) AULA 05

Seleção Múltipla Laços (while, do-while, for) AULA 05 Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Seleção Múltipla Laços (while, do-while, for) AULA 05 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Até aqui...

Leia mais

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça Introdução Universidade Federal de Uberlândia Programação Orientada a Objetos Prof. Fabiano Dorça Introdução Definições iniciais: classe, objeto, métodos, atributos. Introdução Ao escrever um programa

Leia mais

Linguagem de programação Java

Linguagem de programação Java Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Java Professor: Saulo Henrique Cabral Silva ENTENDENDO O JAVA 2 Entendendo o Java executando... A instância da JVM irá iniciar

Leia mais

Polimorfismo e Ligação Dinâmica. Alcides Pamplona Polimorfismo e Ligação Dinâmica

Polimorfismo e Ligação Dinâmica. Alcides Pamplona Polimorfismo e Ligação Dinâmica Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona alcides.pamplona@gmail.com Tópicos Ligação Dinamica Polimorfismo Verificação Dinâmica de Tipos 2 Introdução A vinculação ou ligação

Leia mais

LISTA DE EXERCÍCIOS 2

LISTA DE EXERCÍCIOS 2 UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO DE CIÊNCIA DA COMPUTAÇÃO PROGRAMAÇÃO DE COMPUTADORES 1. TIPOS COMPOSTOS DE DADOS LISTA DE EXERCÍCIOS 2 1. Considerando as declarações abaixo, responda dizendo

Leia mais

Variáveis primitivas e Controle de fluxo

Variáveis primitivas e Controle de fluxo Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

Leia mais

Técnicas de Programação

Técnicas de Programação Técnicas de Programação Algoritmos Anderson Gomes Eleutério Lógica A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir

Leia mais

Tipos Abstratos de Dados. Estrutura de Dados

Tipos Abstratos de Dados. Estrutura de Dados Tipos Abstratos de Dados Tipo Abstrato de Dados ou TAD Idéia principal: desvincular o tipo de dado (valores e operações) de sua implementação: O que o tipo faz e não como ele faz! Vantagens da desvinculação:

Leia mais

Instituto de Informática Estrutura de Dados II

Instituto de Informática Estrutura de Dados II Instituto de Informática Estrutura de Dados II Revisão de Métodos em Classes Aplicada a Estrutura de Dados Básicas 20/08/2018 Profa. Lucília Gomes Ribeiro Prof. Dirson S Campos Programação em Java q O

Leia mais

6 a Lista Complementar de Exercícios de CI208 Programação de Computadores 13/02/2014

6 a Lista Complementar de Exercícios de CI208 Programação de Computadores 13/02/2014 6 a Lista Complementar de Exercícios de CI208 Programação de Computadores 13/02/2014 Parte A - Exercícios de Fixação de Aprendizagem 1. Faça um programa em C++ que leia do teclado uma sequência de 10 números

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual

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????? ADAPTAR O TEXTO ABAIXO????? Aprender a sintaxe da Estrutura de Repetição ENQUANTO-FAÇA na linguagem PORTUGOL Aprender a resolver problemas que requeiram o uso de ESTRUTURAS

Leia mais

CONTEÚDO 04 VETORES. Disciplina: Algoritmos e POO Professora: Alba Lopes.

CONTEÚDO 04 VETORES. Disciplina: Algoritmos e POO Professora: Alba Lopes. CONTEÚDO 04 VETORES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br http://docente.ifrn.edu.br/albalopes INTRODUÇÃO Variável Analogia: uma caixa, na qual você pode dar o nome

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos

Leia mais

Algoritmos II Aula 2 Vetores

Algoritmos II Aula 2 Vetores Algoritmos II Aula 2 Vetores Professor: Max Pereira max.pereira@unisul.br Ciência da Computação Variável Representação simbólica dos elementos de memória de um computador. Cada variável corresponde a uma

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: ponteiros e alocação dinâmica Prof. Renato Pimentel 1 Ponteiros 2 Prof. Renato Pimentel 1 Ponteiros: introdução Toda a informação

Leia mais

DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS

DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS LISTA DE EXERCÍCIOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS 1. Crie um modelo (classe)

Leia mais

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos.

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Lista de exercícios 6 Exercícios sobre repetição 1. Escreva um método que lê via teclado 8 números e retorna

Leia mais

Exercícios: Arquivos

Exercícios: Arquivos Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Arquivos 1. Codifique, compile e execute um programa que: (a) crie/abra

Leia mais

Aula 3: Algoritmos: Formalização e Construção

Aula 3: Algoritmos: Formalização e Construção Aula 3: Algoritmos: Formalização e Construção Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Formalização e Pseudo-Código Programação de

Leia mais

JAVA NETBEANS Aula PGOO Prof. Daniela Pires Conteúdo

JAVA NETBEANS Aula PGOO Prof. Daniela Pires Conteúdo Conteúdo Array... 2 Primeira:... 2 Segunda:... 2 DECLARANDO VÁRIOS ARRAYS... 3 Descobrindo o tamanho de um array... 3 Inicializando um array... 3 Percorrendo Arrays... 4 Arrays multidimensionais... 5 Novo

Leia mais

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga Algoritmos e Programação II Aula 3 Sobrecarga *Adaptado do material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, com nomes

Leia mais

Pseudocódigo e Visualg

Pseudocódigo e Visualg Pseudocódigo e Visualg Professor: Alex Sandro Forghieri alex.forghieri@ifsc.edu.br Agenda Revisão Algoritmos Estrutura de dados Estrutura básica de um algoritmo em pseudocódigo Teste de mesa Operadores

Leia mais

Estruturas de Repetição

Estruturas de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números

Leia mais

Fundamentos de programação

Fundamentos de programação Fundamentos de programação Métodos Modularização de código Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno O que é um método? Um método é um trecho de código identificado Possuem um

Leia mais

Lógica de Programação e Algoritmos com exemplos na linguagem JAVA

Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Cap. 5 Programação Estruturada: Funções Conteúdo: 5.1 Programação estruturada ou modular... 66 5.2 Funções... 67 5.3 Passagem de parâmetros...

Leia mais

Um Modelo Semântico para a Linguagem Java Jorge Henrique Cabral Fernandes CIC-UnB Junho de Introdução

Um Modelo Semântico para a Linguagem Java Jorge Henrique Cabral Fernandes CIC-UnB Junho de Introdução Um Modelo Semântico para a Linguagem Java Jorge Henrique Cabral Fernandes CIC-UnB Junho de 2004 Introdução Este texto apresenta um modelo semântico inicial para um subconjunto da linguagem Java. A Figura

Leia mais

Lógica de Programação. Lógica de Programação com Java

Lógica de Programação. Lógica de Programação com Java Lógica de Programação Lógica de Programação com Java Sumário Lógica de programação 1. Algoritmos 2. Comentários no código 3. Tipos de dados 4. Constantes e Variáveis 5. O que devemos saber para começar

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são: Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.

Leia mais

Arrays (Vetores) Arrays (Vetores) 28/04/ Índices. profs. } Ex1: Se eu preciso manipular 100 nomes de pessoas ao mesmo tempo... é melhor...

Arrays (Vetores) Arrays (Vetores) 28/04/ Índices. profs. } Ex1: Se eu preciso manipular 100 nomes de pessoas ao mesmo tempo... é melhor... Arrays (Vetores) Ex1: Se eu preciso manipular 100 nomes de pessoas ao mesmo tempo... é melhor... Declarar 100 variáveis (1 para cada pessoa)... ou Declarar apenas 1 variável(um vetor com 100 nomes)? Ex2:

Leia mais

Programação Estruturada. Arrays

Programação Estruturada. Arrays Programação Estruturada Arrays Alexandre Lacerda alexandre.lacerda.ftc@gmail.com Agenda Rever: 1 Noções de Estrutura de Dados. 2 Declaração e Uso de Arrays: Unidimencionais. Multidimensionais. 3 Exercício

Leia mais

Variáveis Compostas. Vanessa Braganholo

Variáveis Compostas. Vanessa Braganholo Variáveis Compostas Vanessa Braganholo vanessa@ic.uff.br Aula de hoje } Veremos os diferentes tipos de variáveis compostas (arrays) } Com uma dimensão (vetores) } Com duas ou mais dimensões (matrizes)

Leia mais

Java - Estruturas de Decisão, Repetição e Arrays

Java - Estruturas de Decisão, Repetição e Arrays Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Estruturas de Decisão: if; Clausulas em Java; switch; Exercícios; Estruturas de Repetição: while;

Leia mais

Arrays e Marizes. João Paulo Q. dos Santos

Arrays e Marizes. João Paulo Q. dos Santos Arrays e Marizes João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Arrays e Matrizes em Java: Declaração; Criação; Acesso; 25/07/13 2 Array: tipos primitivos Os arrays (matriz unidimensional) em

Leia mais

Funções. Introdução à Computação para a Engenharia Ambiental

Funções. Introdução à Computação para a Engenharia Ambiental Funções Introdução à Computação para a Engenharia Ambiental Função Agrupa um conjunto de comandos e associa a ele um nome (iden>ficador). O emprego deste nome como um comando corresponde a uma chamada

Leia mais

Introdução a programação Comandos de repetição

Introdução a programação Comandos de repetição Instituto Federal de Minas Gerais Campus Ponte Nova Introdução a programação Comandos de repetição Professor: Saulo Henrique Cabral Silva Laços de repetição 2 Vamos começar com um exercício Imprimir os

Leia mais

Subprogramação. Leonardo Gresta Paulino Murta.

Subprogramação. Leonardo Gresta Paulino Murta. Subprogramação Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Estudaremos a estrutura mais básica de encapsulamento da Orientação a Objetos Métodos Leonardo Murta Subprogramação 2 Exemplo

Leia mais

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo Usando o Eclipse - Fundamentos Professor Vicente Paulo de Camargo O Eclipse é um ambiente de desenvolvimento integrado (IDE) É a ferramenta mais utilizada pelas empresas, visto que pode ser configurada

Leia mais

LINGUAGEM C: ARRAY: VETORES E MATRIZES

LINGUAGEM C: ARRAY: VETORES E MATRIZES LINGUAGEM C: ARRAY: VETORES E MATRIZES Prof. André Backes POR QUE USAR ARRAY? As variáveis declaradas até agora são capazes de armazenar um único valor por vez. Sempre que tentamos armazenar um novo valor

Leia mais

EXERCÍCIO DE SONDAGEM SEMESTRE DATAS: 21/06/2016 (TURMAS 01 E 02) Matrícula Nome Nota

EXERCÍCIO DE SONDAGEM SEMESTRE DATAS: 21/06/2016 (TURMAS 01 E 02) Matrícula Nome Nota Professor de INTRODUÇÃO À PROGRAMAÇÃO Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Disciplina: Técnicas de Programação Prof.:

Leia mais

3. Para a classe Circulo abaixo, escreva os métodos indicados pelos dois primeiros comentários.

3. Para a classe Circulo abaixo, escreva os métodos indicados pelos dois primeiros comentários. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Lista de exercícios 2 1. Dada a classe public class Material{ private int codigo; //todo material tem um código

Leia mais

Segundo trabalho prático de implementação Sistema de reserva de assentos

Segundo trabalho prático de implementação Sistema de reserva de assentos Segundo trabalho prático de implementação Sistema de reserva de assentos 1. Descrição do problema Computação Concorrente (MAB-117) 2016/2 Prof. Silvana Rossetto 1 DCC/IM/UFRJ 17 de novembro de 2016 Um

Leia mais

Análise de Programação

Análise de Programação Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou

Leia mais

Aula 4 Estruturas de Controle

Aula 4 Estruturas de Controle UNIP Universidade Paulista Ciência da Computação Aula 4 Estruturas de Controle Prof. Célio Ricardo Castelano 1 Tópicos Abordados 1) Instruções de seleção em Java: 2) Instruções de repetição em Java: 2

Leia mais

Sintaxe Básica do Java. João Paulo Q. dos Santos

Sintaxe Básica do Java. João Paulo Q. dos Santos Sintaxe Básica do Java João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Plano de Aula Introdução; Método Main; Variáveis: Tipos primitivos; Referências para Objetos; Operadores; Estruturas: Condicionais

Leia mais

Array em Java. Figura 1 - Exemplo de um array de inteiros

Array em Java. Figura 1 - Exemplo de um array de inteiros Array em Java 1. Objetivos Nesta lição, abordaremos Array em Java. Primeiro, definiremos o que é array e, então, discutiremos como declará-los e usá-los. Ao final desta lição, o estudante será capaz de:

Leia mais

Programação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -

Programação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes - Programação Java - Herança e Polimorfismo - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes relacionadas entre

Leia mais