Modelagem e Implementação (Incremental de um Software para Controle) de Aquário de Peixes

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

Download "Modelagem e Implementação (Incremental de um Software para Controle) de Aquário de Peixes"

Transcrição

1 Modelagem e Implementação de Aquário de Peixes- por Jorge Fernandes - Página 1 Modelagem e Implementação (Incremental de um Software para Controle) de Aquário de Peixes Jorge Fernandes Natal, Agosto de Objetivos O objetivo deste texto é apresentar uma seqüência de decisões de projeto e implementação com o objetivo de criar um programa em Java que manterá informações sobre um aquário de peixes ornamentais. Basicamente um cadastro dos peixes presentes no aquário será criado para facilitar a manutenção do aquário. Este texto é composto por mais 4 seções. A Seção 2 apresenta o modelo inicial do nossos sistema. 2. Modelagem do Sistema Obedecendo ao "Princípio da Abstração", criaremos uma série de representações de informação sobre os elementos que fazem parte do sistema (aquário e peixes), limitando as informações coletadas sobre estes elementos ao mínimo necessário. Isto é, o nosso modelo e implementação de software tratará apenas a quantidade de informações necessárias e suficientes para suportar as operações de manutenção do aquário. Mesmo que possamos armazenar uma grande informações diversas sobre o aquário, como formato do aquário, data de fabricação, fabricante, tipo de material usado na construção, etc, nos limitaremos a armazenar apenas os dados que são necessários a realização das operações de manutenção. A principal informação necessária para manutenção do aquário é seu volume de água em litros. Adicionalmente, como podemos controlar vários aquários com o software, precisamos dar um nome para cada aquário. Adicionalmente, o aquário contém um conjunto de peixes. Para cada peixe será armazenado sua espécie, sexo, nome ou apelido, e ano e mês de nascimento. 3. Regras para Manutenção de um Aquário Para facilitar a manutenção do aquário será necessário armazenar a data da última manutenção efetuada no mesmo (mês e ano). A manutenção compreende a limpeza do aquário e a retirada ou inserção de alguns peixes, conforme regras abaixo: 1. O somatório das idades dos peixes, em mêses, deve ser igual ou inferior, ao volume do aquário em litros de água; 2. Cada um dos peixes não deve viver em um aquário cujo volume, em litros, seja menor do que a quadrado da sua idade medida em bimestres. A periodicidade de manutenção dependerá do volume do aquário e da quantidade de peixes no mesmo.

2 Modelagem e Implementação de Aquário de Peixes - por Jorge Fernandes - Página 2 4. Funcionalidades Básicas do Programa A nossa primeira versão do programa só manipula as informações de um único aquário por vez, e deste modo deve oferecer suporte às seguintes opções: 1. Criação de um Aquário; 2. Inclusão de um Peixe no Aquário; 3. Remoção de um Peixe do Aquário; 4. Listagem de todos os peixes contidos no aquário; 5. Consulta sobre a data estimada da próxima manutenção do aquário, com listagem dos peixes que devem ser removidos na data estimada; 6. Registro de manutenção efetuada no aquário, com indicação da data na qual a mesma foi efetuada. A retirada dos peixes efetuada durante a manutenção deve ser informada através da opção de menu "Remoção de um Peixe do Aquário". 5. Funcionalidades para Gerenciamento de Dados Dado que todas as informações manipuladas pelo programa estão contidas em memória RAM, estas podem ser perdidas se não forem armazenadas em meio permanente. Por isto se faz necessário suportar mais duas operações no programa, chamadas operações de gerenciamento de dados: 1. Exportação - copia as informações sobre o aquário que estão em memória RAM, armazenando-as em um meio permanente (diskette ou no HD); 2. Importação - recupera as informações sobre o aquário que estão em meio permanente, e reconstrói na memória RAM as informações sobre o aquário. 6. Modelagem das Informações do Programa O diagrama de classes abaixo modela as informações necessárias para a manutenção do aquário. Modelo de dados do sistema de informações de um aquário Mais adiante faremos a modelagem das operações suportadas pelo programa. 7. Prototipagem do Sistema Obedecendo ao princípio de Construção de Software "Bottom-Up", faremos inicialmente a prototipagem dos objetos mais simples do sistema, no caso os peixes, para depois prosseguirmos com a prototipagem do aquário. 7.1 Definindo a classe Peixe Precisamos fornecer suporte à criação e manipulação de peixes. A classe Peixe_V1 modela os dados de um Peixe. Chamaremos de Peixe_V1 para indicar que é a versão 1 de nosso protótipo. class Peixe_V1 {

3 Modelagem e Implementação de Aquário de Peixes - por Jorge Fernandes - Página 3 String especie; String sexo; String nome; int anonascimento; int mesnascimento; 7.2 Criando um Peixe "Japones" chamado de "Grandao" Com a declaração de classe acima já é possível criar um objeto que armazene informações sobre um peixe. Colocaremos instruções para criação de peixes na classe aquário. O programa abaixo, por exemplo, cria um objeto peixe e associa algumas informações a eles. class Aquario_V1 { Peixe_V1 peixe = new Peixe_V1(); peixe.especie = "Japones"; peixe.nome = "Grandao"; peixe.anonascimento = 2000; peixe.mesnascimento = 1; peixe.sexo = "Macho"; 7.4 Criando um Peixe Qualquer O programa da classe Aquario_V1 (mais propriamente chamado de método main() da classe Aquario_V1, ou Aquario_V1.main) cria um objeto peixe, mas os dados do peixe são fixos (isto é, definidos dentro do próprio programa), o que o torna inflexível se quisermos usar este programa para criar peixes diferentes de um "Japones" chamado de "Grandao". A versão abaixo faz com que os dados do peixe, como espécie, nome, sexo, etc, sejam informados pelo usuário. Sobre os trechos de código "IO.readStr()" e "IO.readInt()", por enquanto é suficiente saber que readstr() e readint() são métodos da classe IO.java. Eles são responsáveis por capturar a entrada de dados do usuário, via teclado, e retornar os dados digitados no formato de objetos Strings (cadeias de caracteres) e números inteiros, respectivamente. class Aquario_V2 { Peixe_V1 peixe = new Peixe_V1(); peixe.especie = IO.readStr(); peixe.nome = IO.readStr(); peixe.anonascimento = IO.readInt(); peixe.mesnascimento = IO.readInt(); peixe.sexo = IO.readStr(); 7.5 O Método criapeixe() O programa Aquario_V2.main cria um único peixe, cujos dados são informados pelo usuário. No entanto, o objeto (da classe Peixe_V1) é destruído quando o programa é encerrado. Adicionalmente o

4 Modelagem e Implementação de Aquário de Peixes - por Jorge Fernandes - Página 4 método main, por definição, está exigindo a passagem de um array de strings como parâmetro, o que não é necessário para criação de peixes. A solução para resolver os problemas acima é criar um método novo (o chamaremos de criapeixe()), cujas responsabilidades são: (1) receber entrada de dados do usuário, (2) criar um objeto peixe, e (3) retornar, ao método chamador, o peixe criado. O código fica agora como abaixo. Manteremos o método main() de forma a indicar como se pode chamar o método Aquario_V3.criaPeixe() para criar um ou mais peixes. class Aquario_V3 { Peixe_V1 peixe = new Peixe_V1(); peixe.especie = IO.readStr(); peixe.nome = IO.readStr(); peixe.anonascimento = IO.readInt(); peixe.mesnascimento = IO.readInt(); peixe.sexo = IO.readStr(); return peixe; Peixe p1 = Aquario_V3.criaPeixe(); Peixe p2 = Aquario_V3.criaPeixe(); Peixe p3 = Aquario_V3.criaPeixe(); 7.6. Aumentando Compreensibilidade na Interface com o Usuário Perceba que as as solicitações de entrada de dados feitas ao usuário no método Aquario_V3.criaPeixe () são "silenciosas", o que dificulta ao usuário do programa saber o que deve deve ser digitado. O programa abaixo indica ao usuário, de forma mais clara, qual a informação que deve ser fornecida pelo usuário. Adicionalmente, como os métodos main() e criapeixe() estão declarados na mesma classe, não é necessário que o método main() informe explicitamente em qual classe está o método criapeixe(), o que reduz a quantidade de texto no código e aumenta a legibilidade do programa. A classe Aquario_V4 contém as melhorias de usabilidade (para o usuário) e legibilidade (para o programador). class Aquario_V4 { IO.println("Criando um peixe."); Peixe_V1 peixe = new Peixe_V1(); IO.println(" Informe a espécie do peixe e tecle <enter>:"); peixe.especie = IO.readStr(); IO.println(" Informe o nome do peixe (se tiver):"); peixe.nome = IO.readStr(); IO.println(" Informe o ano de nascimento do peixe (1999, 2000, 2001, etc.):"); peixe.anonascimento = IO.readInt(); IO.println(" Informe o mês de nascimento do peixe (1 - Janeiro, 2 - Fevereiro, etc.):"); peixe.mesnascimento = IO.readInt(); IO.println(" Informe o sexo do peixe, digite a letra "M" (Macho) ou "F" (Fêmea):"); peixe.sexo = IO.readStr(); IO.println("Peixe Criado!"); return peixe;

5 Modelagem e Implementação de Aquário de Peixes - por Jorge Fernandes - Página 5 Peixe p1 = criapeixe(); Peixe p2 = criapeixe(); Peixe p3 = criapeixe(); 7.7. Armazenando os Peixes em um Array Os peixes criados pelo programa Aquario_V4.main estão armazenados (referenciados) em variáveis individuais, o que inviabiliza a criação de uma quantidade arbitrária de peixes, visto que seria necessário a declaração de uma variável para cada objeto criado. O programa Aquario_V5.main utiliza uma estrutura de array para guardar uma quantidade qualquer de peixes. Para facilitar a visualização do código doravante omitiremos o código do método criapeixe(), que já está completo, e o moveremos para o final do código da classe. class Aquario_V5 { Peixe_V1[] peixes = new Peixe_V1[1000]; peixes[0] = criapeixe(); peixes[1] = criapeixe(); peixes[2] = criapeixe(); Perceba que apenas uma variável (peixes) é declarada no programa, mas esta referencia um array capaz de armazenar até mil peixes. Por outro lado, o programa ainda está limitado, pois efetivamente só cria uma quantidade fixa de peixes (três), armazenadas nas posições indicadas pelas constantes "0", "1" e "2". O programa deve delegar ao usuário a decisão de criar a quantidade de peixes que ele achar necessário, o que fazemos a seguir O Usuário no Controle Pleno da Criação de Peixes No programa Aquario_V6.main usamos uma estrutura de repetição (do { while()) e um índice (qtdpeixes) para indicar a posição na qual o peixe será armazenado. Como o índice não é mais uma constante, e sim uma variável, podemos iniciar armazenando os peixes na posição 0 (veja que a variável posição começa com o valor 0) e prosseguir incrementando qtdpeixes de um em um, o que armazena os outros peixes criados em posições subsequentes, até que o usuário desista de criar peixes. class Aquario_V6 { Peixe_V1[] peixes = new Peixe_V1[1000]; int qtdpeixes = 0; do { IO.println("Quer Criar um Peixe? (S/N)"); String opcao = IO.ReadStr(); if (opcao.equals("s")) { peixes[qtdpeixes] = criapeixe(); qtdpeixes++; while (! opcao.equals("n"));

6 Modelagem e Implementação de Aquário de Peixes - por Jorge Fernandes - Página Aperfeiçoando a Interface com o Usuário Uma série de melhorias podem ser feitas na interface com o usuário. Uma delas é a criação de uma estrutura de menu de opções, que permita ao usuário escolher qual, dentra as várias operações disponíveis, o usuário deseja executar. Por enquanto podemos oferecer ao usuário duas opções: (1) Inserir um peixe no aquário; e (2) Sair do Programa. A seleção da operação a ser realizada será baseada em números inteiros. Além do mais, poderiamos mostrar mensagens de erro no caso de uma falha de operação, oferecer um pouco mais de informações sobre a origem do programa, além de melhorar a aparência visual do mesmo. A classe Aquario_V7 mostra como estas melhorias podem ser efetuadas. class Aquario_V7 { Peixe_V1[] peixes = new Peixe_V1[1000]; int qtdpeixes = 0; do { IO.println("----- Programa Aquario - Menu de Opcoes -----"); IO.println(" 1 - Incluir um Peixe no Aquario -"); IO.println(" 2 - Sair do Programa -"); IO.println(" "); IO.println("Qual a sua Opção?"); int opcao = IO.ReadInt(); switch (opcao) { case 1 : peixes[qtdpeixes] = criapeixe(); qtdpeixes++; case 2: // opcao de saída do programa default: IO.println("Opcao invalida"); while (opcao!= 2); Informações sobre o Aquário e Outras Operações O programa ainda não manipula informações sobre o aquário. No início deste documento soubemos que é necessário armazenar o nome e o volume em litros de água que o aquário contém. Podemos criar uma nova opção de menu, para armazenar estas informações nas variáveis nome e volume. Outras melhorias que poderiamos fazer neste momento são: implementar a listagem de todos os peixes que estão no aquário;

7 Modelagem e Implementação de Aquário de Peixes - por Jorge Fernandes - Página 7 implementar a remoção de peixes do aquário. A operação solicita o nome do peixe a ser removido e o retira do aquário. Adicionalmente, todos os peixes que estavam armazenados em qtdpeixes após a qtdpeixes do peixe removido serão armazenados em uma qtdpeixes imediatamente inferior. Por exemplo, se os peixes P1, P2, P3 e P4 estavam respectivamente armazenados nas posicoes 0, 1, 2 e 3 do array de peixes, então após a remoção do peixe P2, os peixes P1, P3 e P4 estarão respectivamente armazenados na qtdpeixes 0, 1 e 2. A posição 3 estará vazia. Por fim, como mais adiante estaremos inserindo vários novas opções no programa vamos mover a opção de saída do programa para a posição 99, e incluir uma mensagem indicando que o programa encerrou. A classe abaixo implementa todas as melhorias discutidas acima. class Aquario_V8 { Peixe_V1[] peixes = new Peixe_V1[1000]; int qtdpeixes = 0; String nome; int volume; do { IO.println("----- Programa Aquario - Menu de Opcoes -----"); IO.println(" 1 - Incluir Informações Sobre o Aquario -"); IO.println(" 2 - Incluir um Peixe no Aquario -"); IO.println(" 3 - Listar os Peixes no Aquario -"); IO.println(" 4 - Excluir um Peixe no Aquario -"); IO.println(" 99 - Sair do Programa -"); IO.println(" "); IO.println("Qual a sua Opção?"); int opcao = IO.ReadInt(); switch (opcao) { case 1 : // 1 - Incluir Informações Sobre o Aquario IO.println("Informe o nome do aquário"); nome = IO.readStr(); IO.println("Informe o volume em litros do aquário"); volume = IO.readStr(); case 2 : // 2 - Incluir um Peixe no Aquario peixes[qtdpeixes] = criapeixe(); qtdpeixes++; case 3: // 3 - Listar os Peixes no Aquario IO.println("Aquario: " + nome + " - Volume de Agua: " + volume + " litros "+ " - Quantidade de Peixes: " + qtdpeixes); IO.println("INICIO Listagem de Peixes *********************"); IO.println("#-ESPECIE, NOME, ANO NASC, MES NASC, SEXO"); for (int i = 0; i < qtdpeixes; i++) { Peixe_V1 peixeatual = peixes[i]; IO.println("#"+i+"-"+ peixe.especie+","+ peixe.nome+","+ peixe.anonascimento+","+ peixe.mesnascimento+","+ peixe.sexo); IO.println("FIM Listagem de Peixes *********************");

8 Modelagem e Implementação de Aquário de Peixes - por Jorge Fernandes - Página 8 case 4 : // 4 - Excluir um Peixe no Aquario IO.println("Informe o nome do peixe a remover"); String nomepeixeprocurado = IO.readStr(); for (int i = 0; i < qtdpeixes; i++) { Peixe_V1 peixeatual = peixes[i]; String nomepeixeatual = peixeatual.nome; if (nomepeixeatual.equals(nomepeixeprocurado)) { // o peixe a ser removido foi encontrado peixes[i] = null; // remover o peixe procurado // deslocar de uma posição a menos, // todos os peixes que estavam armazenados // nas posicoes acima do peixe removido for (int j = i + 1; j < qtdpeixes; j++) { peixes[j-1] = peixes[j]; // esvaziar a posição do último peixe deslocado peixes[qtdpeixes-1] = null; // subtrair de um a quantidade de peixes no aquario qtdpeixes = qtdpeixes - 1; // sair do laco for case 99: // opcao de saída do programa default: IO.println("Opcao invalida"); while (opcao!= 99); IO.println("----- Programa Aquario - FIM -----"); IO.println("Obrigado por usar este software!"); 8. Modularidade Perceba que o programa já começa a ficar muito extenso, o que dificulta a sua legibilidade. Além do mais, a medida em que o programa fica maior e mais complexo, torna-se cada vez mais difícil identificar onde possíveis erros estão localizados. A implementação do software já necessita do uso de técnicas de domínio de complexidade, das quais a mais importante é chamada modularidade. Aplicaremos duas classes técnicas de modularização no programa acima para melhorar sua organização, sem que seja modificada sua funcionalidade: modularização de código e modularização de dados. 8.1 Modularização de Código - 1 Consiste em delimitar dentro de um método muito extenso os trechos de código que fazem tarefas bem definidas, em seguida é criado um método que realiza tal tarefa, e são substituidas as linhas de código no método original por uma chamada ao método criado. Na classe Aquario_V9 é feita a modularização da

9 Modelagem e Implementação de Aquário de Peixes - por Jorge Fernandes - Página 9 apresentação de menus e saudações. Perceba que na modularização da apresentação de menus, criamos um método que já retorna um inteiro com a opção selecionada. Perceba também que os trechos de código que realizam as operações permanecem intactos, por enquanto. class Aquario_V9 { Peixe_V1[] peixes = new Peixe_V1[1000]; int qtdpeixes = 0; String nome; int volume; do { int opcao = mostramenu(); switch (opcao) { case 1 : // 1 - Incluir Informações Sobre o Aquario IO.println("Informe o nome do aquário"); nome = IO.readStr(); IO.println("Informe o volume em litros do aquário"); volume = IO.readStr(); case 2 : // 2 - Incluir um Peixe no Aquario peixes[qtdpeixes] = criapeixe(); qtdpeixes++; case 3: // 3 - Listar os Peixes no Aquario IO.println("Aquario: " + nome + " - Volume de Agua: " + volume + " litros "+ " - Quantidade de Peixes: " + qtdpeixes); IO.println("INICIO Listagem de Peixes *********************"); IO.println("#-ESPECIE, NOME, ANO NASC, MES NASC, SEXO"); for (int i = 0; i < qtdpeixes; i++) { Peixe_V1 peixeatual = peixes[i]; IO.println("#"+i+"-"+ peixe.especie+","+ peixe.nome+","+ peixe.anonascimento+","+ peixe.mesnascimento+","+ peixe.sexo); IO.println("FIM Listagem de Peixes *********************"); case 4 : // 4 - Excluir um Peixe no Aquario IO.println("Informe o nome do peixe a remover"); String nomepeixeprocurado = IO.readStr(); for (int i = 0; i < qtdpeixes; i++) { Peixe_V1 peixeatual = peixes[i]; String nomepeixeatual = peixeatual.nome; if (nomepeixeatual.equals(nomepeixeprocurado)) { // o peixe a ser removido foi encontrado peixes[i] = null; // remover o peixe procurado // deslocar de uma posição a menos, // todos os peixes que estavam armazenados // nas posicoes acima do peixe removido

10 Modelagem e Implementação de Aquário de Peixes - por Jorge Fernandes - Página 10 for (int j = i + 1; j < qtdpeixes; j++) { peixes[j-1] = peixes[j]; // esvaziar a posição do último peixe deslocado peixes[qtdpeixes-1] = null; // subtrair de um a quantidade de peixes no aquario qtdpeixes = qtdpeixes - 1; // sair do laco for case 99: // opcao de saída do programa default: IO.println("Opcao invalida"); while (opcao!= 99); mostrasaudacaofinal(); private static int mostramenu() { IO.println("----- Programa Aquario - Menu de Opcoes -----"); IO.println(" 1 - Incluir Informações Sobre o Aquario -"); IO.println(" 2 - Incluir um Peixe no Aquario -"); IO.println(" 3 - Listar os Peixes no Aquario -"); IO.println(" 4 - Excluir um Peixe no Aquario -"); IO.println(" 99 - Sair do Programa -"); IO.println(" "); IO.println("Qual a sua Opção?"); int opcao = IO.ReadInt(); return opcao; private static void mostrasaudacaofinal() { IO.println("----- Programa Aquario - FIM -----"); IO.println("Obrigado por usar este software!"); 8.2 Modularização de Código - 2 A implementação das operações de menus está bem delimitada dentro da cláusula switch, mas se movessemos de cada um destes trechos de código para dentro de métodos específicos isto tornaria o programa bem mais legível e modular, como mostrado na classe Aquario_V10_com_erro_de_compilacao. O programa abaixo, em vez de contém um método com dezenas de linhas de código, contém vários métodos menores e modulares. Embora tenhamos melhorado a modularidade do mesmo, este apresenta um erro, explicado adiante. O erro decorre do fato de que cada um dos quatro métodos: incluirinfoaquario(), incluirpeixe(),

11 Modelagem e Implementação de Aquário de Peixes - por Jorge Fernandes - Página 11 listarpeixes() e excluirpeixes(), utiliza as variáveis peixes, qtdpeixes, nome e/ou volume, as quais são declaradas dentro do método main, e portanto estão fora do escopo dos outros quatro métodos. Uma solução é proposta na classe Aquario_V11. class Aquario_V10_com_erro_de_compilacao { Peixe_V1[] peixes = new Peixe_V1[1000]; int qtdpeixes = 0; String nome; int volume; do { int opcao = mostramenu(); switch (opcao) { case 1: incluirinfoaquario(); case 2: incluirpeixe(); case 3: listarpeixes(); case 4: excluirpeixe(); case 99: // opcao de saída do programa default: IO.println("Opcao invalida"); while (opcao!= 99); mostrasaudacaofinal(); static void incluirinformacoesaquario() { // 1 - Incluir Informações Sobre o Aquario IO.println("Informe o nome do aquário"); nome = IO.readStr(); IO.println("Informe o volume em litros do aquário"); volume = IO.readStr(); static void incluirpeixenoaquario() { peixes[qtdpeixes] = criapeixe(); qtdpeixes++; static void listarpeixes() { IO.println("Aquario: " + nome + " - Volume de Agua: " + volume + " litros "+ " - Quantidade de Peixes: " + qtdpeixes); IO.println("INICIO Listagem de Peixes *********************"); IO.println("#-ESPECIE, NOME, ANO NASC, MES NASC, SEXO"); for (int i = 0; i < qtdpeixes; i++) { Peixe_V1 peixeatual = peixes[i]; IO.println("#"+i+"-"+

12 Modelagem e Implementação de Aquário de Peixes - por Jorge Fernandes - Página 12 peixe.especie+","+ peixe.nome+","+ peixe.anonascimento+","+ peixe.mesnascimento+","+ peixe.sexo); IO.println("FIM Listagem de Peixes *********************"); static void excluirpeixe() { IO.println("Informe o nome do peixe a remover"); String nomepeixeprocurado = IO.readStr(); for (int i = 0; i < qtdpeixes; i++) { Peixe_V1 peixeatual = peixes[i]; String nomepeixeatual = peixeatual.nome; if (nomepeixeatual.equals(nomepeixeprocurado)) { // o peixe a ser removido foi encontrado peixes[i] = null; // remover o peixe procurado // deslocar de uma posição a menos, // todos os peixes que estavam armazenados // nas posicoes acima do peixe removido for (int j = i + 1; j < qtdpeixes; j++) { peixes[j-1] = peixes[j]; // esvaziar a posição do último peixe deslocado peixes[qtdpeixes-1] = null; // subtrair de um a quantidade de peixes no aquario qtdpeixes = qtdpeixes - 1; // sair do laco for private static int mostramenu() { private static void mostrasaudacaofinal() { O código da classe Aquario_V11 mostra uma possível solução para corrigir o erro da classe Aquario_V10_com_erro_de_compilacao. A única mudança no código, com relação à versão anterior, foi a re-declaração das variáveis peixes, qtdpeixes, nome e/ou volume, as quais foram retiradas de dentro do método main e movidas para o escopo da classe. O conteúdo dos outros métodos permanece o mesmo, mas é omitido por questões de espaço. class Aquario_V11 { static Peixe_V1[] peixes = new Peixe_V1[1000]; static int qtdpeixes = 0; static String nome; static int volume;

13 Modelagem e Implementação de Aquário de Peixes - por Jorge Fernandes - Página 13 do { int opcao = mostramenu(); switch (opcao) { case 1: incluirinfoaquario(); case 2: incluirpeixe(); case 3: listarpeixes(); case 4: excluirpeixe(); case 99: // opcao de saída do programa default: IO.println("Opcao invalida"); while (opcao!= 99); mostrasaudacaofinal(); static void incluirinformacoesaquario() { static void incluirpeixenoaquario() { static void listarpeixes() { static void excluirpeixe() { 9. Conclusões Este tutorial introduziu os seguintes conceitos a serem discutidos e amadurecidos: Criação de objetos e entrada de dados via teclado. Armazenamento de objetos em uma estrutura de coleção (array) Uso de menus textuais Modularização de programas através de métodos Última alteração em 20 de agosto de 2002, por Jorge Fernandes

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Belo Horizonte 2009 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Unidade 20 ArrayList: Operações de Busca Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 TIPOS DE BUSCAS... 3 BUSCA ESPECÍFICA... 3 BUSCA ABRANGENTE... 3 PROCEDIMENTO DE BUSCA...

Leia mais

Trabalho 3: Agenda de Tarefas

Trabalho 3: Agenda de Tarefas INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma

Leia mais

Desenvolvimento de um Simulador de Gerenciamento de Memória

Desenvolvimento de um Simulador de Gerenciamento de Memória Desenvolvimento de um Simulador de Gerenciamento de Memória Ricardo Mendes do Nascimento. Ciência da Computação Universidade Regional Integrada do Alto Uruguai e das Missões (URI) Santo Ângelo RS Brasil

Leia mais

Gerenciamento de Clientes

Gerenciamento de Clientes Programação Orientada a Objetos Gerência de Objetos por Outro Objeto Programação de Computadores II Professor: Edwar Saliba Júnior Gerenciamento de Clientes Neste exemplo, veremos de forma bem simples

Leia mais

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C Belo Horizonte 2010 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4 3.1 Strings

Leia mais

Trabalho Final. Data da Submissão: das 8h do dia 16/06 às 24h do dia 17/06. Data da Entrega do Relatório: das 15h às 18h no dia 18/06.

Trabalho Final. Data da Submissão: das 8h do dia 16/06 às 24h do dia 17/06. Data da Entrega do Relatório: das 15h às 18h no dia 18/06. ICMC-USP ICC - SCC-0 Turmas B e D - º. Semestre de 00 - Prof. João Luís. PAE: Jefferson F. Silva. Trabalho Final Submissão Automática da implementação pelo sistema Boca (http://blacklabel.intermidia.icmc.usp.br/boca/scc00/.)

Leia mais

MODULO DE GESTÃO MANUTENÇÃO DE MATRÍCULA. O módulo de Gestão tem por objetivo gerenciar as atividades que ocorrem durante um ano letivo.

MODULO DE GESTÃO MANUTENÇÃO DE MATRÍCULA. O módulo de Gestão tem por objetivo gerenciar as atividades que ocorrem durante um ano letivo. MANUTENÇÃO DE MATRÍCULA 1. Informações Gerais. O módulo de Gestão tem por objetivo gerenciar as atividades que ocorrem durante um ano letivo. O item do menu Manutenção de Matrícula tem por objetivo manter

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

Sistema Gerenciador de Hotel. Adriano Douglas Girardello. Ana Paula Fredrich. Tiago Alexandre Schulz Sippert

Sistema Gerenciador de Hotel. Adriano Douglas Girardello. Ana Paula Fredrich. Tiago Alexandre Schulz Sippert UNIOESTE Universidade Estadual do Oeste do Paraná CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Informática Curso de Bacharelado em Informática Sistema Gerenciador de Hotel Adriano Douglas Girardello

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

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário Sumário Conceitos Microsoft Access 97... 01 Inicialização do Access... 02 Convertendo um Banco de Dados... 03 Criando uma Tabela... 06 Estrutura da Tabela... 07 Propriedades do Campo... 08 Chave Primária...

Leia mais

MODULO DE GESTÃO MANUTENÇÃO DE MATRÍCULA. O módulo de Gestão tem por objetivo gerenciar as atividades que ocorrem durante um ano letivo.

MODULO DE GESTÃO MANUTENÇÃO DE MATRÍCULA. O módulo de Gestão tem por objetivo gerenciar as atividades que ocorrem durante um ano letivo. MANUTENÇÃO DE MATRÍCULA 1. Informações Gerais. O módulo de Gestão tem por objetivo gerenciar as atividades que ocorrem durante um ano letivo. O item do menu Manutenção de Matrícula tem por objetivo manter

Leia mais

MANUAL DO USUÁRIO NextCall Gravador Telefônico Digital

MANUAL DO USUÁRIO NextCall Gravador Telefônico Digital MANUAL DO USUÁRIO NextCall Gravador Telefônico Digital DEZEMBRO / 2010 NEXTCALL GRAVADOR TELEFÔNICO DIGITAL Obrigado por adquirir o NextCall. Este produto foi desenvolvido com o que há de mais atual em

Leia mais

Unidade IV: Ponteiros, Referências e Arrays

Unidade IV: Ponteiros, Referências e Arrays Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Manual do usuário. Softcall Java. versão 1.0.5

Manual do usuário. Softcall Java. versão 1.0.5 Manual do usuário Softcall Java versão 1.0.5 Sumário Iniciando SoftCall...3 Tela Principal...3 Configurando o SoftCall...4 Agenda...5 Incluindo um contato...5 Procurando um contato...6 Apagando um contato...6

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

Iniciação à Informática

Iniciação à Informática Meu computador e Windows Explorer Justificativa Toda informação ou dado trabalhado no computador, quando armazenado em uma unidade de disco, transforma-se em um arquivo. Saber manipular os arquivos através

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

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Mobile

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Mobile MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Mobile 1 1 INICIANDO O APLICATIVO PELA PRIMEIRA VEZ... 3 2 PÁGINA PRINCIPAL DO APLICATIVO... 4 2.1 INTERFACE INICIAL... 4 2.2 DISPOSITIVO NÃO REGISTRADO...

Leia mais

SISTEMA COOL 2.0V. (Certificado de Origen On Line) MANUAL DO USUÁRIO

SISTEMA COOL 2.0V. (Certificado de Origen On Line) MANUAL DO USUÁRIO SISTEMA COOL 2.0V (Certificado de Origen On Line) MANUAL DO USUÁRIO ÍNDICE Pré-requisitos para utilização do sistema....2 Parte I Navegador...2 Parte II Instalação do Interpretador de PDF...2 Parte III

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

MANUAL DO USUÁRIO SUMÁRIO

MANUAL DO USUÁRIO SUMÁRIO SUMÁRIO 1. Home -------------------------------------------------------------------------------------------------------- 7 2. Cadastros -------------------------------------------------------------------------------------------------

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL

Leia mais

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Continuando as aulas sobre os fundamentos

Leia mais

Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento

Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento 1/5 Exercício 1 Um sistema de segurança militar, usado num submarino nuclear, controla o acesso de usuários a três subsistemas (armamento, navegação e comunicações) através da digitação do login do usuário

Leia mais

Prof. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa

Prof. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1 PONTEIROS Prof. Yandre Maldonado e Gomes da Costa PONTEIROS Prof. Yandre Maldonado - 2 Ponteiro é uma variável que possui o endereço de outra variável; É um poderoso recurso

Leia mais

Tutorial USERADM. Inserindo conteúdos no site

Tutorial USERADM. Inserindo conteúdos no site Tutorial USERADM Inserindo conteúdos no site Como acessar o Administrador de Conteúdos do site? 1. Primeiramente acesse o site de sua instituição, como exemplo vamos utilizar o site da Prefeitura de Aliança-TO,

Leia mais

Estruturando um aplicativo

Estruturando um aplicativo Com o Visual FoxPro, é possível criar facilmente aplicativos controlados por eventos e orientados a objetos em etapas. Esta abordagem modular permite que se verifique a funcionalidade de cada componente

Leia mais

SISTEMA DE COMUNICAÇÃO DO SISTEMA INTEGRADO DE ADMINISTRAÇÃO DE SERVIÇOS GERAIS - COMUNICA. Manual do Usuário

SISTEMA DE COMUNICAÇÃO DO SISTEMA INTEGRADO DE ADMINISTRAÇÃO DE SERVIÇOS GERAIS - COMUNICA. Manual do Usuário SISTEMA DE COMUNICAÇÃO DO SISTEMA INTEGRADO DE ADMINISTRAÇÃO DE SERVIÇOS GERAIS - COMUNICA Manual do Usuário Título SISTEMA DE COMUNICAÇÃO DO SISTEMA INTEGRADO DE ADMINISTRAÇÃO DE SERVIÇOS GERAIS - COMUNICA

Leia mais

Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes

Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes Pág 50 Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes 10 CORREÇÃO DE QUESTÕES DE AVALIAÇÃO 1 PARTE I - AVALIAÇÃO TEÓRICA 11 RESPONDA AS QUESTÕES ABAIXO: A) Qual a diferença entre

Leia mais

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS Coleções Conceitos e Utilização Básica c Professores de ALPRO I Faculdade de Informática PUCRS 05/2012 ALPRO I (FACIN) Coleções: Básico 05/2012 1 / 41 Nota Este material não pode ser reproduzido ou utilizado

Leia mais

Ano III - Número 16. Versão 4.6.4

Ano III - Número 16. Versão 4.6.4 Versão 4.6.4 Sexta-feira, 08 de fevereiro de 2008 ÍNDICE 3 4 EDITORIAL NOVAS FUNCIONALIDADES 4 12 13 14 15 16 Novo Cronograma 4 5 5 6 7 8 8 9 9 10 10 Edição Rápida do Cronograma Recurso de Arrastar e Soltar

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho O que é um Programa? Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais

Leia mais

Manual de utilização sistema Comtele SMS

Manual de utilização sistema Comtele SMS Manual de utilização sistema Comtele SMS Login... 3 Dashboard... 4 Envio instantâneo de mensagens SMS... 5 Requisições de envio instantâneo para contatos ou grupos.... 5 Agendamento de envio d e SMS...7

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

Funções. Recebimento, registro, distribuição e movimentação de documentos em curso. Usuários. Servidores públicos.

Funções. Recebimento, registro, distribuição e movimentação de documentos em curso. Usuários. Servidores públicos. Manual Versão 1.1 Armazena e fornece informações sobre a tramitação dos documentos oficiais que envolvem o registro de atos e fatos de natureza administrativa/jurídica de interesse da administração direta

Leia mais

Coordenação Geral de Tecnologia da Informação - CGTI. SIGED - Sistema de Gestão Eletrônica de Documentos MANUAL DO USUÁRIO Módulo de Arquivos

Coordenação Geral de Tecnologia da Informação - CGTI. SIGED - Sistema de Gestão Eletrônica de Documentos MANUAL DO USUÁRIO Módulo de Arquivos SIGED - Sistema de Gestão Eletrônica de Documentos MANUAL DO USUÁRIO Módulo de Arquivos O objetivo deste Manual é permitir a reunião de informações dispostas de forma sistematizada, criteriosa e segmentada

Leia mais

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 Rational Quality Manager Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 1 Informações Gerais Informações Gerais sobre o RQM http://www-01.ibm.com/software/awdtools/rqm/ Link para o RQM https://rqmtreina.mvrec.local:9443/jazz/web/console

Leia mais

SuperStore. Sistema para Automação de Óticas. MANUAL DO USUÁRIO (Módulo Vendas e Caixa)

SuperStore. Sistema para Automação de Óticas. MANUAL DO USUÁRIO (Módulo Vendas e Caixa) SuperStore Sistema para Automação de Óticas MANUAL DO USUÁRIO (Módulo Vendas e Caixa) Contato: (34) 9974-7848 http://www.superstoreudi.com.br superstoreudi@superstoreudi.com.br SUMÁRIO 1 Vendas... 3 1.1

Leia mais

MANUAL C R M ÍNDICE. Sobre o módulo de CRM... 2. 1 Definindo a Campanha... 3

MANUAL C R M ÍNDICE. Sobre o módulo de CRM... 2. 1 Definindo a Campanha... 3 ÍNDICE Sobre o módulo de CRM... 2 1 Definindo a Campanha... 3 1.1 Incluir uma campanha... 3 1.2 Alterar uma campanha... 4 1.3 Excluir... 4 1.4 Procurar... 4 2 Definindo os clientes para a campanha... 4

Leia mais

Controle de Almoxarifado

Controle de Almoxarifado Controle de Almoxarifado Introdução O módulo de Controle de Almoxarifado traz as opções para que a empresa efetue os cadastros necessários referentes a ferramentas de almoxarifado, além do controle de

Leia mais

Persistência de Dados

Persistência de Dados Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

EXEMPLO DE COMO FAZER UMA MALA DIRETA

EXEMPLO DE COMO FAZER UMA MALA DIRETA EXEMPLO DE COMO FAZER UMA MALA DIRETA OBS: Para esta nota de aula foi utilizada como referência: Apostila Mala Direta Santos, Jorge Rodrigues dos. Foram adaptados os comando para utilizar mala direta no

Leia mais

QualiQuantiSoft Versão 1.3c

QualiQuantiSoft Versão 1.3c QualiQuantiSoft Versão 1.3c Qualiquantisoft v1.3c Pág.: 1/15 Índice Apresentação do programa... 3 Funções operacionais do programa... 3 Itens de menu... 6 Teclas de atalho... 6 Instrumento de Análise de

Leia mais

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO AO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar a grande semelhança entre Java e C Apresentar a organização diferenciada

Leia mais

LINGUAGEM C UMA INTRODUÇÃO

LINGUAGEM C UMA INTRODUÇÃO LINGUAGEM C UMA INTRODUÇÃO AULA 1 Conceitos muito básicos 1 Introdução O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

POO Programação Orientada a Objetos. Classes em Java

POO Programação Orientada a Objetos. Classes em Java + POO Programação Orientada a Objetos Classes em Java + Classes 2 Para que a JVM crie objetos: Ela precisa saber qual classe o objeto pertence Na classe estão definidos os atributos e métodos Programamos

Leia mais

30 ANOS DE SOCIALISMO

30 ANOS DE SOCIALISMO PASSO A PASSO DO CANDEX Como cadastrar um partido ou uma coligação: 1 Para cadastrar um partido ou uma coligação no Candex começamos clicando no Módulo PEDIDOS e em seguida no ícone NOVO PEDIDO; 2 Preenchemos

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 02 Introdução a Linguagem C Edirlei Soares de Lima Lógica de Programação Lógica de Programação é a técnica de criar sequências lógicas de ações para

Leia mais

Tutorial Administrativo (Backoffice)

Tutorial Administrativo (Backoffice) Manual - Software ENTRANDO NO SISTEMA BACKOFFICE Para entrar no sitema Backoffice, digite no seu navegador de internet o seguinte endereço: http://pesquisa.webbyapp.com/ Entre com o login e senha. Caso

Leia mais

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário Smart Laudos 1.9 A Forma Inteligente de Criar seus Laudos Médicos Manual do Usuário Conteúdo 1. O que é o Smart Laudos?... 3 2. Características... 3 3. Instalação... 3 4. Menu do Sistema... 4 5. Configurando

Leia mais

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8 ÍNDICE INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8 ACESSO ÀS FERRAMENTAS 9 FUNÇÕES 12 MENSAGENS 14 CAMPOS OBRIGATÓRIOS

Leia mais

Análises Geração RI (representação intermediária) Código Intermediário

Análises Geração RI (representação intermediária) Código Intermediário Front-end Análises Geração RI (representação intermediária) Código Intermediário Back-End Geração de código de máquina Sistema Operacional? Conjunto de Instruções do processador? Ambiente de Execução O

Leia mais

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo: Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

MVREP- Manual do Gerador de Relatórios. ÍNDICE

MVREP- Manual do Gerador de Relatórios. ÍNDICE ÍNDICE ÍNDICE... 1 CAPÍTULO 01 PREPARAÇÃO DO AMBIENTE... 2 1.1 IMPORTAÇÃO DO DICIONÁRIO DE DADOS... 2 CAPÍTULO 02 CADASTRO E CONFIGURAÇÃO DE RELATÓRIOS... 4 2.1 CADASTRO DE RELATÓRIOS... 4 2.2 SELEÇÃO

Leia mais

Desenvolvimento de Aplicações para Internet Aula 8

Desenvolvimento de Aplicações para Internet Aula 8 Desenvolvimento de Aplicações para Internet Aula 8 Celso Olivete Júnior olivete@fct.unesp.br na aula passada Orientação a Objetos Classes Objetos Construtores Destrutores 2 na aula passada Construtores

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

II Torneio de Programação em LabVIEW

II Torneio de Programação em LabVIEW Desenvolvimento da Aplicação II Torneio de Programação em LabVIEW Seção I: Requisitos Gerais A aplicação submetida deverá atender, pelo menos, às exigências de funcionamento descritas na Seção II deste

Leia mais

Introdução. Nesta guia você aprenderá:

Introdução. Nesta guia você aprenderá: 1 Introdução A criação de uma lista é a primeira coisa que devemos saber no emailmanager. Portanto, esta guia tem por objetivo disponibilizar as principais informações sobre o gerenciamento de contatos.

Leia mais

Manual do Almoxarifado SIGA-ADM

Manual do Almoxarifado SIGA-ADM Manual do Almoxarifado SIGA-ADM DIRETORIA DE GESTÃO DA TECNOLOGIA DA INFORMAÇÃO(DGTI) MARÇO/2012 Requisição de Almoxarifado Requisições O sistema retornará a tela do menu de Administração. Nela selecione

Leia mais

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita

Leia mais

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

MANUAL DE UTILIZAÇÃO

MANUAL DE UTILIZAÇÃO MANUAL DE UTILIZAÇÃO Módulo de operação Ativo Bem vindo à Vorage CRM! Nas próximas paginas apresentaremos o funcionamento da plataforma e ensinaremos como iniciar uma operação básica através do nosso sistema,

Leia mais

UNIDADE 6 - PROGRAMAÇÃO MODULAR

UNIDADE 6 - PROGRAMAÇÃO MODULAR UNIDADE 6 - PROGRAMAÇÃO MODULAR Até o momento as estruturas de controle (seqüência, seleção e repetição) de um algoritmo definia-o como um bloco lógico (início e fim). À medida que os problemas a serem

Leia mais

SSE 3.0. Guia Rápido. Módulo Secretaria. Nesta Edição

SSE 3.0. Guia Rápido. Módulo Secretaria. Nesta Edição SSE 3.0 Guia Rápido Módulo Secretaria Nesta Edição 1 Acessando o Módulo Secretaria 2 Cadastros Auxiliares 3 Criação de Modelos Definindo o Layout do Modelo Alterando o Layout do Cabeçalho 4 Parametrização

Leia mais

SECRETARIA DE ESTADO DA FAZENDA. Documento de Arrecadação Estadual DAE. Manual do Usuário. Versão 1.0.0 SECRETARIA DE ESTADO DA FAZENDA

SECRETARIA DE ESTADO DA FAZENDA. Documento de Arrecadação Estadual DAE. Manual do Usuário. Versão 1.0.0 SECRETARIA DE ESTADO DA FAZENDA 1 SECRETARIA DE ESTADO DA FAZENDA Documento de Arrecadação Estadual DAE Manual do Usuário Versão 1.0.0 SECRETARIA DE ESTADO DA FAZENDA 66.053-000 Av. Visconde de Souza Franco, 110 Reduto Belém PA Tel.:(091)

Leia mais

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Breve Histórico A linguagem de programação C foi criada na década de 70, por Dennis Ritchie, que a implementou,

Leia mais

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart.

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. 16/08/2013 BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. Versão 1.0 19/12/2014 Visão Resumida Data Criação 19/12/2014 Versão Documento 1.0 Projeto

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

Manual do site do Comitê do Itajaí: como inserir e atualizar

Manual do site do Comitê do Itajaí: como inserir e atualizar Manual do site do Comitê do Itajaí: como inserir e atualizar conteúdo autor: Fábio Roberto Teodoro 25 de março de 2010 Sumário 1 Definições 3 2 Interface Administrativa 4 3 Conteúdo 6 3.1 Notícias............................................

Leia mais

Roteiro do Programa e Entrada/Saída

Roteiro do Programa e Entrada/Saída Roteiro do Programa e Entrada/Saída c Professores de ALPRO I Faculdade de Informática PUCRS 03/2012 ALPRO I (FACIN) Roteiro do Programa e E/S 03/2012 1 / 32 Sumário 1 Relembrando 2 Programa Definição de

Leia mais

Por: Rafael Nink de Carvalho www.linuxeducacional.com www.rafaelnink.com

Por: Rafael Nink de Carvalho www.linuxeducacional.com www.rafaelnink.com L I N2 U0 X0 9 Manual de Instalação do Linux Educacional 3.0 Por: Rafael Nink de Carvalho ü Configurando o SETUP do computador ü Rodando a versão Live CD ü Instalando o Linux www.linuxeducacional.com Educacional

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

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

Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS

Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS Sumário Conceitos / Autores chave... 3 1. Introdução... 4 2. Consultas... 5 3. Relatórios... 8 4. Conclusões... 11

Leia mais

O sistema que completa sua empresa Roteiro de Instalação (rev. 15.10.09) Página 1

O sistema que completa sua empresa Roteiro de Instalação (rev. 15.10.09) Página 1 Roteiro de Instalação (rev. 15.10.09) Página 1 O objetivo deste roteiro é descrever os passos para a instalação do UNICO. O roteiro poderá ser usado não apenas pelas revendas que apenas estão realizando

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

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7)

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7) SafeNet Authentication Client 8.2 SP1 (Para MAC OS 10.7) 2/28 Sumário 1 Introdução... 3 2 Pré-Requisitos Para Instalação... 3 3 Ambientes Homologados... 4 4 Tokens Homologados... 4 5 Instruções de Instalação...

Leia mais

COLETOR DE DADOS. 1. Verificar ou alterar o modo de interface para avançado COLETOR DE DADOS

COLETOR DE DADOS. 1. Verificar ou alterar o modo de interface para avançado COLETOR DE DADOS COLETOR DE DADOS Objetivo O objetivo deste material é orientar o operador das colhedoras de Cana Série A8000 de como formatar e como operacionalizar o coletor de dados. Descrição O coletor de dados das

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

Esta alteração é feita de duas formas: Cadastro de pedido de compra e ajuste de estoque.

Esta alteração é feita de duas formas: Cadastro de pedido de compra e ajuste de estoque. 5. ALTERAÇÃO DO ESTOQUE ATUAL Não é possível alterar o estoque de um produto na tela Cadastro de Produto. Esta alteração é feita de duas formas: Cadastro de pedido de compra e ajuste de estoque. 5.1. Cadastro

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

Ajuda do Sistema Aquarius.

Ajuda do Sistema Aquarius. Ajuda do Sistema Aquarius. Esta ajuda é diferenciada da maioria encontrada nos sistemas de computador do mercado. O objetivo desta ajuda é literalmente ajudar o usuário a entender e conduzir de forma clara

Leia mais

Ajuda On-line - Sistema de Portaria. Versão 4.8.J

Ajuda On-line - Sistema de Portaria. Versão 4.8.J Versão 4.8.J Sumário PORT - Módulo de Apoio Portaria 3 1 Manual... de Processos - Portaria 4 Fluxo - Portaria... 5 2 Configurações... 6 Unidades... de Internação 6 Setores Administrativos... 9 Configuração...

Leia mais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Sistema Operacional Processo e Threads Introdução a Processos Todos os computadores modernos são capazes de fazer várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador pode

Leia mais

Sistema de Controle. Como entrar no sistema. Tela inicial. Funcionalidades do sistema. Controle de permissões. Menu Aplicativo

Sistema de Controle. Como entrar no sistema. Tela inicial. Funcionalidades do sistema. Controle de permissões. Menu Aplicativo Sistema de Controle Logístico de Medicamentos Como entrar no sistema 1 Tela inicial Funcionalidades do sistema Controle de permissões Menu Aplicativo Gerenciador de relatórios 0800 61 2439 siclom@aids.gov.br

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

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda

Leia mais

Manual do Desenvolvedor Criptografia de Arquivos do WebTA

Manual do Desenvolvedor Criptografia de Arquivos do WebTA Manual do Desenvolvedor Criptografia de Arquivos do WebTA Versão 1.4 Índice 1. Objetivo..3 2. Processo..3 3. API de Criptografia - Biblioteca Java..4 3.1 WEBTACryptoUtil..4 3.1.1 decodekeyfile..4 3.1.2

Leia mais

1.2) Na tela seguinte, o primeiro item a ser selecionado é o Unidade Acumuladora1.

1.2) Na tela seguinte, o primeiro item a ser selecionado é o Unidade Acumuladora1. MANUAL DA NOVA VERSÃO DE ARQUIVAMENTO DO CPROD Na nova versão de Arquivamento que está sendo implementada no CPROD, antes de realizarmos o Arquivamento do Processo ou Documento em si, temos que criar no

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

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org Conectando Bancos de Dados Microsoft Access no BrOffice.org Base fornecido pelo Projeto de Documentação do BrOffice.org Índice 1 Introdução...2 1.1 Versão... 2 1.2 Licenciamento...2 1.3 Mensagem do Projeto

Leia mais