Programação de Computadores em C

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

Download "Programação de Computadores em C"

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 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 mais

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E 33 2015-2 AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)

INTRODUÇÃ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 mais

De uma forma ampla, o profissional egresso deverá ser capaz de desempenhar as seguintes funções:

De 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 mais

Web site. Objetivos gerais. Introdução. http://www.inf.ufes.br/~pdcosta/ensino/2009-1-estruturas-de-dados. Profa. Patrícia Dockhorn Costa

Web 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 mais

Algoritmo e Programação

Algoritmo 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 mais

Organização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária

Organizaçã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 mais

AUTOR: 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 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 mais

Introdução à Arquitetura de Computadores. Prof.ª Ms. Elaine Cecília Gatto

Introduçã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 mais

Organizaçã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 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 mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo 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 mais

Disciplina: Introdução à Arquitetura de Computadores

Disciplina: 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 mais

MC102 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 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 mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Arquitetura e Organização de Computadores

Arquitetura 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 mais

Sistemas Operacionais

Sistemas 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 mais

Componentes de um Computador: Modelo Von Neumann

Componentes 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 mais

Programação Orientada a Objeto

Programaçã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 mais

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA

Pontifí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 mais

UNIVERSIDADE 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 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 mais

Programaçã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 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 mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. 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 mais

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Sistema 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 mais

Introdução APRESENTAÇÃO DA DISCIPLINA. joseana@computacao.ufcg.edu.br

Introduçã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 mais

4. Conceitos Básicos de Computação: Sistemas Operacionais

4. 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 mais

Capítulo 2 Introdução à Programação Estrutura de Controle

Capí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 mais

Engenharia 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 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 mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas 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 mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar 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 mais

Sistemas Operacionais

Sistemas 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 mais

Tabela 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. 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 mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO 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 mais

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS

PROGRAMAÇÃ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 mais

Projeto 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 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 mais

Intranets. 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 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 mais

Concepção e Elaboração

Concepçã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 mais

UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática EMENTAS DA 3ª. ETAPA

UNIVERSIDADE 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 mais

Algoritmos e Linguagens de Programação. Álgebra Booleana. Faculdade Pitágoras Prof. Edwar Saliba Júnior Abril de 2007. Unidade 02-001 Álgebra Booleana

Algoritmos 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 mais

02/10/2012. Padronização de interfaces. Referências

02/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 mais

Memória Cache. Prof. Leonardo Barreto Campos 1

Memó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

(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 mais

REAL LACOS: CONTROLE DIGITAL EM TEMPO REAL

REAL 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 mais

1. DADOS DE IDENTIFICAÇÃO

1. 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 mais

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

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 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 mais

formação em programação em c/c++

formaçã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 mais

DISCIPLINA: Arquitetura e Organização de Computadores II 2ECOM.027

DISCIPLINA: 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 mais

Disciplina de Banco de Dados Introdução

Disciplina 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 mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. 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 mais

15 Computador, projeto e manufatura

15 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 mais

LINGUAGEM C UMA INTRODUÇÃO

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

Leia mais

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Uma 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 mais

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Definiçã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 mais

Introdução à Computação

Introduçã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 mais

Fórmula versus Algoritmo

Fó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 mais

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 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 mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (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 mais

Sistemas Operacionais

Sistemas 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 mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco 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 mais

Engenharia de Software

Engenharia 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 mais

Algoritmos 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 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 mais

Tencologia 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 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 mais

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura 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 mais

rosesfmelo@hotmail.com rosefib.webnode.com.br

rosesfmelo@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 mais

Introdução à Linguagem C/C++ Parte I

Introduçã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 mais

UNIVERSIDADE 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 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 mais

DEPARTAMENTO 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 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 mais

2. Representação Numérica

2. 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 mais

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Entrada 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 mais

EMENTAS DAS DISCIPLINAS

EMENTAS 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 mais

Linguagem Formais e Autômatos

Linguagem 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 mais

Programador Web - Pronatec

Programador 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 mais

UNIVERSIDADE PRESBITERIANA MACKENZIE

UNIVERSIDADE 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 mais

3. Arquitetura Básica do Computador

3. 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 mais

Outras Máquinas de Turing

Outras 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 mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semâ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 mais

Notas de Aula 04: Casos de uso de um sistema

Notas 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 mais

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

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 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 mais

LÓGICA DE PROGRAMAÇÃO

LÓ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 mais

Programaçã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 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 mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE 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 mais

Software Básico (INF1018)

Software 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 mais

Universidade Federal de Alfenas

Universidade 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 mais

Plano de Ensino Curso Superior

Plano 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 mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2012/2013

UNIVERSIDADE 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 mais

Linguagem algorítmica: Portugol

Linguagem 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 mais

Roteiro 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) 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 mais

Um 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 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 mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria: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 mais

Software 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 mais

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

Introduçã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 mais

02 - Usando o SiteMaster - Informações importantes

02 - 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

- 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 mais

Introduçã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 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 mais

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Roteiro. 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 mais

Fornece novos benefícios para o mercado postal

Fornece 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 mais

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

Algoritmos 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