INTRODUÇÃO AOS SISTEMAS LÓGICOS

Documentos relacionados
Introdução a Programação de Jogos

Introdução à Computação: Máquinas Multiníveis

INF 1005 Programação I

Introdução à Computação

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

Capítulo 1. Aspectos Preliminares

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Apresentação. !! Familiarização com os métodos de construção de compiladores de linguagens e com as técnicas de compilação mais habituais.

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas

Programação de Computadores:

Conceitos de Linguagens de Programação

Programação Básica de Computadores

Introdução à Programação

Visão Geral... e conceitos básicos

Introdução a Algoritmos

Autômatos e Linguagens

Compiladores. Prof. Bruno Moreno

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Web site. Profa. Patrícia Dockhorn Costa.

Programação de Computadores

INTRODUÇÃO AOS SISTEMAS LÓGICOS INTRODUÇÃO

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES

Compiladores. Eduardo Ferreira dos Santos. Fevereiro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 38

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

EMENTÁRIO. Princípios de Conservação de Alimentos 6(4-2) I e II. MBI130 e TAL472*.

COORDENAÇÃO DO CURSO DE ENGENHARIA ELÉTRICA DATAS DAS AVALIAÇÕES DO PERÍODO LETIVO 2017/1

Programação de Computadores

Aula 3 Máquina Multinível

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

CONCEITO DE ALGORITMO

Introdução à Computação

Introdução à Informática. Conceitos Nomenclaturas

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

Programação de Computadores

Revisão: linguagens de programação

Apresentação. Informação geral + Conceitos iniciais

Programação Estruturada Aula - Introdução a Linguagem de Programação

Universidade Federal de Roraima Departamento de Matemática Introdução à Ciência da Computação

O COMPUTADOR. O que é um computador? Bacharelado em Ciência e Tecnologia Bacharelado em Ciências e Humanidades. Fundamentos da Computação

Algoritmos e Programação

Técnicas de Programação

Slide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel.

EMENTÁRIO CURSO DE CIÊNCIA DA COMPUTAÇÃO MATRIZ 2013

Introdução a Programação

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

INTRODUÇÃO A ALGORITMOS

Programação de Computadores

Introdução à Computação MAC0110

Algoritmos Computacionais

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

Aula 1: Introdução 3/3/2015

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Bacharelado em Ciência da Computação 4/606 Turno Manhã Lista de Ementas

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Conclusões. Baseado no Capítulo 9 de Programming Language Processors in Java, de Watt & Brown

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES

Aspectos preliminares

Introdução à Computação

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Sintática: como é escrito cada elemento da linguagem de programação.

Introdução à Computação

Histórico e Conceitos

CURSO PROFISSIONAL Técnico de Gestão e Programação de Sistemas Informáticos

PROGRAMAÇÃO I. Introdução

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

Sistemas Operacionais

Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias -

Capítulo 1 Conceitos Básicos

Pontifícia Universidade Católica do Rio Grande Do Sul Faculdade de Informática Bacharelado em Ciência da Computação - 4/606 Turno Manhã

Introdução Paradigmas

Conceitos Básicos. Fundamentos de Programação de Computadores

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores

1. Conceitos Básicos de Computação

Portaria Inep nº 238, de 02 de junho de Publicada no Diário Oficial da União em 04 de junho de 2014.

Fat-Uerj: Introdução à computação

ORGANIZAÇÃO DE COMPUTADORES

Introdução à Computação MAC0110

Aula 06 - Máquina Multinível e Von Neumann

HORÁRIO ESCOLAR - CIÊNCIA DA COMPUTAÇÃO 2016 Atualizado 26/01/2016 INGRESSANTES A PARTIR DE 2010

HISTÓRIA DO COMPUTADOR

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Algoritmos e Estruturas de Dados I

Programação de Computadores

GFM015 Introdução à Computação. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM

1. Conceitos Básicos de Computação

Fundamentos de Programação

CURSO DE GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO MATRIZ CURRICULAR MATUTINO Fase N.

Organização de Computadores

Linguagens de Programação

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Prof. Sandro Wambier

Linguagens Formais e Autômatos P. Blauth Menezes

Transcrição:

1 INTRODUÇÃO AOS SISTEMAS LÓGICOS ÁREAS DE COMPUTAÇÃO PROF. ANDRÉ MONTEVECCHI PROFA. ANNA TOSTES 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes

2 SUMÁRIO Os Pilares da Computação Algoritmos Teoria de Linguagens Arquitetura 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes

3 OS PILARES DA COMPUTAÇÃO Ciência da Computação 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes

4 OS PILARES DA COMPUTAÇÃO Teoria de Linguagens Ciência da Computação 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes

5 OS PILARES DA COMPUTAÇÃO Arquitetura Teoria de Linguagens Ciência da Computação 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes

6 OS PILARES DA COMPUTAÇÃO Algoritmos Arquitetura Teoria de Linguagens Ciência da Computação 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes

7 OS PILARES DA COMPUTAÇÃO Código fonte Criar o algoritmo Escrever em uma linguagem de programação ALGORITMO Tradução Compilação Interpretação Híbrido TEORIA DE LINGUAGENS Executável Programa em linguagem de máquina Windows:.EXE ARQUITETURA 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes

8 ALGORITMOS No século VII, o matemático indiano Brahmagupta explicou pela primeira vez Sistema de numeração hindu-arábico Conceito de zero (0) 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes

9 ALGORITMOS Em 825, o matemático persa Al-Khowarizmi (Algoritmus, em latim) escreveu o livro Kitab al jabr w al muqabala ( Regras de Restauração e Redução ) O nome algoritmo vem do seu nome Responsável pela difusão do sistema de numeração hindu-arábico no Oriente Médio e Europa Desenvolvimento dos primeiros procedimentos formalizados 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes

10 ALGORITMOS No século XII, houve uma tradução do mesmo livro para o latim: Algoritmi de numero Indorum Nesses livros foram apresentados conceitos para definir sequências de passos para completar tarefas Como aplicações de aritmética e álgebra 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes

11 ALGORITMOS Componentes básicos de qualquer software Aprender a programar Abstração de um programa Conhecimento crucial para quem deseja desenvolver um software de qualidade 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes

12 ALGORITMOS Conceitos Desenvolvimento da lógica Estruturas de dados Técnicas básicas de programação Principais problemas e algoritmos Análise de complexidade Grafos 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes

ALGORITMOS Exemplo Fazer um algoritmo para somar dois números e imprimir o resultado ALGORITMO INICIO // ler dois valores inteiros e // mostrar sua soma CRIE as variáveis X 1, X 2 e Z X 1 = LEIA um valor inteiro X 2 = LEIA um valor inteiro Z = X 1 + X 2 FIM IMPRIMA o valor de Z

ALGORITMOS Testes X 1 X 2 Z ALGORITMO INICIO // ler dois valores inteiros e // mostrar sua soma CRIE as variáveis X 1, X 2 e Z X 1 = LEIA um valor inteiro X 2 = LEIA um valor inteiro Z = X 1 + X 2 FIM IMPRIMA o valor de Z

ALGORITMOS Testes X 1 X 2 Z 12 - - ALGORITMO INICIO // ler dois valores inteiros e // mostrar sua soma CRIE as variáveis X 1, X 2 e Z X 1 = LEIA um valor inteiro X 2 = LEIA um valor inteiro Z = X 1 + X 2 FIM IMPRIMA o valor de Z

ALGORITMOS Testes X 1 X 2 Z 12 - - - 23 - ALGORITMO INICIO // ler dois valores inteiros e // mostrar sua soma CRIE as variáveis X 1, X 2 e Z X 1 = LEIA um valor inteiro X 2 = LEIA um valor inteiro Z = X 1 + X 2 FIM IMPRIMA o valor de Z

ALGORITMOS Testes X 1 X 2 Z 12 - - - 23 - - - 35 ALGORITMO INICIO // ler dois valores inteiros e // mostrar sua soma CRIE as variáveis X 1, X 2 e Z FIM X 1 = LEIA um valor inteiro X 2 = LEIA um valor inteiro Z = X 1 + X 2 IMPRIMA o valor de Z

ALGORITMOS Testes X 1 X 2 Z 12 - - - 23 - - - 35 35 ALGORITMO INICIO // ler dois valores inteiros e // mostrar sua soma CRIE as variáveis X 1, X 2 e Z FIM X 1 = LEIA um valor inteiro X 2 = LEIA um valor inteiro Z = X 1 + X 2 IMPRIMA o valor de Z

ALGORITMOS Estruturas de dados Variáveis Vetores (array) Listas encadeadas Pilhas e Filas Árvores Hash Heap

ALGORITMOS Técnicas básicas de programação Indução Recursividade Divisão e conquista Programação dinâmica Algoritmos gulosos Programação linear

ALGORITMOS Principais problemas e algoritmos Ordenação Pesquisa de dados Pesquisa digital Problema do caixeiro-viajante Problema da mochila Problema da moeda Problema da grade de horários

ALGORITMOS Análise de complexidade ALGORITMO INICIO // ler dois valores inteiros e // mostrar sua soma CRIE as variáveis X 1, X 2 e Z X 1 = LEIA um valor inteiro X 2 = LEIA um valor inteiro Z = X 1 + X 2 1 1 1 1 FIM IMPRIMA o valor de Z 1 Total: 5 instruções = O(1)

ALGORITMOS Análise de complexidade ALGORITMO INICIO CRIE a variável X X = 0 1 1 FIM ENQUANTO ( X < 10 ), FAÇA IMPRIMA o valor de Z X = X + 1 FIM n vezes 1 1 Total: 2 + n*(2) = O(n)

TEORIA DE LINGUAGENS Linguagem Todo sistema de signos que serve como meio de comunicação Definição da linguagem Léxica Sintática Semântica Exemplos: JAVA, C, C++, PASCAL, COBOL, FORTRAN

TEORIA DE LINGUAGENS Conteúdo Máquina de estados Autômatos Determinísticos Não determinísticos Máquinas de Turing Gramática Tipos de linguagens

26 MÁQUINAS DE ESTADOS FINITOS Exemplos 1: lâmpada Dois estados: acesa ou apagada Duas ações: acender ou apagar Exemplos 2: a abertura/fechamento automático de uma porta Fechado Aberto

27 MÁQUINAS DE ESTADOS FINITOS Exemplos 1: lâmpada Dois estados: acesa ou apagada Duas ações: acender ou apagar Exemplos 2: a abertura/fechamento automático de uma porta Tem Pessoa Fechado Aberto Sem Pessoa

28 MÁQUINAS DE ESTADOS FINITOS Exemplos 1: lâmpada Dois estados: acesa ou apagada Duas ações: acender ou apagar Exemplos 2: a abertura/fechamento automático de uma porta Tem Pessoa Fechado Aberto Tem Pessoa Sem Pessoa

29 MÁQUINAS DE ESTADOS FINITOS Exemplos 1: lâmpada Dois estados: acesa ou apagada Duas ações: acender ou apagar Exemplos 2: a abertura/fechamento automático de uma porta Tem Pessoa Sem Pessoa Fechado Aberto Tem Pessoa Sem Pessoa

ARQUITETURA DE COMPUTADORES Como projetar as partes de um computador visíveis para o programador? Como funciona um computador? Processador, memória primária e secundária

ARQUITETURA DE COMPUTADORES Como os dados são representados? Sistema decimal e binário Números inteiros Números reais (ponto flutuante) Caracteres Máquina de von Neumann Lembraram?

ARQUITETURA DE COMPUTADORES Saber como construir um circuito eletrônico digital (circuitos lógicos) Placa mãe, placa de vídeo, placa de rede Vantagens de se saber arquitetura para um programador? Saber como aproveitar melhor os recursos Ter habilidade de otimizar programas Programação sequencial X paralela

ARQUITETURA DE COMPUTADORES Exemplos: Analogia com circuitos elétricos: Lâmpada s está acesa ou não? p e q são portas

ARQUITETURA DE COMPUTADORES Exemplos: Analogia com circuitos elétricos: Lâmpada s está acesa ou não? p e q são portas

ARQUITETURA DE COMPUTADORES Exemplos: Analogia com circuitos elétricos: Lâmpada s está acesa ou não? p e q são portas

ARQUITETURA DE COMPUTADORES Exemplos: Analogia com circuitos elétricos: Lâmpada s está acesa ou não? p e q são portas

E AS POSSIBILIDADES? Redes de sensores Detectar fogo na floresta amazônica Computação móvel Redes de celulares (3G e 4G) Computação ubíqua Supermercado do futuro Casa do futuro

38 EXERCÍCIO 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes

39 EXERCÍCIO 1. Identifique e agrupe as disciplinas do seu curso nos três pilares da computação Algoritmos Teoria de linguagens Arquitetura de computadores 28/08/2011 Prof. André Montevecchi / Profa. Anna Tostes