Aula 22 Tratamento de Exceções
|
|
- Isabel Avelar Casqueira
- 8 Há anos
- Visualizações:
Transcrição
1 Aula 22 Tratamento de Exceções Alessandro Garcia LES / DI / PUC-Rio Junho / 2016 Avisos Trabalho T4 enunciado completo está disponível: devem estar em andamento: conclusão da implementação do jogo agora: teste do módulo Lista deve satisfazer critério de cobertura de arestas entrega: até 30/6 Prova P2: 22/6 Próxima aula: entrega dos exercícios corrigidos do T3 1 1
2 Sumário Definições básicas Como se encerram as funções? Problema: e quando funções não encerram corretamente? Tratamento de exceções Tipos de tratadores Como tratar exceções Em C Em linguagens de programação contemporâneas 2 Relembrando - Definições básicas O que é uma função? Função é uma porção auto-contida de código que: possui um nome que pode ser chamado (ativado) de diversos lugares pode retornar zero ou mais valores pode depender de e alterar zero ou mais parâmetros pode alterar zero ou mais valores do estado do módulo variáveis internas variáveis globais pode criar, ler e destruir arquivos, etc... TIPO_RETORNO NOME_FUNCAO ( LISTA_PARAMETROS) { CORPO_FUNCAO 3 2
3 Definições básicas Encerrando a execução de uma função: Chegar ao fim de uma função void O comando return <VALUE> Encerra a execução de uma função imediatamente Se um valor de retorno é informado, a função chamada (callee) retorna este valor para a função chamadora (caller) A transferência de controle após o return passa da função chamada para a função chamadora O comando exit(int) Encerra a execução do programa 1. Executa em ordem reversa todas as funções registradas pela função int atexit( void (*func)(void) ) 2. Todos arquivos são fechados, todos arquivos temporários são apagados 3. O controle de execução retorna ao ambiente-hospedeiro (host enviornment) o valor inteiro passado como argumento 4 Problema Exceção: Uma exceção é um evento que ocorre durante a execução de um programa (ou módulo) e que impede a sua execução normal E o que fazer quando uma exceção impede que uma função encerre sua execução corretamente? Quais são situações de erro? 5 3
4 Problema Exemplos: Um parâmetro de entrada ocasiona uma divisão por zero Um valor de um dos parâmetros ou variáveis viola assertivas de entrada, saída Uma das assertivas estruturais é violada Não há memória disponível quando você tenta alocar memória dinamicamente Hardware para de funcionar corretamente 6 Tratamento de exceções Por que é importante tratar exceções? Você pode irritar o seu usuário 7 4
5 Tratamento de exceções Por que é importante tratar exceções? Os usuários podem perder a confiança no seu produto... e você pode passar uma tremenda vergonha! 8 Tratamento de exceções Sistemas atuais são cada vez maiores e mais complexos Condições excepcionais podem surgir por diversos motivos e serem até mesmo difíceis de serem previstas Sistemas robustos e confiáveis devem prover seus serviços mesmo sob condições excepcionais Sistemas críticos: Sistemas bancários Controladores de redes elétricas, vôo, usinas nucleares... Sistemas embarcados em aviões, submarinos, foguetes... O tratamento de exceções é parte central do desenvolvimento de sistemas robustos e confiáveis 9 5
6 Tratamento de exceções - Caso de insucesso Em outubro de 1996 o foguete francês Ariane 501 se autodestruiu 5 minutos após decolar Motivo: cálculo errado do ângulo de ataque Causa: O Ariane 5 reutilizou um módulo do Ariane 4 para calcular o Alinhamento Interno, elemento relacionado com a componente horizontal da velocidade O valor gerado pelo módulo do Ariane 4 foi muito maior do que o esperado pelo módulo do Ariane 5, pois a trajetória do Ariane 5 difere da trajetória do Ariane 4 O módulo do Ariane 5 tentou converter o valor do Alinhamento Interno de um número de 64 bits em ponto flutuante para um inteiro de 16 bits com sinal Valor em ponto flutuante era maior do que poderia ser representado por um inteiro Operação de conversão não estava protegida e ocasionou Overflow Exception 10 Tratamento de exceções Vídeo do Bill Gates: Vídeo do Ariane 5: Outros desastres famosos devido ao não tratamento de exceções
7 Tratamento de exceções Por que é importante tratar exceções? Pode custar milhões de dólares/reais/euros Ou até mesmo vidas 12 Tratamento de exceções - Terminologia Exceção: Uma exceção é um evento que ocorre durante a execução de um programa (ou módulo) e que impede a sua execução normal Uma exceção indica que o estado interno do sistema está inconsistente e, por isso, não é possível prosseguir com sua execução normal Para restaurar a consistência interna do sistema, é necessário tomar ações corretivas, ou remediadoras Tratador: Um tratador é um conjunto de ações que visam corrigir ou remediar a ocorrência de uma exceção Mecanismo de tratamento de exceções: Um mecanismo de tratamento de exceções é um modelo que permite a desenvolvedores: Representar os tipos de ocorrências de exceção Indicar a ocorrência de uma exceção na interface de funções/módulos Detectar a ocorrência de uma exceção na execução da função Estruturar ações de tratamento de exceções Desviar o fluxo normal do programa para o fluxo excepcional 13 7
8 Estrutura de uma função Conjunto de exceções sinalizadas na interface em C: condições de retorno excepcionais Chamadas Função Tratador E1 Tratador E2 Tratador E3 Chamadas Exceções exs.: nome de arquivo não existe, índice/chave fora do limite, conexão com servidor/banco-dados não pode ser estabelecida, etc... Maio 2009 Alessandro Garcia LES/DI/PUC-Rio 14/ 32 Tratamento de exceções Exemplos de tratadores: Ignora a exceção: identifica a ocorrência de uma exceção e não toma nenhuma ação corretiva. Má prática e deve ser evitada. Re-sinaliza a exceção: identifica um tipo de exceção e reporta para a função chamadora outro tipo de exceção. Geralmente é usada para preservar abstração e encapsulamento. Delegação de controle: delega o controle da execução para outro módulo do sistema mais apto a lidar com a exceção. Notificação ao usuário: notifica o usuário a ocorrência da exceção, com possibilidade de pedir novo input, caso seja possível. Preferencialmente, somente em casos que usuário deve ser envolvido. Armazenamento de erro: cria um registro da exceção e de informações adicionais em arquivo especial (log). Reconfiguração: reconfigura o estado do sistema com outros valores. Nova tentativa: a mesma função é simplesmente invocada novamente. (ex. exceções intermitentes do ambiente rede WiFi) 15 8
9 Tratamento de exceções Exemplos de tratadores: Liberação de recursos: assegura a liberação de recursos alocados, como memória alocada dinamicamente, arquivos e conexões abertos, etc. Preparação para desligar: prepara o sistema para terminar sem causar efeitos colaterais. Geralmente é usada em situações extremas. É necessário liberar todos os recursos alocados e reverter o sistema para um estado em que os dados estão consistentes. Recuperação por retrocesso: desfaz modificações no estado do sistema a fim de restaurá-lo a um estado válido. Comumente usado em sistemas de bancos de dados. Uso de redundância de software: ativa uma função com o mesmo propósito. Uso de redundância de dados: uso de elementos adicionais da estrutura que permitam navegar de outras formas na estrutura. Vide estruturas auto-verificáveis. 16 Como tratar exceções em módulos em C? A linguagem C não traz suporte específico para tratamento de exceções Fica sob responsabilidade do programador desenvolver uma forma de identificar e tratar exceções da aplicação Existem várias formas de realizar esta tarefa, cada um com seus prós e contras A fim de padronizar a identificação e o tratamento de exceções em C, usamos nesta disciplina padrões/convenções de tratamento de exceções: Tipos enum e código de retorno das funções para indicar sob qual condição a função encerrou sua execução Se necessários, define-se parâmetros adicionais passados por referência e modifica-se seus valores para informações extra do erro 17 9
10 Usando o código de retorno das funções Este é o método mais comum e mais simples de tratamento de exceções em linguagem C Neste método, as funções tem duas responsabilidades: A função chamada deve usar o comando return para indicar sob qual condição (normal excepcional) sua execução encerrou A função chamadora deve testar o código retornado pela função chamada a fim de tomar ações corretivas, caso necessário Preferencialmente, as condições de retorno devem ser declaradas como um elemento enum 18 Usando o código de retorno das funções typedef enum { LIS_CondRetOK, /* Concluiu corretamente */ LIS_CondRetListaVazia, /* A lista não contém elementos */ LIS_CondRetFimLista, /* Foi atingido o fim de lista */ LIS_tpCondRet LIS_InserirElementoAntes ( LIS_tppLista plista, void * pvalor ) { tpelemlista * pelem ; pelem = CriarElemento( plista, pvalor ) ; if ( pelem == NULL ) { return LIS_CondRetFaltouMemoria ; /* if */ LIS_CondRetNaoAchou, /* Não encontrou o valor procurado */ LIS_CondRetFaltouMemoria /* Faltou memória ao tentar criar um elemento de lista */ LIS_tpCondRet ;... return LIS_CondRetOK ; /* Fim função: LIS &Excluir elemento */ 19 10
11 Usando o código de retorno das funções int main(void){... LIS_tpCondRet condret = InserirElementoAntes( lista, pvalor ); switch( condret ) { case LIS_CondRetFaltouMemoria:... case LIS_CondRetOK:... default : printf( Condição de retorno inesperada ); 20 Usando parâmetro passado por referência LIS_tpCondRet LIS_InserirElementoAntes ( LIS_tppLista plista, void * pvalor, char ** errormsg ) { tpelemlista * pelem ; pelem = CriarElemento( plista, pvalor ) ; if ( pelem == NULL ) { char str[] = Não foi possível alocar memória para um novo elemento ; int size = strlen( str ) + 1; (*errormsg) = (char*)malloc( sizeof(char) * size ); memcpy( (*errormsg), str, size ); return LIS_CondRetFaltouMemoria ; /* if */... return LIS_CondRetOK ; /* Fim função: LIS &Excluir elemento */ 21 11
12 Exemplo de condição de retorno Servidor typedef enum { CondRetLeuOK, /* Leitura normal */ CondRetLeuEOF, /* Encontrou fim de arquivo antes de ler */ CondRetLeuErro /* Ocorreu erro de leitura */ tpcondretleu ;... tpcondretleu LerReg( FILE * parq, tpreg * preg ) { if ( feof( parq )) { memset( preg, 0xFF, sizeof( tpreg )) ; return CondRetLeuEOF ; /* if */ Conta = fread( preg, parq, sizeof( tpreg ), 1 ) ; if ( ( ferror( parq )!= 0 ) ( Conta!= 1 )) { memset( preg, 0xCC, sizeof( tpreg )) ; return CondRetLeuErro ; /* if */ return CondRetLeuOK ; /* Função LerReg */ Maio 2009 Alessandro Garcia LES/DI/PUC-Rio 22/ 32 Exemplo de condição de retorno A função cliente contém o código: Cond = LerReg( parqa, pbuffer ) ; switch ( Cond ) { case CondRetLeuOK : /* código que trata o caso de leitura normal */ break ; case CondRetLeuEOF : /* código que trata o caso de fim de arquivo */ break ; case CondRetLeuErro : printf( "\nerro de leitura no arquivo: %s código \'C\' %c", NomeArqA, errno ) ; printf( "\nprograma será cancelado" ) ; Finalizar( CondRetLeuErro ) ; default: printf( "\Erro de execução: LerReg condição desconhecida: %i", Cond ) ; printf( "\nprograma será cancelado" ) ; Finalizar( ErroDesconhecido ) ; /* fim switch */ o break é desnecessário, pois Finalizar( ) não retorna Maio 2009 Alessandro Garcia LES/DI/PUC-Rio 23/ 32 12
13 Usando parâmetro passado por referência int main(void){... char *errormsg; LIS_tpCondRet condret = InserirElementoAntes( lista, pvalor, &errormsg ); switch( condret ) { case LIS_CondRetFaltouMemoria: printf( %s, errormsg ); case LIS_CondRetOK:... default : printf( Condição de retorno inesperada ); 24 Usando variáveis globais ou parâmetros Este método é complementar ao método de condições de retorno Bastante usado na GLIBC, biblioteca padrão do sistema GNU/Linux Neste método, as funções tem as seguintes responsabilidades: A função chamada deve modificar variáveis globais ou parâmetros passados por referência para indicar sob qual condição (normal excepcional) sua execução encerrou A função chamadora deve testar a variável global, ou o parâmetro passado por referência, a fim de tomar ações corretivas, caso necessário 25 13
14 Limitações de C A sinalização de uma exceção não é explícita Usa-se o comando return, parâmetros passados por referência ou variáveis globais Não há distinção entre encerramento sob condição normal ou excepcional O sistema não é interrompido no momento em que a exceção ocorre Mesmo sabendo-se que o estado é inconsistente Como prover mais informações a respeito do problema / exceção? Ex.: Qual a severidade? Que condições levaram a esta ocorrência? Uso de parâmetros encoraja quebra de abstração e encapsulamento 26 Limitações de C Há um overhead na criação de tipos enumerados para cada módulo Para cada módulo é definido um tipo enumerado, mesmo que representem a mesma condição (EX.: Falta de memória) A associação entre as exceções descritas nos tipos enumerados e quais exceções que podem ser levantadas por uma função depende exclusivamente da especificação da função Difícil entender o acoplamento excepcional entre funções: quais exceções devem ser tratadas? Não há separação textual do código de tratamento de exceção Código torna-se rapidamente extenso, complexo e pouco compreensível 27 14
15 Mecanismo de Tratamento de Exceções Comportamento exceptional de funções diferente de C, C++ e Java provêem suporte explícito a tratamento de exceções Facilidades / Mecanismos para Tratamento de Exceções Exceções Tratadores (Handlers) Desvio do Fluxo e Busca de Tratadores Interfaces Excepcionais Definição de Regiões Protegidas Maio 2009 Alessandro Garcia LES/DI/PUC-Rio 28/ 32 Usando o código de retorno das funções Problemas: Chamadas encadeadas de funções podem resultar em uma estrutura muito aninhada que é difícil de compreender, testar e fazer a manutenção ARQ_tpCondRet learquivo(){ condret = OK; abrearquivo(); se( arquivoaberto() ){ determinetamanhoarquivo(); se( determinoutamanho() ){ aloquememoria(); se( alocoumemoria() ){ copiedados(); se(! copioudados() ){ condret = ERRO_COPIAR_DADOS; senão { condret = ERRO_ALOCAR_MEM; senão { condret = ERRO_DET_TAM; fechearquivo(); se(! fechouarquivo() ){ condret = ERRO_FECHAR_ARQ; senão { condret = ERRO_ABRIR_ARQ; 29 15
16 Linguagens contemporâneas Linguagens como Java, JavaScript, C++, C#, Python... proveem mecanismos de tratamento de exceções implementados na própria linguagem Elementos sintáticos específicos para tratamento de exceções: THROW sinaliza a ocorrência de uma exceção TRY define uma região protegida contra a ocorrência de exceções CATCH define um tratador, i.e., um trecho de código que implementa um conjunto de ações de recuperação 30 Sinalização explícita de exceções Cláusula throw sinaliza a ocorrência de uma exceção static void escrevearquivo(arquivo a)... {... Buffer bf = buscaarquivo( a ); if( bf == null ) throw new FileNotFoundException(); 31 16
17 Estrutura de uma função em Java/C++ Exceções são levantadas/sinalizadas explicitamente int funcaox (...) { // código desprotegido try { // código a ser tentado; região protegida if (x > 10) {throw excecao; catch (Excecao) { // código do tratador: a ser executado // em caso de exceção if (x > 10) {throw excecao2; acoplamento: exceção sinalizada Maio 2009 Alessandro Garcia LES/DI/PUC-Rio 32/ 32 Linguagens contemporâneas Linguagens como Java, JavaScript, C++, C#, Python... provêem mecanismos de tratamento de exceções implementados na própria linguagem Elementos sintáticos específicos para tratamento de exceções: TRY define uma região protegida contra a ocorrência de exceções CATCH define um tratador, i.e., um trecho de código que implementa um conjunto de ações de recuperação THROW sinaliza a ocorrência de uma exceção THROWS especifica na interface de uma função quais as possíveis exceções que podem ser ocasionadas durante a execução daquela função do módulo 33 17
18 Estrutura de uma função em Java Acoplamento conjunto de exceções sinalizadas exceções são sinalizadas explicitamente em Java class Count { public static void main(string args[]) throws java.io.ioexception { int count = 0; while (System.in.read()!= -1) count++; System.out.println("Entrada:"+count+ "caracteres."); acoplamento: exceção sinalizada Maio 2009 Alessandro Garcia LES/DI/PUC-Rio 34/ 32 Acoplamento excepcional explícito Cláusula throws indica quais exceções podem ocorrer durante a execução de uma função void escrevearquivo(arquivo) throws FileNotFoundException, CharCodingException, PermissionException; 35 18
19 Linguagens contemporâneas Linguagens como Java, JavaScript, C++, C#, Python... provêem mecanismos de tratamento de exceções implementados na própria linguagem Elementos sintáticos específicos para tratamento de exceções: TRY define uma região protegida contra a ocorrência de exceções CATCH define um tratador, i.e., um trecho de código que implementa um conjunto de ações de recuperação THROW sinaliza a ocorrência de uma exceção THROWS especifica na interface de uma função quais as possíveis exceções que podem ser ocasionadas durante a execução daquela função do módulo FINALLY define um trecho de código que sempre será executado, mesmo quando exceções ocorrerem 36 Mecanismo para código de limpeza O código definido no bloco finally sempre será executado, seja após a terminação normal, ou após a terminação excepcional, de um bloco try Usado especialmente para liberação de recursos, como memória, arquivos abertos, conexões abertas, etc learquivo(){ try{ abrearquivo(); determinetamanhoarquivo(); aloquememoria(); copiedados(); catch( abrirerro ){... catch( determinartamanhoerro ) {... catch( alocarmemoriaerro ) {... catch( copiardadoserro ) {... finally { try{ fechearquivo(); catch( fechararquivoerro ){
20 Melhor separação textual ARQ_tpCondRet learquivo(){ condret = OK; abrearquivo(); se( arquivoaberto() ){ determinetamanhoarquivo(); se( determinoutamanho() ){ aloquememoria(); se( alocoumemoria() ){ copiedados(); se(! copioudados() ){ condret = ERRO_COPIAR_DADOS; senão { condret = ERRO_ALOCAR_MEM; senão { condret = ERRO_DET_TAM; fechearquivo(); se(! fechouarquivo() ){ condret = ERRO_FECHAR_ARQ; senão { condret = ERRO_ABRIR_ARQ; learquivo(){ try{ abrearquivo(); determinetamanhoarquivo(); aloquememoria(); copiedados(); catch( abrirerro ){... catch( determinartamanhoerro ) {... catch( alocarmemoriaerro ) {... catch( copiardadoserro ) {... finally { try{ fechearquivo(); catch( fechararquivoerro ){ Linguagens contemporâneas Principais vantagens em relação a C: Redução do aninhamento de estruturas if-then-else Melhor separação textual entre o código que implementa a lógica da aplicação e o código que implementa o tratamento de exceções Também há uma clara distinção entre o encerramento normal de uma função ( comando return ) e o encerramento excepcional ( comando throw ) Tipos de exceção podem ser reutilizadas entre diferentes módulos Mecanismos que garantem a execução de determinados trechos de código tanto em situações normais, quanto em situações excepcionais Blocos finally Liberação de recursos 39 20
21 Linguagens contemporâneas Mesmo com os mecanismos de tratamento de exceções providos na própria linguagem, código de tratamento de exceções ainda é fonte de erros: Dificuldade em modificar métodos que tratam exceções Tratadores vazios (catch block vazio) Exceções não tratadas Erros no código de tratamento de exceções são de difícil diagnose Código pouco executado e pouco testado Implementar tratamento de exceções não é trivial e requer esforço extra dos desenvolvedores 40 Tratamento de Exceções: Origem indicação de ocorrência de exceção associação do tratador PL/I ON statements Goodenough EH Notation CLU Declaração explícita De interface excepcional Parnas & Dijkstra Princípio de Encapsulamento e Separação de Interesses Tratamento de Exceções em Linguagens Modernas Nelio Cacho 21
22 Referência Cap. 8 do livro Programação Modular Leitura complementar: Tutorial sobre tratamento de exceções em Java ions/index.html Artigos Discovering Faults in Idiom-Based Exception Handling, Bruntink, M., van Deursen, A. and Tourwé, T. In Proceedings of 28th ICSE, Exception handling: a field study in Java and.net, Cabral, B. and Marques, P. In Proceedings of 21th ECOOP, FIM 22
Aula 16 Tratamento de Exceções. Eiji Adachi Barbosa LES / DI / PUC-Rio Outubro / 2013
Aula 16 Tratamento de Exceções Eiji Adachi Barbosa LES / DI / PUC-Rio Outubro / 2013 Avisos Na aula do dia 23/10 (quarta-feira) os alunos que ainda não viram a prova, poderão ver em sala após a aula Na
Leia maisAula 17 Tratamento de Exceções e Assertivas
Aula 17 Tratamento de Exceções e Assertivas Alessandro Garcia LES / DI / PUC-Rio Novembro / 2016 Sumário Definições básicas Como se encerram as funções? Problema: e quando funções não encerram corretamente?
Leia maisLinguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Leia maisAula 19 Estrutura de Funções - 1
Aula 19 Estrutura de Funções - 1 Alessandro Garcia LES/DI/PUC-Rio Maio 2010 Avisos No fim da aula entrega da prova corrigida e nota Trabalhos T3: enunciado está disponível como já sabem: basicamente, completar
Leia maisEspecialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares
Especialização em desenvolvimento para web com interfaces ricas Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Objetivos Conceito de exceções Tratar exceções pelo uso de try, catch e
Leia mais1.6. Tratamento de Exceções
Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER
Leia maisAlgoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisIntroduçã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 maisProgramação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre
Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 02 Fundamentos de Linguagens Sumário : Linguagem, alfabeto e gramática
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando
Leia maisLinguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação
Linguagem C: variáveis, operadores, entrada/saída Prof. Críston Algoritmos e Programação Linguagem C Linguagem de uso geral (qualquer tipo de aplicação) Uma das linguagens mais utilizadas Foi utilizada
Leia maisProgramação Estruturada e Orientada a Objetos. Tratamento de Exceções
Programação Estruturada e Orientada a Objetos Tratamento de Exceções 2013 O que veremos hoje? Introdução Tratamento de exceções Exercícios Transparências baseadas no material do Prof. Gilbert Azevedo Referencias
Leia mais9 Comandos condicionais
9 Comandos condicionais Um comando condicional é uma instrução empregada quando se deseja criar um desvio, isto é, a opção de executar-se ou não um determinado trecho de código, segundo uma condição. Em
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
Leia maisLinguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto
Linguagem C 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 UNIX. O C é derivado de uma outra linguagem: o B,
Leia maisExercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
Leia mais15 a Aula Subprogramação /Subalgoritmos Função e Procedimento
FISP 1/6 15 a Aula Subprogramação /Subalgoritmos Função e Procedimento Objetivo: Simplificação e racionalização na elaboração de algoritmos mais complexos Recursos: Estruturação de algoritmos e modularização
Leia maisLinguagens de Programação Aula 10
Linguagens de Programação Aula 10 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada As sentenças de controle das LP imperativas ocorrem em diversas categorias: seleção, seleção múltipla, iteração
Leia maisCONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa
CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs
Leia maisinsfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
Leia maisJava. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Leia maisAula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Leia maisDesenvolvimento OO com Java Orientação a objetos básica
Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
Leia maisIntrodução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores
Introdução à Programação Armazenamento de Grande Quantidade de Informação Usando Vetores Armazenando Grande Quantidade de Informação Como armazenar tanta informação? Vetores! 2 Tópicos da Aula Hoje, aprenderemos
Leia maisAula 06 Introdução à Teste de Módulos II e Exercícios. Alessandro Garcia LES/DI/PUC-Rio Março 2014
Aula 06 Introdução à Teste de Módulos II e Exercícios Alessandro Garcia LES/DI/PUC-Rio Março 2014 Princípios Discutidos até aqui Cada módulo deveria implementar uma única abstração similarmente: cada função
Leia maisIntrodução a Programação. Ponteiros e Strings, Alocação Dinâmica
Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros
Leia maisProgramação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada
Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.
Leia maisBC0505 Processamento da Informação
BC0505 Processamento da Informação Assunto: Modularização de código e passagem de parâmetros Aula Prática: 4 Versão: 0.2 Introdução Modularização No Java, como em outras linguagens de Programação Orientadas
Leia maisTópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza
Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados Prof. Hugo Souza Até agora vimos como é formada a infraestrutura física e lógica das bases de dados com os principais componentes
Leia maisSintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência
Leia maisNível da Arquitetura do Conjunto das Instruções
Nível da Arquitetura do Conjunto das Instruções (Aula 13) Fluxo de Controle Fluxo Seqüencial de Controle e Desvios (1) Fluxo de Controle: É a seqüência na qual instruções são dinamicamente executadas Isto
Leia maisComputadores Digitais 2. Prof. Rodrigo de Souza Couto
Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Aula de Hoje Cadeias de caracteres (strings) Caracteres Definição e manipulação de strings Vetor de strings Parâmetros
Leia maisJava Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp
Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define
Leia maisAula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW
Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto
Leia maisEngenharia de Software II
Engenharia de Software II Aula 14 Revisão http://www.ic.uff.br/~bianca/engsoft2/ Aula 14-07/05/2006 1 Processo de Software Qual é a diferença entre uma atividade de arcabouço e uma atividade guarda chuva?
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na
Leia maisINTRODUÇÃO À LINGUAGEM C++
INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem
Leia maisJava Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br. Novembro/2005
Java Básico Matrícula de Alunos Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br Novembro/2005 Objetivos OO: trocar mensagens entre os objetos Exception: tratar exceções Análise: implementar
Leia maisO COMPUTADOR. Introdução à Computação
O COMPUTADOR Introdução à Computação Sumário O Hardware O Software Linguagens de Programação Histórico da Linguagem C Componentes Básicos do Computador O HARDWARE: O equipamento propriamente dito. Inclui:
Leia maisNotas da Aula 6 - Fundamentos de Sistemas Operacionais
1. Monitores Notas da Aula 6 - Fundamentos de Sistemas Operacionais Embora os semáforos sejam uma boa solução para o problema da exclusão mútua, sua utilização não é trivial. O programador é obrigado a
Leia maisTratamento de Exceções. Alberto Costa Neto DComp - UFS
Tratamento de Exceções Alberto Costa Neto DComp - UFS [ Conteúdo ] Introdução Hierarquia de Erros e Exceções Erros e Exceções predefinidos Bloco try Bloco finally Cláusula throws Lançando exceções Capturando
Leia maisAlgoritmo e Técnica de Programação - Linguagem C
Algoritmo e Técnica de Programação Linguagem C Gilbran Silva de Andrade 5 de junho de 2008 Introdução A liguagem C foi inventada e implementada por Dennis Ritchie em um DEC PDP-11 que utilizava o sistema
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,
Leia maisUniversidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática
Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]
Leia maiscompreender a importância de cada estrutura de controle disponível na Linguagem C;
Aula 3 Estruturas de controle Objetivos Esperamos que, ao final desta aula, você seja capaz de: compreender a importância de cada estrutura de controle disponível na Linguagem C; construir programas em
Leia maisTrabalho 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 maisPROCESSOS. Prof. Maicon A. Sartin mapsartin@gmail.com
PROCESSOS Prof. Maicon A. Sartin mapsartin@gmail.com Cenários em Sistemas Multitarefas Um usuário pode executar diversas atividades simultâneas Música Editoração de texto Navegar na Internet Servidor pode
Leia maisManual 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 maisPROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura
PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 PROJETO (OU DESIGN) DO SOFTWARE Na fase de projeto (ou design)
Leia maisAula 12: Funções. Pré-requisitos: Todas as aulas anteriores deste módulo. 1. Aproveitando Códigos no Programa
Aula 12: Funções Nesta aula explicaremos o que são e como usar funções nos seus programas em JavaScript. Você aprenderá como elas podem receber e retornar valores à estrutura que as acionou. Entenderá
Leia mais1 Funções básicas de implementação de arquivos
1 Funções básicas de implementação de arquivos 1.1 Definindo registros Depois de um objeto do mundo real ter sido modelado, ou seja, após seus atributos importantes (e relevantes) terem sido identificados,
Leia maisMódulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010
Módulo 02 Programação Orientada a Objetos Última atualização: 07/06/2010 1 Objetivos Definir conceitos de orientação a objetos: o abstração, encapsulamento, pacotes. Discutir reutilização de código em
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA
Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais
Leia maisGuia de utilização da notação BPMN
1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação
Leia maisLinguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.
Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração
Leia maisFundamentos de Programação
Fundamentos de Programação CP41F Conversão de tipos. Alocação dinâmica de memória. Recursão. Aula 16 Prof. Daniel Cavalcanti Jeronymo Universidade Tecnológica Federal do Paraná (UTFPR) Engenharia de Computação
Leia maisITIL v3 - Operação de Serviço - Parte 1
ITIL v3 - Operação de Serviço - Parte 1 É na Operação de Serviço que se coordena e realiza as atividades e processos necessários para fornecer e gerenciar serviços em níveis acordados com o usuário e clientes
Leia maisGuia 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 maisAula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/
Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.
Leia maisProgramação de Computadores I. Linguagem C Arquivos
Linguagem C Arquivos Prof. Edwar Saliba Júnior Novembro de 2011 Unidade 12 Arquivos 1 Trabalhando com Arquivos Um arquivo em Linguagem C pode representar diversas coisas, como: arquivos em disco, uma impressora,
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETO EM PHP
PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP O PHP através da versão 5, veio desenvolvido com suporte a programação orientada a objetos. O que significa isso? Que a partir da versão 5 é possível criar bibliotecas
Leia maisBACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia
O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos
Leia maisOrientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade
Orientação a Objetos Conceitos Iniciais Introdução a Linguagem Java Gil Eduardo de Andrade Conceitos: Orientação a Objeto Introdução Abordagem típica no desenvolvimento de sistemas complexos; Consiste
Leia maisINTRODUÇÃ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 mais5 Apresentando a linguagem C
5 Apresentando a linguagem C O criador da linguagem de programação C foi Dennis Ritchie que, na década de 70, programou-a por meio de um computador DEC PDP-11 rodando sistema operacional Unix. Entretanto,
Leia maisO que é uma Exceção? Call Stack. Java Tratamento de Exceção. de métodos que foram usados até chegar na presente instrução.
Java Tratamento de Exceção O que é uma Exceção? n Uma exceção é um evento que ocorre durante a execução do programa que interrompe o fluxo normal de instruções. n Quando um erro acontece em um método,
Leia maisConceitos básicos da linguagem C
Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por
Leia maisIntrodução a POO. Introdução a Linguagem C++ e POO
Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes
Leia maisRedes de Computadores II
Redes de Computadores II UDP Prof: Ricardo Luís R. Peres Tem como objetivo prover uma comunicação entre dois processos de uma mesma sessão que estejam rodando em computadores dentro da mesma rede ou não.
Leia maisProgramação: Estruturas de seleção
Programação de Computadores I Aula 07 Programação: Estruturas de seleção José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/53 Valores booleanos Os valores booleanos
Leia maisAlgoritmos e programação
Algoritmos e programação Introdução à Programação Prof. Bonadia dos Santos Conceitos básicos Desde o início de sua existência, o homem procurou criar máquinas que o auxiliassem em seu trabalho. Dentre
Leia maisAplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade Quando métodos são invocados sobre um objeto:
Tratamento de Exceções Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Exceções Aplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade
Leia maisCapítulo 6. Gerenciamento de Arquivos. 6.1 Arquivos 6.2 Diretórios 6.3 Implementação (6.3.1 a 6.3.6) 6.4 Exemplos
Capítulo 6 Gerenciamento de Arquivos 6.1 Arquivos 6.2 Diretórios 6.3 Implementação (6.3.1 a 6.3.6) 6.4 Exemplos 1 Armazenamento de longo prazo 1. Deve guardar grandes volumes de dados. 2. Informação armazenada
Leia maisBacharelado em Ciência e Tecnologia BC-0505 - Processamento da Informação Teoria Arquivos Prof. Edson Pinheiro Pimentel edson.pimentel@ufabc.edu.
Bacharelado em Ciência e Tecnologia BC-0505 - Processamento da Informação Teoria Arquivos Prof. Edson Pinheiro Pimentel edson.pimentel@ufabc.edu.br Conceitos Arquivos permitem armazenar dados de maneira
Leia maisDesenvolvimento de Sistemas Tolerantes a Falhas
Confiança de software Desenvolvimento de Sistemas Tolerantes a Falhas Em geral, os usuários de um sistema de software esperam ele seja confiável Para aplicações não-críticas, podem estar dispostos a aceitar
Leia maisSistemas Distribuídos
Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral
Leia maisUNIVERSIDADE 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 maisSistemas Operacionais Arquivos. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)
Sistemas Operacionais Arquivos Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Cin/UFPE Implementação do Sistema de Arquivos Sistemas de arquivos são
Leia maisEngenharia de Software II
Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.
Leia maisPHP (PHP Hypertext Preprocessor)
PHP (PHP Hypertext Preprocessor) André Tavares da Silva andre.silva@udesc.br Datas No PHP a função date() é usada para formatar um tempo ou data. string date(string $format [,int $timestamp]) Ex.: echo
Leia maisTrabalho Prático 1 Revisão de Programação, Tipos Abstratos de Dados e Combinação de Alocação Estática e Dinâmica de Memória
Trabalho Prático 1 Revisão de Programação, Tipos Abstratos de Dados e Combinação de Alocação Estática e Dinâmica de Memória Valor: 0,5 pontos (5% da nota total) Documentação em Latex: +0,1 pontos Data
Leia maisAcesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel
Acesso a Banco Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel As conexões em Java são feitas através de uma ponte que implementa todas as funcionalidades que um banco de dados padrão deve
Leia maisPrototype, um Design Patterns de Criação
Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe
Leia maisEscola Superior de Gestão e Tecnologia. Tratamento de Exceções
Escola Superior de Gestão e Tecnologia Tratamento de Exceções Objetivos Compreender como o tratamento de exceção e de erro funciona. Como u4lizar try, throw e catch para detectar, indicar e tratar exceções,
Leia maisCampus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /
Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: SEGURANÇA DA INFORMAÇÃO Aula N : 15 Tema:
Leia maisSistemas Operacionais
Multiprogramação 2 a edição Revisão: Fev/2003 Sistemas Operacionais Multiprogramação Capítulo 2 Tornar mais eficiente o aproveitamento dos recursos do computador Execução simultânea* de vários programas
Leia maisMC102 Algoritmos e programação de computadores Aula 3: Variáveis
MC102 Algoritmos e programação de computadores Aula 3: Variáveis Variáveis Variáveis são locais onde armazenamos valores na memória. Toda variável é caracterizada por um nome, que a identifica em um programa,
Leia maisMétodos de Sincronização do Kernel
Métodos de Sincronização do Kernel Linux Kernel Development Second Edition By Robert Love Tiago Souza Azevedo Operações Atômicas Operações atômicas são instruções que executam atomicamente sem interrupção.
Leia maisVariáveis e Comandos de Atribuição
BCC 201 - Introdução à Programação Variáveis e Comandos de Atribuição Guillermo Cámara-Chávez UFOP 1/47 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c e s s a d o r > < d e c l
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisResolução da lista de exercícios de casos de uso
Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se
Leia mais