Aula 02 Conceitos e Princípios de Modularidade 1
|
|
|
- Roberto Canto Sintra
- 7 Há anos
- Visualizações:
Transcrição
1 Aula 02 Conceitos e Princípios de Modularidade 1 Alessandro Garcia LES/DI/PUC-Rio Agosto 2016 Lembretes Horário das aulas inicio cada aula a partir de 13:15 Sítio (site) da disciplina: já atualizado material de apresentação da disciplina eliminei aula do dia 7/9 notas de aula disponíveis após as aulas avisos diversos: provas são no horário de aula (início as 13:00) software e documentos para download instalação completa do Visual Studio na instalação mínima, certas bibliotecas importantes podem ser deixadas de fora Mar 2009 Alessandro Garcia LES/PUC-Rio 2 / 18 1
2 Software também tem arquitetura September 3... mas nem sempre ela é modular! September 4 2
3 Modularidade por que é importante? Hadoop September 5 Modularidade por que é importante? Modularidade real - Hadoop Nenad Medvidović. When, Where, and Why Do Software Systems Architectures Decay? March September 6 3
4 Especificação Objetivos dessa aula Discutir o que o que vêm a ser abstração Estudar em detalhe o que vêm a ser interfaces Apresentar o conceito de módulo Como estruturar um módulo em C? Referência básica: Capítulo 5 do livro texto Slides adaptados de: Staa, A.v. Notas de Aula em Programação Modular; /26 Sumário Abstração Níveis de abstração Interfaces conceituação relacionamento cliente-servidor interfaces providas e requeridas Módulo 8 /26 4
5 Abstração O que é isso? 9 /26 Abstração E agora? 10 /26 5
6 Abstração Abstração: omissão de detalhes, mas sem que se perca a compreensão da essência do artefato Entretanto, a falta de suficientes detalhes pode impedir a compreensão da sua essência O excesso de detalhe torna mais trabalhosa a operação com o artefato 11 /26 Um dos problemas... Excesso de detalhes expostos por cada abstração do sistema... Nenad Medvidović. When, Where, and Why Do Software Systems Architectures Decay? March September 12 6
7 Quais são os detalhes essenciais e suficientes na declaração de uma função inserção em uma lista para quem for chamá-la? quais as propriedades devem ser declaradas na assinatura/ protótipo da função? Ago /26 Abstração Definição: Uma abstração denota as características essenciais de um elemento que distinguem este de todos os outros elementos e, assim, provê limites conceituais bem definidos Exemplos de abstrações em um sistema de controle de cursos Curso Pessoas: Nome, Endereço, Telefone, Data Nascimento, etc Alunos» Curso, Data Início, Disciplinas Cursadas, Período, Status, etc... Professores» Formação, Tipo de Dedicação, etc... Certos detalhes podem ser ignorados deste sistema: Hobbies das pessoas, etnia, altura, peso, etc... Temos diferentes níveis de abstração em um sistema Linguagens de programação provêem suporte a estes níveis 14 /26 7
8 Níveis de abstração de um sistema alto Sistema Arquivos, bases de dados, mensagens, plataforma Programa Módulos de definição API - Aplication program interface Componente Módulos de definição header files Níveis de abstração Interface típica Módulo Classe Elementos públicos (e protected) Parâmetros generalizados certos níveis de abstração nem sempre são utilizados baixo concreto Função Bloco Escopo visível Linha de código Escopo visível 15 /26 Primeiro Princípio de Programação Modular... Cada módulo deve implementar uma ÚNICA abstração Somente características essenciais devem ser utilizadas para definir tal abstração (em relação aos outros módulos) Características essenciais são expressas nas interfaces dos módulos Mar 2009 Alessandro Garcia LES/PUC-Rio 16 / 18 8
9 O que é uma interface? Interfaces são os elementos (as coisas) através das quais os módulos (ou funções) interagem uma interface define os elementos visíveis necessários para a comunicação outro exemplo de interface em software é: janelas para o usuário Para que haja comunicação, o cliente e o servidor precisam ter um vocabulário (idioma) comum Uma função em um programa C: função cliente precisa conhecer: nome da função tipo de dado utilizado pela função etc /26 O que consiste então a interface do módulo? Em computação os elementos de interface de um módulo são funções exemplos dados abrir arquivo criar lista, inserir elemento, etc... exemplo: lista de palavras, lista de caracteres, caracter, etc... eventos uma forma de ação instantânea que informa que algo aconteceu, ex. clicou sobre abrir arquivo foi pressionado enter com linha de comando contendo xyz fim de arquivo foi encontrado o relógio atingiu a hora cheia eventos excepcionais, tais como: estouro da pilha, memory overflow, etc /26 9
10 Função: Compor palavra é cliente de... /* Precisa valer: inxcharpalavra == 0, CharCorr o caractere a ser processado */ /* Compor a palavra chave */ while ( CharCorr!= Char_EOF ) { if ( TipoCaracter( CharCorr ) == TipoUtil ) { /* Adicionar caractere útil à palavra */ Palavra[ inxcharpalavra ] = CharCorr ; inxcharpalavra ++ ; } else { /* Saltar caractere separador */ if ( inxcharpalavra > 0 ) { break ; } /* if */ } /* if */ CharCorr = LerProximoChar( ) ; } /* while */ /* inxcharpalavra > 0 existe palavra a registrar */ 19 /26 Relacionamento cliente servidor Cada instância de comunicação (conexão) ocorre entre um cliente quem origina a comunicação transmissor solicita um serviço um servidor quem recebe e processa a comunicação receptor presta um serviço um servidor pode dar respostas ao cliente 20 /26 10
11 Composição de módulos: interfaces providas e requeridas Módulo 1 cliente servidor Módulo 2 Módulo 3 Interface requerida Interface provida ou Interface externada Módulo 4 Módulo 5 Módulo 6 Interface(s) requerida (incluída) 21 /26 Exemplo Módulo Lista Quais seriam possíveis funções públicas: interface provida? Interface Provida? Ago /26 11
12 Exemplo Módulo Lista Quais seriam possíveis funções públicas: interface provida? CriarLista() InserirElemento(id, elem) BuscarElemento(id) RemoverElemento(id) DestruirLista() Ago /26 Exemplo Módulo Lista CriarLista() InserirElemento(id, elem) BuscarElemento(id) RemoverElemento(id) DestruirLista() struct Elem struct Cabeça Arquivar() DestruirNo() Interface Provida Dados e funções não providas Ago /26 12
13 Exemplo Módulo Tabuleiro CriarTabuleiro() DestruirTabuleiro() Módulo PeçasExcluídas CriarPeças Excluidas() CriarLista() Módulo Lista InserirElemento(id, elem) BuscarElemento(id) RemoverElemento(id) DestruirLista() struct Elem struct Cabeça Arquivar() DestruirNo() IncluirPeça Excluida() Interface Provida Dados e funções não providas Ago /26 Exemplo Módulo Tabuleiro CriarTabuleiro() DestruirTabuleiro() Módulo PeçasExcluídas CriarPeças Excluidas() CriarLista() Módulo Lista InserirElemento(id, elem) BuscarElemento(id) RemoverElemento(id) DestruirLista() struct Elem struct Cabeça Arquivar() DestruirNo() IncluirPeça Excluida() Interface Provida Dados e funções não providas Ago /26 13
14 Exemplo Módulo Tabuleiro CriarTabuleiro() DestruirTabuleiro() Módulo PeçasExcluídas CriarPeças Excluidas() CriarLista() Módulo Lista InserirElemento(id, elem) BuscarElemento(id) RemoverElemento(id) DestruirLista() struct Elem struct Cabeça Arquivar() DestruirNo() IncluirPeça Excluida() Interfaces Requeridas Interface Provida Dados e funções não providas Ago /26 Módulo: definição geral De forma geral: é qualquer unidade que podemos tratar de forma independente em um sistema de software uma unidade lógica de um programa com interface bem definida que pode ser compilada e testada de forma independente [Staa, 2000] cada módulo representa um único conceito (abstração) interface bem definida: provida e requerida idealmente: deveria ser totalmente explícita objetivos: a especificação ou implementação interna é substituível! facilitar compreensão, uso, manutenção do módulo Alessandro Garcia LES/DI/PUC-Rio 28 /32 14
15 Composição interna de um módulo arquivo header arquivo *.c file Módulo de Definição Tipo Externado 1 Módulo de Implementação interface encapsulada Função Interna 1 Função Interna 2 Tipo Interno 1 Dado Externado 1 interface provida Função Externada 1 Função Classe Externada12 lista de includes Módulo X Tipo Externado Classe YX interface requerida Módulo A Dado D Função F 2 Dado Interno 1 Módulo B Arquivo Janela Metafile Alessandro Garcia LES/DI/PUC-Rio in Arquivos a 29 /32 O que é um módulo físico? Um módulo físico é uma unidade de compilação é composto por um ou mais arquivos de texto código fonte necessários para que possa ser compilado com sucesso Exemplo Items de interface requerida pelo módulo TestArv O módulo físico de teste específico TestArv.c é composto por: Interface da biblioteca de C #include <string.h> #include "generico.h" #include "lerparm.h" #include "tst_espc.h" #include "arvore.h" além de TestArv.c Interface da biblioteca do arcabouço de apoio ao teste Interface padrão do módulo de teste específico Interface do módulo sob teste Código fonte do módulo de teste específico Alessandro Garcia LES/DI/PUC-Rio 30 /32 15
16 Exemplo de Módulo em C Módulo árvore implementa uma estrutura genérica de árvores binárias manipuláveis através de um conjunto limitado de funções detalhes internos (organização de dados) não são visíveis para os usuários da estrutura árvore 31 /26 Exemplo de Módulo em C Módulo árvore implementa uma estrutura genérica de árvores binárias manipuláveis através de um conjunto limitado de funções detalhes internos (organização de dados) não são visíveis para os usuários da estrutura árvore 32 /26 16
17 Exemplo de Módulo em C Discutindo Estrutura do arquivo ARVORE.h Estrutura do arquivo ARVORE.c 33 /26 Investindo em modularidade... Por que separar interface da implementação de módulos? Ago /26 17
18 Módulos em C Módulo de declaração ( x.h) ou header file estabelece a interface externada do módulo documentação da interface código da interface destina-se a programadores clientes do módulo programadores desenvolvedores ou mantenedores do correspondente módulo de implementação testadores usando teste caixa-preta aos redatores da documentação para o usuário ao compilador ao compilar um módulo cliente ao compilar o correspondente módulo de implementação Mar 2009 Alessandro Garcia LES/DI/PUC-Rio 35 /32 Módulos em C Módulo de implementação ( x.c ) contém a inclusão do módulo de declaração próprio as inclusões de todos módulos de declaração dos quais é cliente especificação e implementação do dados manipulados pelo módulo estruturas de dados (e.g. estrutura do nó e cabeça da árvore) as declarações de elementos encapsulados o código executável do módulo código das funções destinam-se aos programadores desenvolvedores ou mantenedores lêem e interagem inúmeras vezes com o texto ao compilador Mar 2009 Alessandro Garcia LES/DI/PUC-Rio 36 /32 18
19 Aula 02 Conceitos e Princípios de Modularidade 1 Alessandro Garcia LES/DI/PUC-Rio Agosto
Aula 10 Arquitetura de Software e Exercício. Alessandro Garcia LES/DI/PUC-Rio Abril de 2017
Aula 10 Arquitetura de Software e Exercício Alessandro Garcia Abril de 2017 Não Esquecer... Preencher tabela de atividades ao longo do processo. NÃO DEIXE PARA ÚLTIMA HORA, POIS VOCÊ NÃO SE LEMBRARÁ DO
IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias
1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo
Aula 8 Especificação de Requisitos
Aula 8 Especificação de Requisitos Alessandro Garcia Abril 2017 Recados Enunciado do trabalho prático (T2) já está disponível no sítio da disciplina: http://www.inf.puc-rio.br/~inf1301/ Enviem mensagem
Programação Modular. Alessandro Garcia. DI/PUC-Rio Agosto 2016
Programação Modular Alessandro Garcia DI/PUC-Rio Agosto 2016 Programação Modular Quem sou eu? Quem são vocês? Qual é o problema abordado no curso? Qual é o objetivo do curso? Organização: aulas, avaliação
Programação Orientada a Objetos
Programação Orientada a Objetos Classes e Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Lembrando Na Unidade II Modelagem Orientada a Objetos, vimos: Como utilizar
Aula 9 Especificação de Requisitos Exercício
Aula 9 Especificação de Requisitos Exercício Alessandro Garcia LES/DI/PUC-Rio Abril 2017 Exercício Faça a especificação de requisitos do programa do jogo FreeCell com base no que foi apresentado na aula
A c c e s s B á s i c o
A c c e s s B á s i c o (referencial): 25 horas A informação na ponta dos dedos, o programa perfeito para cadastros de clientes e fornecedores, controle de estoque, pesquisas relatórios. O Microsoft Access
COMPILAÇÃO. Ricardo José Cabeça de Souza
COMPILAÇÃO Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Programas Código-fonte escrito em linguagem de programação de alto nível, ou seja, com um nível de abstração muito grande, mais próximo
Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores
Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores 2013-2 Compilador para a Linguagem Cafezinho Especificação dos trabalhos: T2 (Geração da Representação Intermediária e Análise
Plano de Aula - Lógica de Programação - cód Horas/Aula
Plano de Aula - Lógica de Programação - cód. 6133-16 Horas/Aula Aula 1 Capítulo 1 - Introdução Aula 2 Continuação do Capítulo 1 - Introdução Capítulo 2 - Diagrama de Bloco Aula 3 Capítulo 3 - Dados Capítulo
Aula 3 Primeiros programas
Aula 3 Primeiros programas FACOM-UFMS 2012 OBJETIVOS DA AULA Introdução ao CodeBlocks; Criação dos primeiros programas; Esta aula foi baseada nos capítulos 3 e 4 da apostila de Programação de Computadores
Aula 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
Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)
Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos) Histórico Gerações de Linguagens de Programação Primeira Geração: Linguagem de máquina Segunda Geração: Linguagem de montagem
Trabalho Prático. Descrição Considere os seguintes dados a respeito de uma pessoa:
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri Trabalho
Introdução ao Python. Programa Computacional
Programa Computacional É um algoritmo escrito em uma linguagem computacional (C, Fortran, Pascal, MATLAB, Python, etc.). É a tradução do algoritmo para uma linguagem que será interpretada pelo computador.
Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011
Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Web site http://www.inf.ufes.br/~pdcosta/ensino/ Profa. Patrícia Dockhorn Costa Email: [email protected] Introdução O que são estruturas
Laboratório de Engenharia de Software I
Laboratório de Engenharia de Software I Turma 01: Profa. Lucia Vilela Leite Filgueiras Turma 02: Profa. Maria Alice Grigas Varela Ferreira Aula 01 Casos de uso e protótipo da interface de usuário Roteiro
Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM
Curso de C Introdução 1 Introdução Roteiro: Recordando Algoritmos Linguagem de Programação O computador Instruções de Máquina Níveis de Abstração Compilação 2 Algoritmos Recordando: Algoritmo: conjunto
AULA 03: FUNCIONAMENTO DE UM COMPUTADOR
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?
BCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 10: Pilhas Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes Email: [email protected]
Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton
Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton [email protected] Introdução A linguagem C foi inventada por Dennis Ritchie e
Arquitetura de Software: Documentação
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Documentação SCE 526 Análise e Projeto Orientados a Objeto Profa. Elisa Yumi Nakagawa 2. Semestre de
Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual
Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade
Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini
Unidade II MODELAGEM DE PROCESSOS Profa. Gislaine Stachissini Modelagem de sistemas A fase do desenvolvimento do sistema exige: esforço; dedicação; envolvimento; um único objetivo. Estilo de desenvolvimento
Disciplina de Lógica e Linguagem de Programação Desenvolvido pelo professor Danilo Giacobo Ferramenta Code::Blocks
Disciplina de Lógica e Linguagem de Programação Desenvolvido pelo professor Danilo Giacobo Ferramenta Code::Blocks Manual de utilização LISTA DE FIGURAS Figura 1 - Tela Inicial do software Code::Blocks...
Anhanguera Educacional S.A. Centro Universitário Ibero-Americano
O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações
Introdução à Linguagem C
Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria [email protected]
Aula 05 Instalação e Uso do Arcabouço. Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Março 2016
Aula 05 Instalação e Uso do Arcabouço Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Março 2016 Sumário Teste automatizado Instalação do arcabouço. Estrutura de diretórios do arcabouço. Como utilizar
Algoritmos Computacionais
UNIDADE 1 Processador e instruções Memórias Dispositivos de Entrada e Saída Software ARQUITETURA BÁSICA UCP Unidade central de processamento MEM Memória E/S Dispositivos de entrada e saída UCP UNIDADE
Computação Embarcada - Projeto
Computação Embarcada - Projeto B - Detalhamento da proposta Rafael Corsi [email protected] 10 de março de 2017 Matheus Marotzke Engenharia da Computação INSPER 2017 INTRODUÇÂO A atividade consiste
1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador.
1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador. 1) Fila 2) Pilha 3) Árvore 4) Lista 5) Grafo 2. Selecione a Estrutura de Dados que melhor representa
Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s
Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas
Introdução à Computação: Máquinas Multiníveis
Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza ([email protected]) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Capítulo 6: Arquivos
Capítulo 6: Arquivos Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Funções de entrada e saída em arquivos Nos capítulos anteriores, desenvolvemos programas que capturam seus dados de
IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli
Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação
Princípios da Engenharia de Software aula 03
Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos
Linguagem de Programação C
Linguagem de Programação C Aula 08 Diogo Pinheiro Fernandes Pedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais 13 de novembro de 2009 Introdução O que é uma linguagem
Programação em Linguagem C
Programação em Linguagem C Aula #111 EBS 111 ICC Prof Luiz Fernando S Coletta luizfsc@tupaunespbr Campus de Tupã Modularização do código 2 Modularização do código Organização, legibilidade e manutenibilidade
2.1 NesC Seguem alguns dos principais desafios impostos à linguagem NesC:
2 TinyOS e NesC O framework de programação mais utilizado em redes de sensores sem fio é composto pelo sistema operacional TinyOS [11] e pela linguagem de programação NesC [12]. A linguagem NesC foi definida
Análise e Projeto Orientados a Objetos: Visibilidade Diagrama de Classe de Projeto
UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Análise e Projeto Orientados a Objetos: Visibilidade Diagrama de Classe
3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos
Métodos Computacionais
Métodos Computacionais Objetivos da Disciplina e Introdução a Linguagem C Construções Básicas Objetivos da Disciplina Objetivo Geral Discutir técnicas de programação e estruturação de dados para o desenvolvimento
Algoritmia e Programação APROG. Tecnologia JAVA. IDE Netbeans. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31
APROG Algoritmia e Programação Tecnologia JAVA IDE Netbeans Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Tecnologia Java Sumário Tecnologia Java Desenvolvimento de Programas Ambientes de Desenvolvimento
Programação Básica. Estrutura de um algoritmo
Programação Básica Estrutura de um algoritmo Código-fonte Como vimos na aula anterior um algoritmo pode ser representado usando um fluxograma Um algoritmo pode também ser representado usando texto Esse
Introdução a UML (Unified Modeling Language)
Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário
Linguagem C Ficheiros Compilação Separada
Linguagem C Ficheiros Compilação Separada typedef definição de tipos Apontadores para estruturas Ficheiros na bibiloteca standard do C Compilação Separada Definição de novos tipos em C É possível definir
Algoritmos e Programação
ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA
Elementos de Linguagem C
Elementos de Linguagem C Parte II Elementos de linguagem C Parte II 1 Macros O pré-processador da linguagem C suporta a substituição de macros, criadas com #define nome_macro texto de substituição As macros
Linguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:
Módulo 6 Análise Orientada a Objeto É interessante observar como a análise orientada a objeto utiliza conceitos que aprendemos há muito tempo: objetos, atributos, classes, membros, todos e partes. Só não
Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: funções Prof. Renato Pimentel 1 Subprogramas Subprograma: programa que auxilia o programa principal na realização de uma determinada
Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl
AVALIAÇÃO DA QUALIDADE DO CÓDIGO FONTE ESCRITO EM PL/SQL Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento
Linguagens de Programação Aula 11
Linguagens de Programação Aula 11 Celso Olivete Júnior [email protected] Na aula passada Uma definição de subprograma descreve as ações representadas pelo subprograma Subprogramas podem ser funções
Classes e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Conhecendo e editando o seu perfil
Neste tutorial, você vai conhecer e aprender a editar o seu perfil na Plataforma Moodle/Cederj. Vamos lá! 1- Usando o Blog 2 2- Meus arquivos privados 6 3- Inserindo Repositórios 9 4- Modificando o perfil
void push(int i){ if (num<max) vet[num++]=i; else { printf(">>> Erro: overflow na pilha!!!\n"); printf("%d nao foi empilhado!!!
Estruturas de Dados Lista 2: soluções J. L. Rangel 1. Suponha que uma pilha é representada através de um vetor vet e de um inteiro num. As declarações podem ser #define MAX 100 int vet[max], num; Escreva
Computadores e Programação (DCC/UFRJ)
Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo
Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto
Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural
TCC 00308: Programação de Computadores I Organização de programas em Python
TCC 00308: Programação de Computadores I 2017.1 Organização de programas em Python Vamos programar em Python! Como um programa é organizado? Quais são os tipos de dados disponíveis? Como variáveis podem
#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
Levantamento, Análise e Gestão Requisitos. Aula 03
Levantamento, Análise e Gestão Requisitos Aula 03 Agenda Paradigma da Orientação a Objetos Classes e objetos Abstração Encapsulamento Herança e polimorfismo Associação de objetos Coesão e acoplamento Levantamento
PROJETO DE PROGRAMAS. Projeto de Programas PPR0001
PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes
Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples.
O que é Java Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/ 1 Objetivos Responder o
Capítulo 1. Aspectos Preliminares
Capítulo 1 Aspectos Preliminares Tópicos do Capítulo 1 Razões para estudar conceitos de linguagens de programação Domínios de programação Critérios de avaliação de linguagens Influências no projeto de
INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY
INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY INTRODUÇÃO A Plataforma Arduino é considerada plataforma aberta, ou seja, qualquer pessoa pode efetuar uma melhoria em um código, biblioteca e disponibilizá-la
Estrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 5: Registros O objetivo desta aula é apresentar os tipos de dados definidos pelo programador, bem como exibir usos comuns desses tipos de
Análise e projeto de sistemas
Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os
Indexação e Busca. O objetivo deste trabalho é projetar e implementar um sistema de programas para indexação e busca em arquivos de texto.
Universidade Federal do Espírito Santo Departamento de Informática Estruturas de Dados 2017/1 Profa. Claudine Badue Trabalho 2 1. Objetivo Indexação e Busca O objetivo deste trabalho é projetar e implementar
AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.
AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos
DELPHI Curso Extensão. walter Prof. Walter Gima
DELPHI Curso Extensão walter [email protected] Prof. Walter Gima DELPHI 7 Ementa do Curso Introdução ao Delphi. Ambiente de programação. Sintaxe e estrutura de linguagem. Uso de projetos units e formulários,
Linguagens de Domínio Específico
Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Por que DSLs? Melhorar a produtividade dos programadores input =~ /\d{3}-\d{3}-\d{4}/ Facilitar a escrita e
RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN
RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa
Linguagem C: diretivas, compilação separada. Prof. Críston Algoritmos e Programação
Linguagem C: diretivas, compilação separada Prof. Críston Algoritmos e Programação Diretivas do pré processador Permite que o programador modifique a compilação O pré processador é um programa que examina
Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 20 Jan/2017.
Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 20 Jan/2017 4.9. Delegates Exercício 217 4.9. Delegates Repare nas diferenças destes dois casos com e sem Delegates:
Linguagens de Programação
Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.
Linguagem de Programação
Linguagem de Programação aula 4 Engenharia Elétrica e Engenharia de Automação Introdução à Computação 1.o sem/2013 Profa Suely (e-mail: [email protected]) Programas Programas são seqüências de instruções
CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:
CAP. IX - MANIPULAÇÃO DE ARQUIVOS 9.1 Generalidades sobre arquivos 9.2 Abertura e fechamento de arquivos 9.3 Arquivos textos e arquivos binários 9.4 Leitura e escrita em arquivos binários 9.5 Procura direta
MODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão
Unidade 4 Modelo de Classes de Projeto Luiz Leão [email protected] http://www.luizleao.com Conteúdo Programático Definição da Visibilidade entre Objetos Adição de Operações às Classes de Projeto Adição
Ambiente de desenvolvimento
Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa
