Programação de Computadores em C
|
|
- Raul de Andrade Batista
- 8 Há anos
- Visualizações:
Transcrição
1 Programação de Computadores em C Primeira edição Carlos Camarão Universidade Federal de Minas Gerais Doutor em Ciência da Computação pela Universidade de Manchester, Inglaterra Lucília Figueiredo Universidade Federal de Ouro Preto Doutora em Ciência da Computação pela UFMG Direitos exclusivos Copyright c 2009 by Carlos Camarão e Lucília Figueiredo É permitida a duplicação ou reprodução deste volume, no todo ou em parte, sob quaisquer formas ou por quaisquer meios (eletrônico, mecânico, gravação, fotocópia, distribuição na Web ou outros), desde que seja para fins não comerciais.
2 Sumário Prefácio vii A Escolha da linguagem C 3
3 vi SUMÁRIO
4 Prefácio Este livro se propõe a acompanhá-lo no início de um longo caminho, que é o do desenvolvimento do raciocínio necessário para construção de programas bem feitos. Para isto, o livro aborda conceitos básicos de programação de computadores, de forma que posteriormente assuntos mais avançados possam ser abordados. Conteúdo e Organização do Livro Este livro foi concebido para ser utilizado como texto didático em cursos introdutórios de programação, de nível universitário. O conteúdo do livro não pressupõe qualquer conhecimento ou experiência prévia do leitor em programação, ou na área de computação em geral, requerendo apenas conhecimentos básicos de matemática, usualmente abordados nos cursos de primeiro e segundo graus. O livro adota a linguagem de programaçãoc (veja no anexo A uma discussão sobre essa escolha). Como estudaremos daqui a pouco, a linguagem C é uma linguagem imperativa. Uma visão geral sobre os conceitos básicos da programação imperativa é apresentada inicialmente, com o objetivo de favorecer uma compreensão global sobre o significado e o propósito dos conceitos empregados nesse estilo de programação, facilitando assim um melhor entendimento da aplicação dos mesmos na construção de programas. Cada um desses conceitos é abordado mais detalhadamante em capítulos subsequentes, por meio de exemplos ilustrativos e exercícios. Além desses conceitos básicos, o livro aborda também, de maneira introdutória, os seguintes tópicos adicionais: entrada e saída de dados em arquivos, e manipulação de estruturas de dados como arranjos e listas encadeadas. Recursos Adicionais Uma página na Internet associada a este livro pode ser encontrada no endereço: O texto desse livro e os códigos da maioria dos programas apresentados no livro como exemplos encontram-se disponíveis nesta página. Outros recursos disponíveis incluem sugestões de exercícios adicionais e projetos de programação, transparências para uso em cursos baseados neste livro e referências para outras páginas da Internet que contêm informações sobre a linguagem C ou sobre ferramentas para programação nessa linguagem. Há diversas páginas na Web com informações sobre a linguagem C disponíveis na Web, assim como cursos sobre introdução a prgramação em C, dentre os quais citamos: em C: Páginas Wiki, criadas pela própria comunidade de usuários da Web, sobre programação em C. A versão em inglês pode ser encontrada em (programming language). Material usado no curso de introdução a programação em C ministrado no Departamento de Engenharia Elétrica da UFMG. The C Programming Language, B. Kernighan & Dennis M. Ritchie, Prentice Hall, 1988.
5 viii Prefácio book/: Página com a versão gratuita da segunda edição do livro The C Book, de Mike Banahan, Declan Brady e Mark Doran, publicado pela Addison Wesley em Learn C/C++ today, de V. Carpenter. Uma coleção de referências e tutoriais sobre as linguagens C e C++ disponíveis na Internet. Perguntas frequentes sobre a linguagem C, e suas respostas (em inglês). The Development of the C Language, Dennis M. Ritchie (Janeiro de 1993). unix c.htm: History of the C Programming Language, Bill Stewart (Janeiro de 2000). nxiao/cs10/errors.htm: 10 Common Programming Mistakes in C. Livros adicionais sobre a linguagem C incluem: A linguagem de programação padrão ANSI C. B. Kernighan & D.C. Ritchie. Editora Campus, C completo e total. H. Schildt. Editora McGraw-Hill, 1990.a C: A Reference Manual, Samuel P. Harbison & Guy L. Steele, 5 a edição, Prentice Hall, C Programming: A Modern Approach, K.N. King, Norton, E divirta-se assistindo:
6
7 Referências Bibliográficas [1] Andrew Tanenbaum. Organização Estruturada de Computadores. LTC (tradução), [2] Cordelia Hall, John O Donnell. Discrete Mathematics Using a Computer. Springer, [3] David Patterson, John Hennessy. Computer Organization and Design: The Hardware Sofwtare Interface. Morgan Kaufmann, 2 a edition, [4] Keith Devlin. Mathematics: The New Golden Age. Penguin Books & Columbia University Press, [5] Roger Penrose. The Emperor s New Mind: Concerning Computers, Minds and The Laws of Physics. Oxford University Press, [6] Michael Sipser. Introduction to the Theory of Computation. PWS Publishing Company, [7] Daniel Velleman. How to Prove It: A Structured Approach. Cambridge University Press, 2 a edition, [8] William Stallings. Arquitetura e Organização de Computadores: Projeto para o Desempenho. Pearson Education do Brasil (tradução), 5 a edition, 2002.
8 2 REFERÊNCIAS BIBLIOGRÁFICAS
9 Apêndice A Escolha da linguagem C O livro adota a linguagem de programação C. A escolha dessa linguagem foi motivada pela necessidade de homogeneização no ensino de disciplinas introdutórias de programação de computadores nos cursos de várias universidades (por exemplo, nas disciplinas de Algoritmos e Estruturas de Dados I do Departamento de Ciência da Computação da Universidade Federal de Minas Gerais). O uso da linguagem C apresenta, reconhecidamente, vantagens no ensino de tais disciplinas para cursos como os de Engenharia Elétrica e Engenharia de Controle e Automação, por se tratar de linguagem adequada à chamada programação de sistemas, na qual se faz acesso direto a dispositivos e recursos de hardware. Para tais sistemas, a programação na linguagem C é adequada pois a linguagem permite acesso direto aos dispositivos e recursos de hardware, e portanto bibliotecas e programas que fazem tais acessos diretos ao hardware podem ser mais facilmente encontrados e usados. Para outros cursos, o uso da linguagem C é controverso, pelo fato de existir na linguagem uma preocupação central com eficiência, e possibilidade de acesso direto a áreas de memória, o que leva, principalmente, a duas consequências indesejáveis do ponto de vista de um aprendizado em programação: 1. Ausência, em muitos casos, de verificação dos chamados erros de tipo. Tais erros ocorrem devido ao uso de valores em contextos inadequados, ou seja, em contextos nos quais não faz sentido usar tais valores, e portanto nos quais tais valores não deveriam ser usados. Grande parte do desenvolvimento das linguagens de programação nos dias atuais é relacionado ao objetivo de tornar as linguagens cada vez mais seguras, no sentido de possibilitar a deteção de um número cada vez maior de erros de tipo, e ao mesmo tempo dando flexibilidade ao programador, de modo que ele não tenha que especificar ou mesmo se preocupar com a anotação explícita de tipos em seus programas, e procurando manter o algoritmo que permite essa deteção de erros simples e eficiente. 2. Mecanismos adequados na linguagem para suporte a abstrações, conceitos e construções comumente usados em programas, de forma simples e segura. Exemplos de tais mecanismos são: Tipos algébricos: tipos que permitem representar disjunção ( ou ) entre tipos e estruturas de dados, de modo seguro e simples. Tipos algébricos são usados comumente, para representar estruturas muito comuns em computação, tais como: enumerações, denotadas por tipos que consistem em uma enumeração de todos os possíveis elementos do tipo, como por exemplo um tipo booleano (cada valor consistindo de falso ou verdadeiro), ou estações do ano (primavera, verão, outono ou inverno), etc.; alternativas que estendem enumerações de modo a permitir diferentes modos de construir valores, tal como por exemplo uma forma geométrica, que pode ser um círculo com o tamanho de seu raio, ou um retângulo com os tamanhos de seus dois lados etc. estruturas recursivas que estendem alternativas por permitir recursividade na sua definição, como por exemplo uma lista, que pode ser vazia ou um elemento seguido
10 4 Escolha da linguagem C do restante da lista (tal restante consistindo, recursivamente, de uma lista), uma árvore binária, que pode ser uma folha contendo um valor de um determinado tipo ou um par formado por duas subárvores, etc.; Polimorfismo: tanto de valores (estruturas de dados) que podem ser instanciados para quaisquer tipos, mantendo a mesma forma, quanto de funções que realizam operações sobre tais estruturas de dados, que funcionam do mesmo modo, independentemente da instância sobre a qual realizam a operação. A ausência de suporte a polimorfismo em C impede, em particular, que existam bibliotecas com funções de manipulação de estruturas de dados de propósito geral como pilhas, filas, dicionários, conjuntos etc., comuns em linguagens mais modernas. Leitores interessados em tais assuntos podem consultar as notas bibliográficas do Capítulo??. Em conclusão, existe um compromisso entre a intenção de formar durante o tempo da graduação um programador pronto para as necessidades da indústria e o objetivo didático primordial que consiste em oferecer uma formação sólida aos graduandos nos aspectos teóricos relacionados à programação de computadores. Pelo primeiro motivo, este livro foi escrito na linguagem C. Pelo segundo, se oferecem seções especiais que abordam temas destinados aos estudantes que procurem maior aprofundamento nos conteúdos lecionados.
MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados
MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados 1. Objetivos Falar sobre programa de computador, diferenciando programa em linguagem de máquina, de programa em
Leia maisINTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E 33 2015-2 AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)
Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E 33 2015-2 1 AULA TEÓRICA 2
Leia maisDe uma forma ampla, o profissional egresso deverá ser capaz de desempenhar as seguintes funções:
PLANO DE ENSINO 1. Identificação Curso: Tecnologia em Desenvolvimento de Software Disciplina: Estrutura de Dados Professor: Msc. Tiago Eugenio de Melo CPF: Regime de Trabalho: 40h CH. Semestral: 100h Siape:
Leia maisWeb site. Objetivos gerais. Introdução. http://www.inf.ufes.br/~pdcosta/ensino/2009-1-estruturas-de-dados. Profa. Patrícia Dockhorn Costa
Web site http://www.inf.ufes.br/~pdcosta/ensino/2009-1-estruturas-de-dados Estruturas de Dados Aula 1: Introdução e conceitos básicos Profa. Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br 01/03/2010
Leia maisAlgoritmo e Programação
Algoritmo e Programação Professor: José Valentim dos Santos Filho Colegiado: Engenharia da Computação Prof.: José Valentim dos Santos Filho 1 Ementa Noções básicas de algoritmo; Construções básicas: operadores,
Leia maisOrganização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária
Organização de Computadores Capítulo 4 Cálculos Binários e Conversão entre Bases Aritmética Binária Material de apoio 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui
Leia maisAUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0
AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento
Leia maisIntrodução à Arquitetura de Computadores. Prof.ª Ms. Elaine Cecília Gatto
Introdução à Arquitetura de Computadores Prof.ª Ms. Elaine Cecília Gatto 1 O nome refere-se ao matemático John Von Neumann, que foi considerado o criador dos computadores da forma como são projetados até
Leia maisOrganização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo
Organização e Arquitetura de Computadores I Introdução Ivan Saraiva Silva Leonardo Casillo Sumário Introdução Bibliografia Recomendada O que é um computador Organização de um Computador Modelo de Von Neumann
Leia maisDesenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA
Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos
Leia maisDisciplina: Introdução à Arquitetura de Computadores
Disciplina: Introdução à Arquitetura de Computadores Unipampa Federal do Pampa - Campus Bagé June 27, 2013 1 2 Informações básicas (EC11). Curso: Engenharia de Computação. Informações básicas (EC11). Curso:
Leia maisMC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores
MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores 1. Objetivos Situar a atividade de programação de computadores Apresentar conceitos fundamentais relativos
Leia maisOrientaçã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 maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Fernando Fonseca Ramos Faculdade de Ciência e Tecnologia de Montes Claros Fundação Educacional Montes Claros 1 Metodologia da Disciplina 1-Objetivo 2-Competências
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 08 Processos Prof. Maxwell Anderson www.maxwellanderson.com.br Introdução Conceitos já vistos em aulas anteriores: Definição de Sistemas Operacionais Funções: máquina virtual
Leia maisComponentes de um Computador: Modelo Von Neumann
Componentes de um Computador: Modelo Von Neumann Modelo de Von Neumann O nome refere-se ao matemático John Von Neumann que foi considerado o criador dos computadores da forma que são projetados até hoje.
Leia maisProgramação Orientada a Objeto
Programação Orientada a Objeto Prof Márcio Bueno poonoite@marciobueno.com Ementa Levar o aluno a discutir, exercitar e consolidar o uso de técnicas de programação que tenham um impacto considerável sobre
Leia maisPontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA
DEPARTAMENTO: Fundamentos da Computação CURSO: Bacharelado em Sistemas de Informação DISCIPLINA: Fundamentos da Computação CÓDIGO: 4610H CRÉDITOS: 04 CARGA HORÁRIA: 60 horas-aula VALIDADE: a partir de
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 maisProgramação de Computadores em C. Primeira edição
Programação de Computadores em C Primeira edição Programação de Computadores em C Primeira edição Carlos Camarão Universidade Federal de Minas Gerais Doutor em Ciência da Computação pela Universidade
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Leia maisSistema Operacional. Prof. Leonardo Barreto Campos 1
Sistema Operacional Prof. Leonardo Barreto Campos 1 Sumário Introdução; Tipos de Sistemas Operacionais; Escalonamento; Gerenciamento de Memória; Bibliografia. Prof. Leonardo Barreto Campos 2/25 Introdução
Leia maisIntrodução APRESENTAÇÃO DA DISCIPLINA. joseana@computacao.ufcg.edu.br
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Introdução APRESENTAÇÃO DA DISCIPLINA
Leia mais4. Conceitos Básicos de Computação: Sistemas Operacionais
Introdução à Computação 5910157 4. Conceitos Básicos de Computação: Sistemas Operacionais Prof. Renato Tinós Local: Depto. de Física e Matemática (FFCLRP/USP) 1 Principais Tópicos 4.1. Introdução aos Sistemas
Leia maisCapítulo 2 Introdução à Programação Estrutura de Controle
Engenharia Elétrica PROGRAMAÇÃO PARA ENGENHARIA I Capítulo 2 Introdução à Programação Estrutura de Controle Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Plano de Ensino 2. Introdução à Programação
Leia maisEngenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com
Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.
Leia maisArquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
Leia maisApesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:
1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisDESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES
DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.
Leia maisPROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS
1 PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS INTRODUÇÃO O processamento interno do CLP é digital e pode-se, assim, aplicar os conceitos de lógica digital para compreen8 der as técnicas e as linguagens
Leia maisProjeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br
Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução Prof. Humberto Brandão humberto@dcc.ufmg.br aula disponível no site: http://www.bcc.unifal-mg.edu.br/~humberto/ Universidade Federal de
Leia maisIntranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO
Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial
Leia maisConcepção e Elaboração
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 Orientado a Objetos Concepção e Elaboração Estudo
Leia maisUNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática EMENTAS DA 3ª. ETAPA
EMENTAS DA 3ª. ETAPA Núcleo Temático: PROGRAMAÇÃO Disciplina: ESTRUTURA DE DADOS 108 há ( 72 ) Teóricas ( 36 ) Práticas Tipos abstratos de dados. Estudo das estruturas lineares: pilhas, filas e listas
Leia maisAlgoritmos e Linguagens de Programação. Álgebra Booleana. Faculdade Pitágoras Prof. Edwar Saliba Júnior Abril de 2007. Unidade 02-001 Álgebra Booleana
Álgebra Booleana Faculdade Pitágoras Prof. Edwar Saliba Júnior Abril de 2007 1 Histórico A álgebra booleana, também conhecida como álgebra de boole, foi criada pelo matemático inglês George Boole (1815-1864)
Leia mais02/10/2012. Padronização de interfaces. Referências
Referências Engenharia de Usabilidade Prof.: Clarindo Isaías Pereira da Silva e Pádua Contribuição: Cláudio Márcio de Souza Vicente Gestus Hix, D.; Hartson, H. R. Developing User Interfaces: ensuring usability
Leia maisMemória Cache. Prof. Leonardo Barreto Campos 1
Memória Cache Prof. Leonardo Barreto Campos 1 Sumário Introdução; Projeto de Memórias Cache; Tamanho; Função de Mapeamento; Política de Escrita; Tamanho da Linha; Número de Memórias Cache; Bibliografia.
Leia mais(P AA) 2 PACOTE DE APOIO A APRENDIZAGEM DE PROJETO E ANÁLISE DE ALGORITMOS: IMPLEMENTAÇÃO EM JAVA
Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM (P AA) 2 PACOTE DE APOIO A APRENDIZAGEM DE PROJETO E ANÁLISE DE ALGORITMOS:
Leia maisREAL LACOS: CONTROLE DIGITAL EM TEMPO REAL
REAL LACOS: CONTROLE DIGITAL EM TEMPO REAL Andreya Prestes da Silva 1, Rejane de Barros Araújo 1, Rosana Paula Soares Oliveira 1 e Luiz Affonso Guedes 1 Universidade Federal do ParáB 1 Laboratório de Controle
Leia mais1. DADOS DE IDENTIFICAÇÃO
PLANO DE ENSINO 1. DADOS DE IDENTIFICAÇÃO Instituição: Universidade Alto Vale do Rio do Peixe Curso: Sistemas de Informação Professores: Marcos Eduardo Godinho Período/ Fase: 2º Semestre: 2º Ano: 2010
Leia maisEsta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi
5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem
Leia maisformação em programação em c/c++
formação em programação em c/c++ O Treinamento de Programação em C/C++ com duração de 20 semanas (média de 6 meses), preparará o aluno para programar em duas das linguagens mais poderosas da computação.
Leia maisDISCIPLINA: Arquitetura e Organização de Computadores II 2ECOM.027
DISCIPLINA: Arquitetura e Organização de Computadores II CÓDIGO: 2ECOM.027 Validade: a partir do 1º semestre de 2007 Carga Horária: Total: 0 h/a Semanal: 04 aulas Créditos: 04 Modalidade: Teórica Classificação
Leia maisDisciplina de Banco de Dados Introdução
Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.
Leia maisRoteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido
Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura
Leia mais15 Computador, projeto e manufatura
A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as
Leia maisLINGUAGEM 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 maisUma Abordagem sobre Mapeamento Objeto Relacional com Hibernate
Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil luisgustavo@live.co.uk,
Leia maisDefinição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão
DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes
Leia maisIntrodução à Computação
Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os
Leia maisFórmula versus Algoritmo
1 Introdução Fórmula versus Algoritmo na resolução de um problema 1 Roberto Ribeiro Paterlini 2 Departamento de Matemática da UFSCar No estudo das soluções do problema abaixo deparamos com uma situação
Leia maisUnidade 8: Padrão MVC e DAO Prof. Daniel Caetano
Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisSistemas Operacionais
Sistemas Operacionais SISTEMAS DE ARQUIVOS MACHADO/MAIA: CAPÍTULO 11 Prof. Pedro Luís Antonelli Anhanguera Educacional SISTEMAS DE ARQUIVOS - INTRODUÇÃO O armazenamento e a recuperação de informações é
Leia maisBanco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.
Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel
Leia maisEngenharia de Software
Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo
Leia maisAlgoritmos e Estrutura de Dados II. Apresentação. Prof a Karina Oliveira. kkco@dei.unicap.br
Algoritmos e Estrutura de Dados II Apresentação Prof a Karina Oliveira kkco@dei.unicap.br Ementa Proporcionar ao aluno conhecimento teórico e prático para seleção, construção e manipulação de estrutura
Leia maisTencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03
Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Agenda 1. Arquitetura de Software 1.1.Introdução 1.2.Vantagens da Arquitetura de Software
Leia maisArquitetura de Computadores. Ivan Saraiva Silva
Arquitetura de Computadores Introdução Ivan Saraiva Silva Sumário Introdução Bibliografia Recomendada O que é um computador Organização de um Computador Modelo de Von Neumann IAS Máquina de Von Neuman
Leia maisrosesfmelo@hotmail.com rosefib.webnode.com.br
Paradigmas de análise e desenvolvimento de sistemas Metodologia de Análise e Desenvolvimento de Sistemas Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com rosefib.webnode.com.br Tópicos abordados
Leia maisIntrodução à Linguagem C/C++ Parte I
Linguagem de Programação I Introdução à Linguagem C/C++ Parte I Professor Mestre Ricardo Alexandre Carmona SÃO PAULO - 2014 Introdução à Linguagem C/C++ - Parte I 1 - HISTÓRICO A Linguagem de Programação
Leia maisUNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE
UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE CURSO: CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMPILADORES PROFESSOR: JOHNI DOUGLAS MARANGON Back-End Compilação 1. Compilação etapa Back-end
Leia maisDEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA
DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA Sistemas Operativos 2003/2004 Trabalho Prático #2 -- Programação em C com ponteiros -- Objectivos Familiarização
Leia mais2. Representação Numérica
2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos
Leia maisEntrada e Saída. Prof. Leonardo Barreto Campos 1
Entrada e Saída Prof. Leonardo Barreto Campos 1 Sumário Introdução; Dispositivos Externos; E/S Programada; E/S Dirigida por Interrupção; Acesso Direto à Memória; Bibliografia. Prof. Leonardo Barreto Campos
Leia maisEMENTAS DAS DISCIPLINAS
EMENTAS DAS DISCIPLINAS CURSO CST ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 68 A disciplina estuda a área da informática como um todo e os conceitos fundamentais, abrangendo desde a
Leia maisLinguagem Formais e Autômatos
Linguagem Formais e Autômatos Apresentação da disciplina, metodologia de ensino, conteúdos, avaliações e bibliografia Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos
Leia maisProgramador Web - Pronatec
Programador Web - Pronatec Introdução à Computação Aula 2 Sistemas Operacionais José Antonio dos Santos Barbosa josebarbosa@uai.com.br (31) 9-8275-0330 O que é um Sistema Operacional: Funções de um sistema
Leia maisUNIVERSIDADE PRESBITERIANA MACKENZIE
Unidade Universitária Escola de Engenharia Curso Engenharia Mecânica Disciplina Computação, Algoritmos e Programação I Professor(es) Sergio Vicente Denser Pamboukian Lincoln Cesar Zamboni Melanie Lerner
Leia mais3. Arquitetura Básica do Computador
3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,
Leia maisOutras Máquinas de Turing
Capítulo 10 Outras Máquinas de Turing 10.1. Pequenas variações da TM padrão 10.2. MT s com dispositivos de armazenamento mais complexos 10.3. MT s não-determinísticas 10.4. A Máquina de Turing Universal
Leia maisSemântica para Sharepoint. Busca semântica utilizando ontologias
Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...
Leia maisNotas de Aula 04: Casos de uso de um sistema
Notas de Aula 04: Casos de uso de um sistema Objetivos da aula: Aprender os elementos básicos da modelagem por casos de uso Utilizar as associações entre casos de uso, atores e demais artefatos Compreender
Leia maisUNIVERSIDADE DE SÃO PAULO E S C O L A D E A R T E S, C I Ê N C I A S E H U M A N I D A D E
UNIVERSIDADE DE SÃO PAULO E S C O L A D E A R T E S, C I Ê N C I A S E H U M A N I D A D E Trabalho proposto pela disciplina de Orientado por Professor Dr. Fernando Coelho Mário Januário Filho 5365372
Leia maisLÓGICA DE PROGRAMAÇÃO
Todos direitos reservados. Proibida a reprodução, mesmo parcial, por qualquer processo mecânico, eletrônico, reprográfico, etc., sem a autorização, por escrito, do(s) autor(es) e da editora. LÓGICA DE
Leia maisProgramação orientada a objetos usando a linguagem C++ CDTN Centro de Desenvolvimento de Tecnologia Nuclear
Programação orientada a objetos usando a linguagem C++ CDTN Centro de Desenvolvimento de Tecnologia Nuclear Belo Horizonte, Setembro de 2000 1- Objetivo: Ministrar o curso de Treinamento em Programação
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Leia maisSoftware Básico (INF1018)
Software Básico (INF1018) http://www.inf.puc-rio.br/~inf1018 Noemi Rodriguez (noemi@inf.puc-rio.br) Ana Lúcia de Moura (amoura@inf.puc-rio.br) 1 Objetivo do curso Entender como funciona um computador típico,
Leia maisUniversidade Federal de Alfenas
Universidade Federal de Alfenas Projeto e Análise de Algoritmos Aula 04 Introdução a Análise de Algoritmos humberto@bcc.unifal-mg.edu.br Última aula Fundamentos de Matemática Exercícios: Somatórios; Logaritmos
Leia maisPlano de Ensino Curso Superior
Plano de Ensino Curso Superior IDENTIFICAÇÃO EIXO TECNOLÓGICO: Informação e Comunicação CURSO: Tecnólogo em Sistemas para Internet FORMA/GRAU: ( ) integrado ( ) subsequente ( ) concomitante ( ) bacharelado
Leia maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2012/2013
Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2012/2013 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Electrotécnica e de Computadores 3.
Leia maisLinguagem algorítmica: Portugol
Programação de Computadores I Aula 03 Linguagem algorítmica: Portugol José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/34 Introdução I Lógica A lógica é usada
Leia maisRoteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)
Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo
Leia maisUm Ambiente Gráfico para Desenvolvimento de Software de Controle para Robôs Móveis Utilizando Simulação 3D
Um Ambiente Gráfico para Desenvolvimento de Software de Controle para Robôs Móveis Utilizando Simulação 3D Cardoso Marchezi e Hans-Jorg Andreas Schneebeli VIII Simpósio Brasileiro de Automação Inteligente
Leia maisAutoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre
Leia maisSoftware de rede e Modelo OSI André Proto UNESP - São José do Rio Preto andre.proto@sjrp.unesp.br O que será abordado Hierarquias de protocolos (camadas) Questões de projeto relacionadas às camadas Serviços
Leia maisIntrodução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?
Como é formado o meu computador? Introdução aos Sistemas Operacionais Arquitetura de Computadores e Software Básico Aula 1 Flávia Maristela (flavia@flaviamaristela.com) Mouse Teclado Monitor Placa de vídeo
Leia mais02 - Usando o SiteMaster - Informações importantes
01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,
Leia mais- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação
Programação 1I Prof. Osório Árvores Binárias Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação II Disciplina: Linguagem
Leia maisIntrodução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1
Introdução à Organização e Arquitetura de Computadores Prof. Leonardo Barreto Campos 1 Sumário Introdução; Evolução dos Computadores; Considerações da Arquitetura de von Neumann; Execução de uma instrução
Leia maisRoteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?
Roteiro BCC321 - Banco de Dados I Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Conceitos Básicos Banco
Leia maisFornece novos benefícios para o mercado postal
Entrega de Pacotes e Encomendas Classificação de correspondências e pacotes Vantage TM Sorting Solution Classificadora flexível e de alta velocidade Fornece novos benefícios para o mercado postal A classificadora
Leia maisAlgoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos
1. INTRODUÇÃO A ALGORITMOS O uso de algoritmos é quase tão antigo quanto a matemática. Com o passar do tempo, entretanto, ele foi bastante esquecido pela matemática. Com o advento das máquinas de calcular
Leia mais