UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

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

Download "UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo"

Transcrição

1 UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo

2 Diferentes computadores podem ter diferentes arquiteturas e os diversos tipos de linguagem de programação. Suas características essenciais são descritas em modelos matemáticos simples; Isso permite um rápido entendimento de suas semânticas; Facilitando a demonstração de resultados. Teoria da Computação - Aula 02 2

3 Definição: Conjunto de operações e testes compostos de acordo com uma estrutura de controle. O tipo de estrutura de controle associada determina uma classificação de programas como: Monolítico: baseada em desvios condicionais e incondicionais; Iterativo: possui estruturas de iteração de trechos de programas; Recursivo: baseado em sub-rotinas recursivas. Teoria da Computação - Aula 02 3

4 É descrito como um conjunto estruturado de instruções que capacitam uma máquina aplicar sucessivamente certas operações básicas e testes em uma parte determinada dos dados iniciais fornecidos, até que esses dados tenham se transformado numa forma desejável. Um programa deve possuir uma estrutura de controle de operações e testes. Teoria da Computação - Aula 02 4

5 Estruturação Monolítica: É baseada em desvios condicionais e incondicionais, não possuindo mecanismos explícitos de iteração, subdivisão ou recursão. Estruturação Iterativa: Possui mecanismos de controle de iterações de trechos de programas. Estruturação Recursiva: Possui mecanismos de estruturação em subrotinas recursivas. Recursão é uma forma indutiva de definir programas. Teoria da Computação - Aula 02 5

6 Composição Sequencial: A execução da operação ou teste subsequente somente pode ser realizada após o encerramento da execução da operação ou teste anterior. Composição Não Determinista: Uma das operações (ou testes) compostas é escolhida para ser executada. Composição Concorrente: As operações ou testes compostos podem ser executados em qualquer ordem, inclusive simultaneamente, ou seja, a ordem de execução é irrelevante. Teoria da Computação - Aula 02 6

7 Não é necessário saber qual a natureza precisa das operações e dos testes que constituem as instruções. Serão conhecidas pelos seus nomes. Identificadores de Operações: F, G, H,... Identificadores de Testes: T 1, T 2, T 3,... Um teste é uma operação de um tipo especial a qual produz somente um dos dois possíveis valores verdade, ou seja, verdadeiro ou falso, denotados por: v e f, respectivamente. Uma operação que não faz coisa alguma, denominada: operação vazia, denotada pelo símbolo. Teoria da Computação - Aula 02 7

8 Definições: Programas Monolíticos, Iterativos, Recursivos; Estruturas de programa; Composições de instruções: Sequencial; Não determinista; Concorrente; Instruções: Identificadores de operações; Identificadores de testes. Teoria da Computação - Aula 02 8

9 É estruturado, usando desvios condicionais e incondicionais, não fazendo uso explícito de mecanismos auxiliares de programação. A lógica é distribuída por todo o bloco (monólito) que constitui o programa. Teoria da Computação - Aula 02 9

10 Fluxogramas: É uma das formas mais comuns de especificar programas monolíticos; É um diagrama geométrico construído a partir de componentes elementares denominados: partida parada operação v teste f No caso da operação vazia, o retângulo correspondente que à operação pode ser omitido, resultando simplesmente em uma seta. Teoria da Computação - Aula 02 10

11 Exemplo de um fluxograma partida F T 1 v f G f T 2 v parada Teoria da Computação - Aula 02 11

12 Instruções rotuladas: Fluxogramas podem ser reescritos na forma de texto, usando instruções rotuladas. São utilizados rótulos. Uma instrução rotulada pode ser: Operação: Indica a operação a ser executada seguida de um desvio incondicional para a instrução subsequente. Teste: Determina um desvio condicional, ou seja, que depende da avaliação de um teste. Uma parada é especificada usando um desvio incondicional para um rótulo sem instrução correspondente. Assume-se que a computação sempre inicia no rótulo 1: Teoria da Computação - Aula 02 12

13 Instruções rotuladas: partida 1: faça F vá_para 2 2: se T 1 então vá_para 1 senão vá_para 3 T 1 v 3: faça G vá_para 4 4: se T 2 então vá_para 5 senão vá_para 1 f F G f T 2 v parada Teoria da Computação - Aula 02 13

14 Definição: Rótulo: ou Etiqueta é uma cadeia de caracteres finita constituída de letras ou dígitos. Instrução rotulada: é uma sequência de símbolos de uma das duas formas a seguir (suponha que F e T são identificadores de operação e teste, respectivamente e que r 1, r 2 e r 3 são rótulos): Operação r 1 : faça F vá_para r 2 ou r 1 : faça vá_para r 2 Teste r 1 : se T então vá_para r 2 senão vá_para r 3 Teoria da Computação - Aula 02 14

15 Um programa monolítico P é um par ordenado onde: P = (I, r) I Conjunto de instruções rotuladas o qual é finito; r Rótulo inicial o qual distingue a instrução rotulada inicial em I. Teoria da Computação - Aula 02 15

16 Resumindo: Não existem duas instruções diferentes com um mesmo rótulo; Um rótulo referenciado por alguma instrução o qual não é associado a qualquer instrução rotulada é dito um Rótulo Final. A definição de programa monolítico requer a existência de pelo menos uma instrução, identificada pelo rótulo inicial. Teoria da Computação - Aula 02 16

17 São exemplos de programa monolíticos: a) P 1 = (I 1, 1) Em que I1 é o conjunto constituído pelas instruções rotuladas 1, 2, 3 e 4. Neste caso qual é o rótulo final? 1: faça F vá_para 2 2: se T 1 então vá_para 1 senão vá_para 3 3: faça G vá_para 4 4: se T 2 então vá_para 5 senão vá_para 1 Teoria da Computação - Aula 02 17

18 São exemplos de programa monolíticos: b) P 2 = (r 1 : faça vá para r 2 ) em que r 2 é um rótulo final. Qual o correspondente fluxograma? Teoria da Computação - Aula 02 18

19 O mecanismo de composição sequencial dado pelas instruções rotuladas é do tipo mais fundamental de controle de estrutura. É a estrutura básica utilizada pela maioria das linguagens de montagem (Assembly) e é incorporada de certa maneira a outras linguagens de alto nível. Teoria da Computação - Aula 02 19

20 São baseados em três mecanismos de composição (sequenciais) de programas, os quais podem ser encontrados em um grande número de linguagens de alto nível. Teoria da Computação - Aula 02 20

21 Esses mecanismos de composição são: Sequencial Condicional Enquanto Sequencial: composição de dois programas, resultando em um terceiro, cujo efeito é a execução do primeiro e, após, a execução do segundo programa componente; Condicional: composição de dois programas, resultando em um terceiro, cujo efeito é a execução de somente um dos dois programas componentes, dependendo do resultado de um teste; Teoria da Computação - Aula 02 21

22 Enquanto: composição de um programa, resultando em um segundo, cujo efeito é a execução, repetidamente, do programa componente enquanto o resultado de um teste for verdadeiro. Até: análoga à composição enquanto, excetuando que a execução do programa componente ocorre enquanto o resultado de um teste for falso. Teoria da Computação - Aula 02 22

23 Um Programa Iterativo P é indutivamente definido por: A operação vazia iterativo; constitui um programa Cada identificador de operação constitui um programa iterativo; Composição Seqüencial: V; W Composição Condicional: (se T então V senão W) Teoria da Computação - Aula 02 23

24 Um Programa Iterativo P é indutivamente definido por: Composição Enquanto: enquanto T faça (V). Resulta no programa que testa T e executa V, repetidamente, enquanto o resultado do teste for o valor verdadeiro. Composição Até: até T faça (V). Resulta no programa que testa T e executa V, repetidamente, enquanto o resultado do teste for o valor falso. Teoria da Computação - Aula 02 24

25 Os parênteses são usados para possibilitar a interpretação, de forma unívoca, por partes consistentes. enquanto T faça V; W admite duas interpretações distintas, (enquanto T faça V);W enquanto T faça (V;W) Fluxograma que simula a composição enquanto V v T f Teoria da Computação - Aula 02 25

26 Qual seria o correspondente fluxograma para a composição até? Em que condição na execução de um enquanto, V pode não ser executado? Teoria da Computação - Aula 02 26

27 Exemplo: o programa abaixo é do tipo iterativo. (se T 1 então senão) enquanto T 2 faça (até T 3 faça (V;W)) Traduza este programa para monolitico. Teoria da Computação - Aula 02 27

28 Eu sou você amanhã, digo, uma recursão adiante Recursão é uma forma indutiva de definir programas. Sub-rotinas permitem a estruturação hierárquica de programas, possibilitando níveis diferenciados de abstração. Conjunto de Identificadores de Sub-Rotinas - R1, R2,.. Teoria da Computação - Aula 02 28

29 Expressões de sub-rotinas: constitui uma expressão de sub- A operação vazia rotinas. Cada identificador de operação constitui uma expressão de sub-rotinas. A Composição Sequencial: é denotada por: D1;D2 resulta em uma expressão de sub-rotina cujo efeito é a execução de D1 e, após, a execução de D2. A Composição Condicional: Se D1 e D2 são expressões de sub-rotinas e T é um identificador de teste, então a composição condicional é denotada por: (se T então D1 senão D2) Teoria da Computação - Aula 02 29

30 Um Programa Recursivo P tem a seguinte forma: P é E 0 onde R 1 def E 1, R 2 def E 2,..., R n def E n em que (suponha k {1, 2,..., n}): E 0 : expressão inicial a qual é uma expressão de sub-rotinas; E k : expressão que define a sub-rotina identificada por R k. A operação vazia constitui um programa recursivo que não faz coisa alguma. Teoria da Computação - Aula 02 30

31 Exemplo: programa recursivo P é R;S onde R def F;(se T então R senão G;S), S def (se T então senão F;R) Note que a recursão é implícita, no sentido em que as subrotinas R e S se referenciam mutuamente, e portanto, R e S se autoreferenciam indiretamente. Teoria da Computação - Aula 02 31

32 A computação de um programa recursivo consiste na avaliação da expressão inicial onde cada identificador de sub-rotina referenciado é substituído pela correspondente expressão que o define, e assim sucessivamente, até que seja substituído pela expressão vazia, determinando o fim da recursão. Até agora, foram definidos três tipos de programas. Entretanto, esses programas são incapazes de descrever uma computação, pois não se tem a natureza das operações ou dos testes, mas apenas um conjunto de identificadores. A natureza das operações e testes é especificada na definição de máquina. Teoria da Computação - Aula 02 32

33 1. Identifique e compare construções análogas às usadas nas definições de programas monolítico, iterativo e recursivo na linguagem de programação C++. Programa monolítico, Programa Iterativo, Programa Recursivo TC if A > 0 then { A = A 1; B = B + 1; goto TC; } while A > 0 do { A = A 1; B = B + 1; } function TC { if A > 0 then { A = A 1; B = B + 1; TC; } } Teoria da Computação - Aula 02 33

34 2. Desenhe um fluxograma que corresponde a cada um dos seguintes programas: a) P 2 = ({r 1 : faça vá para r 2 }, r 1 ) Partida Parada b) Composição até (programa iterativo) Teoria da Computação - Aula 02 34

35 c) Programa sem instrução alguma NÃO EXISTE d) Programa sem instrução de parada Teoria da Computação - Aula 02 35

36 3. Relativamente a programas iterativos: a) Em que situação a execução de: enquanto T faça V V não pode ser executado? Resp: V não será executado quando o resultado do teste T for falso na primeira vez em que o teste for executado. a) Porque a operação vazia constitui um programa iterativo? Resp: Por definição de Programa iterativo, temos que cada identificador de operação e a operação constitui um programa iterativo. Pois a operação é a base da indução para a definição de programa iterativo. Teoria da Computação - Aula 02 36

37 c) Por que pode-se afirmar que: A tradução de um programa iterativo para um monolítico é trivial? Resp: Porque para cada instrução iterativa existe um fluxograma correspondente. Cada instrução iterativa é definida por um fluxograma. Teoria da Computação - Aula 02 37

38 4. Faça o fluxograma do seguinte programa monolítico: 1: Se T 1 vá para 2 senão vá para 3 2: Faça G vá para 4 3: Faça F 1 vá para 4 4: Se T 2 vá para 6 senão vá para 5 5: Faça F 2 vá para 1 5. Faça o programa iterativo para o exemplo acima Se T 1 então G senão F 1 Até T 2 faça F 2 Teoria da Computação - Aula 02 38

39 6. Fatorial para um programa recursivo: function fatorial (int n) { if (n == 0) return 1; else return n * fatorial (n - 1); } 7. Faça o mesmo programa para um programa iterativo Teoria da Computação - Aula 02 39

40 int n; { long f = 1; int i; if (n == 0) return f; else { for (i = 1; i <= n; i++) f = f * i; return f; } } Teoria da Computação - Aula 02 40

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 03 Programas (Monolítico e Iterativo) Prof.ª Danielle Casillo Programas, Máquinas e Computações Diferentes

Leia mais

Teoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000)

Teoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000) Unidade 1 Conceitos Básicos Referência (Divério, 2000) Conceitos Básicos Linguagem Conceito fundamental Forma precisa de expressar problemas Permite um desenvolvimento formal adequado ao estudo da computabilidade

Leia mais

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 6. Programas, Máquinas e Computações

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 6. Programas, Máquinas e Computações Curso: Ciência da Computação Turma: 6ª Série Aula 6 Programas, Máquinas e Computações Avisos Hoje tem dúvidas sobre a segunda etapa da ATPS. Somente 28 alunos/alunas entregaram a ATPS etapa 1. Ainda dá

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 05 Computações Prof.ª Danielle Casillo Computação Será visto como as definições de programas e máquinas caminham

Leia mais

Recursão. Prof. Cristiano André da Costa. [Versão de Março de 2000] Definição

Recursão. Prof. Cristiano André da Costa. [Versão de Março de 2000] Definição Recursão [Versão de Março de 2000] Definição Um objeto é dito recursivo se ele consistir parcialmente ou for definido em termos de si próprio Recursões ocorrem na matemática, informática, no dia a dia...

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo NORMA (NumberTheOreticRegisterMAchine) Possui como memória um conjunto infinito de registradores naturais e

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Proposta por Alan Turing em 1936; É universalmente conhecida e aceita como formalização de algoritmo; Teoria

Leia mais

Programação de Computadores:

Programação de Computadores: Instituto de C Programação de Computadores: Pseudocódigo e Estruturas Básicas de Controle Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Roteiro

Leia mais

Este conceito é bastante simples e será útil e conveniente nos itens seguintes, na definição das estruturas básicas de controle de execução.

Este conceito é bastante simples e será útil e conveniente nos itens seguintes, na definição das estruturas básicas de controle de execução. Capítulo 7 Controle de Fluxo de Execução Até o momento os algoritmos estudados utilizam apenas instruções primitivas de atribuição, e de entrada e saída de dados. Qualquer conjunto de dados fornecido a

Leia mais

Linguagens de Programação Aula 3

Linguagens de Programação Aula 3 Aula 3 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada... Classificação das LPs (nível, geração e paradigma) Paradigmas Imperativo, OO, funcional, lógico e concorrente 2/33 Na aula de hoje...

Leia mais

Introdução à Linguagem C++

Introdução à Linguagem C++ Introdução à Linguagem C++ C++: Definição C++ C A Linguagem de Programação C++ pode ser definida como uma extensão da Linguagem C; Todo código de programação em Linguagem C pode a priori ser compilado

Leia mais

ao paradigma imperativo

ao paradigma imperativo PARADIGMA FUNCIONAL PARADIGMA FUNCIONAL: INTRODUÇÃO G Exemplos de linguagens funcionais LISP - Início: LP puramente funcional - Depois: acréscimo de alguns recursos imperativos (aumentaram eficiência de

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Pseudocódigo e Estruturas Básicas de Controle Professor Hugo de Oliveira Barbalho hbarbalho@ic.uff.br Material produzido pelo professor: Leandro Augusto Frata Fernandes

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Diferencia-se das máquinas de Turing e Post principalmente pelo fato de possuir a memória de entrada separada

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira

Leia mais

LINGUAGEM C: COMANDOS DE REPETIÇÃO

LINGUAGEM C: COMANDOS DE REPETIÇÃO LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Pseudocódigo e Estruturas Básicas de Controle Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157

Leia mais

Matemática Discreta para Ciência da Computação

Matemática Discreta para Ciência da Computação Matemática Discreta para Ciência da Computação P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação

Leia mais

Controle de Fluxo. Laços e Desvios incondicionais

Controle de Fluxo. Laços e Desvios incondicionais Controle de Fluxo Laços e Desvios incondicionais Laços Em C, há três comandos de ITERAÇÃO ou LAÇOS: for while do... while Estes permitem que um conjunto de instruções seja executado até que ocorra uma

Leia mais

Semântica Denotacional

Semântica Denotacional Semântica Denotacional Uma introdução ISBN 0-321-19362-8 Semântica denotacional é um método formal para definir a semântica de linguagens de programação. Interessa a: projetista de linguagens, quem escreve

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 5 Estruturas de Repetição Profa. Marina Gomes marinagomes@unipampa.edu.br 26/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura de repetição Comando for

Leia mais

Linguagens Regulares. Prof. Daniel Oliveira

Linguagens Regulares. Prof. Daniel Oliveira Linguagens Regulares Prof. Daniel Oliveira Linguagens Regulares Linguagens Regulares ou Tipo 3 Hierarquia de Chomsky Linguagens Regulares Aborda-se os seguintes formalismos: Autômatos Finitos Expressões

Leia mais

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Fundamentos de Programação Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Prof. Bruno E. G. Gomes IFRN 1 Estruturas de Controle Permitem o controle da sequência de execução de um

Leia mais

Fluxograma Pseudocódigo Estruturas de decisão. Professor Leandro Augusto Frata Fernandes

Fluxograma Pseudocódigo Estruturas de decisão. Professor Leandro Augusto Frata Fernandes Programação de Computadores III Aula 4 Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-03.063 Roteiro da Aula

Leia mais

Comandos de desvio de fluxo. Expressões lógicas.

Comandos de desvio de fluxo. Expressões lógicas. Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação Semana 03 Comandos de desvio de fluxo. Expressões lógicas. Material Didático Unificado. 1 Agenda Introdução;

Leia mais

1 TEORIA DOS CONJUNTOS

1 TEORIA DOS CONJUNTOS 1 TEORIA DOS CONJUNTOS Definição de Conjunto: um conjunto é uma coleção de zero ou mais objetos distintos, chamados elementos do conjunto, os quais não possuem qualquer ordem associada. Em outras palavras,

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

CONCEITOS DE ALGORITMOS

CONCEITOS DE ALGORITMOS CONCEITOS DE ALGORITMOS Fundamentos da Programação de Computadores - 3ª Ed. 2012 Editora Prentice Hall ISBN 9788564574168 Ana Fernanda Gomes Ascênsio Edilene Aparecida Veneruchi de Campos Algoritmos são

Leia mais

Unidade 9: Introdução às Estruturas de Decisão

Unidade 9: Introdução às Estruturas de Decisão Lógica de Programação 1 Unidade 9: Introdução às Estruturas de Decisão Prof. Daniel Caetano Objetivo: Tomando decisões no código de programação. Bibliografia: ASCENCIO, 2007; MEDINA, 2006; SILVA, 2010;

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Expressões Precedência e associatividade de operador Sobrecarga de operador Expressões de modo misto Várias formas de

Leia mais

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO E SISTEMAS DIGITAIS PCS LABORATÓRIO DE PROCESSADORES I

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO E SISTEMAS DIGITAIS PCS LABORATÓRIO DE PROCESSADORES I ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO E SISTEMAS DIGITAIS PCS LABORATÓRIO DE PROCESSADORES I PROGRAMAÇÃO DE MICROPROCESSADORES Autor: Prof. Dr. Carlos

Leia mais

2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006

2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006 Introdução à Computação I IBM1006 2. Algoritmos Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2. Algoritmos 2.1. Introdução 2.2. Pseudo-código 2.3. Fluxograma

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/30 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)

Leia mais

Apêndice A. Pseudo-Linguagem

Apêndice A. Pseudo-Linguagem Apêndice A. Pseudo-Linguagem Apostila de Programação I A.1 Considerações Preliminares Os computadores convencionais se baseiam no conceito de uma memória principal que consiste de células elementares,

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 02 Introdução à Teoria da Computação Prof.ª Danielle Casillo Linguagem: é uma forma precisa de expressar

Leia mais

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

INFORMÁTICA APLICADA AULA 02 ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 ALGORITMOS Profª ª Danielle Casillo ALGORITMOS Um algoritmo é uma sequência de instruções

Leia mais

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática Linguagens Formais Aula 01 - Conceitos Básicos Prof. Othon Batista Mestre em Informática Sumário Introdução à Linguagem Alfabeto Cadeias de Símbolos, Palavras Tamanho de Palavra Prefixo, Sufixo ou Subpalavra

Leia mais

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo LAÇOS Laços são comandos da linguagem

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Program João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de um programa.

Leia mais

Capítulo 2: Procedimentos e algoritmos

Capítulo 2: Procedimentos e algoritmos Capítulo 2: Procedimentos e algoritmos Para estudar o processo de computação de um ponto de vista teórico, com a finalidade de caracterizar o que é ou não é computável, é necessário introduzir um modelo

Leia mais

Aula 2 - Introdução Cleverton Hentz

Aula 2 - Introdução Cleverton Hentz Aula 2 - Introdução Cleverton Hentz Sumário de Aula } Programas } Linguagens de Programação } Formas de Estruturação de Algoritmos 2 Programas } Os algoritmos são utilizados na construção de programas

Leia mais

Linguagens de Programação Conceitos e Técnicas. Amarrações

Linguagens de Programação Conceitos e Técnicas. Amarrações Linguagens de Programação Conceitos e Técnicas Amarrações Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável e seu valor ou entre um identificador

Leia mais

Elementos básicos das linguagens de programação

Elementos básicos das linguagens de programação Elementos básicos das linguagens de programação Objetivos: Apresentar os últimos elementos básicos das linguagens de programação Elementos básicos já estudados Entrada (read, readln) Saída (write, writeln)

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 5 a Aula Definições recursivas

Pedro Vasconcelos DCC/FCUP. Programação Funcional 5 a Aula Definições recursivas Programação Funcional 5 a Aula Definições recursivas Pedro Vasconcelos DCC/FCUP 2014 Definições usando outras funções Podemos definir funções usando outras previamente definidas (e.g. do prelúdio-padrão).

Leia mais

Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos

Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos Pode-se dizer que a é em grande parte trabalho de um único matemático: Georg Cantor (1845-1918). noção de conjunto não é suscetível de definição precisa a partir d noções mais simples, ou seja, é uma noção

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Algoritmos e Estruturas de Dados I Prof. Daniel M. Martin (daniel.martin@ufabc.edu.br) Aula 10 (Baseada nos slides do Prof. André Balan) Recursão Recursão Da wikipedia: A recursão é o processo pelo qual

Leia mais

Compiladores e Computabilidade

Compiladores e Computabilidade Compiladores e Computabilidade Prof. Leandro C. Fernandes UNIP Universidade Paulista, 2013 GERAÇÃO DE CÓDIGO INTERMEDIÁRIO Geração de Código Intermediário Corresponde a 1ª etapa do processo de Síntese

Leia mais

Programação Aplicada à Engenharia

Programação Aplicada à Engenharia Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Programação Aplicada à Engenharia Aula 03: Algoritmos Silvio Fernandes 2009.1 1 Algoritmos Em uma receita de bolo, descrevem-se

Leia mais

INFORMÁTICA APLICADA AULA 05 ALGORITMOS

INFORMÁTICA APLICADA AULA 05 ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 05 ALGORITMOS Profª ª Danielle Casillo ESTRUTURA DE REPETIÇÃO Nos exemplos e exercícios que

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Laços de Repetição for() / while() / do{}while() Gil Eduardo de Andrade Introdução Laços de Repetição Um laço de repetição permite que um determinado trecho de código seja executado

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Fabio Mascarenhas - 2015.2 http://www.dcc.ufrj.br/~fabiom/lp Introdução Quais das expressões abaixo têm o mesmo significado? (vector-ref a 42) Introdução Quais das expressões

Leia mais

Aula 2: Linguagem Proposicional

Aula 2: Linguagem Proposicional Lógica para Computação Primeiro Semestre, 2015 Aula 2: Linguagem Proposicional DAINF-UTFPR Prof. Ricardo Dutra da Silva Linguagens naturais, como o nosso Português, podem expressar ideias ambíguas ou imprecisas.

Leia mais

Material Didático Proposto

Material Didático Proposto Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão para Coordenação das Atividades Pedagógicas da Disciplina BCC701 CAP-BCC701 www.decom.ufop.br/bcc701 2014-1 Material

Leia mais

Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais

Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão para Coordenação das Atividades Pedagógicas da Disciplina BCC701 CAP-BCC701 www.decom.ufop.br/bcc701 2014-1 Material

Leia mais

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias SCC 124 - Introdução à Programação para Engenharias Comandos Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes 1 Aula de

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação Para aprender uma linguagem de programação podemos começar por conhecer os vocábulos ou símbolos que formam o seu léxico e depois aprender como esses vocábulos integram as instruções (frases) que compõe

Leia mais

Fundamentos de Programação. Diagrama de blocos

Fundamentos de Programação. Diagrama de blocos Fundamentos de Programação Diagrama de blocos Prof. M.Sc.: João Paulo Q. dos Santos E-mail: joao.queiroz@ifrn.edu.br Página: http://docente.ifrn.edu.br/joaoqueiroz/ O processo de desenvolvimento (programação),

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Leia mais

Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-234 2) Algoritmos recursivos Indução matemática, recursão, recorrências Indução matemática Uma

Leia mais

Matemática Discreta para Computação e Informática

Matemática Discreta para Computação e Informática Matemática Discreta para Computação e Informática P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Computação e Informática

Leia mais

Teoria da Computação

Teoria da Computação Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Funções recursivas Os formalismos usados para especificar algoritmos podem ser classificados

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do Primeiro Teste 26 de Outubro de 2013 09:00 10:30 1. (1.0) O que é um processo computacional? Qual a relação entre um programa e um processo computacional? Um processo

Leia mais

Nesta aula... Iteração indefinida. 1 Decisões em Python. 2 Funções lógicas. 3 Recursão. 4 Iteração. 5 Ciclo for ou while?

Nesta aula... Iteração indefinida. 1 Decisões em Python. 2 Funções lógicas. 3 Recursão. 4 Iteração. 5 Ciclo for ou while? Nesta aula... 1 2 3 4 indefinida 5 Valores lógicos: booleanos Tipo do Python para guardar os valores lógicos, verdadeiro e falso: booleano (George Bool, matemático inglês) Valores lógicos podem ter apenas

Leia mais

04 Recursão SCC201/501 - Introdução à Ciência de Computação II

04 Recursão SCC201/501 - Introdução à Ciência de Computação II 04 Recursão SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir Ponti Jr. (ICMCUSP) 04Recursão

Leia mais

Linguagens de Programação Funcional

Linguagens de Programação Funcional Linguagens de Programação Funcional Conceitos de Linguagens de Programação Pedro Libório Setembro de 2013 2 Roteiro Introdução Funções matemáticas Fundamentos das linguagens de programação funcionais A

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Else Switch Prof. Renato Pimentel 1 Operações relacionais Operações

Leia mais

Noções de algoritmos - Aula 1

Noções de algoritmos - Aula 1 Noções de algoritmos - Aula 1 Departamento de Física UFPel Definição de algoritmo Sequência ordenada e finita de operações para a realização de uma tarefa. Tarefa: Experimento de Física I. Passo 1: Reunir

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

Estruturas de Controle

Estruturas de Controle Estruturas de Controle Mário Meireles eixeira UMA DEIN ópicos Estruturas de Controle condicionais repetição Expressões Lógicas operadores relacionais operadores lógicos Estruturas de Controle 2 1 Introdução

Leia mais

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.

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. Apresentação Universidade dos Açores Departamento de Matemática www.uac.pt/~hguerra/!! Aquisição de conceitos sobre a definição de linguagens de programação.!! Familiarização com os métodos de construção

Leia mais

Slides trabalhados durante a quinta aula

Slides trabalhados durante a quinta aula Slides trabalhados durante a quinta aula prática Estruturas de Controle de Fluxo 3. Laços de repetição (continuação) Exercício: Construa um algoritmo, representando-o através de um pseudocódigo e de um

Leia mais

Linguagens de Programação. Marco A L Barbosa

Linguagens de Programação. Marco A L Barbosa Expressões e sentença de atribuição Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl

Leia mais

BCC242. Auômato Finito Determinístico

BCC242. Auômato Finito Determinístico BCC242 Auômato Finito Determinístico Máquinas de Estados Finitos As máquinas de estados finitos são máquinas abstratas que capturam partes essenciais de algumas máquinas concretas. Tipos Tradutores máquinas

Leia mais

Prof. Adriano Maranhão COMPILADORES

Prof. Adriano Maranhão COMPILADORES Prof. Adriano Maranhão COMPILADORES LINGUAGENS: INTERPRETADAS X COMPILADAS Resumo: Linguagem compilada: Se o método utilizado traduz todo o texto do programa, para só depois executar o programa, então

Leia mais

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos Linguagens Formais e Autômatos Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Introdução Problema: definir um conjunto de cadeias de símbolos; Prof. Yandre Maldonado - 2 Exemplo: conjunto

Leia mais

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução Métodos de Programação I 2. 20 2.2.8 ESTRUTURAS DE CONTROLO Estruturas de controlo são instruções especiais em Pascal que permitem controlar o fluxo de sequência de instruções, alterando a ordem sequencial

Leia mais

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000) Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q

Leia mais

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009 PPM PROGRAMAÇÃO PARA MANUFATURA CONTEÚDO Lógica de programação Programação para manufatura Sistemas supervisorios 1 LÓGICA DE PROGRAMAÇÃO Abrangência Introduzir os conceitos básicos relacionados à lógica

Leia mais

Aula prática 5. Funções Recursivas

Aula prática 5. Funções Recursivas Programação Funcional UFOP DECOM 2014.1 Aula prática 5 Funções Recursivas Resumo Definições recursivas são comuns na programação funcional. Nesta aula vamos aprender a definir funções recursivas. Sumário

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição Universidade Federal de Uberlândia Faculdade de Computação Estruturas de repetição Prof. Renato Pimentel 1 Estruturas de repetição Utilização: Trecho de um algoritmo precisa ser executado mais de uma vez:

Leia mais

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah, A palavra ALGORITMO teve origem com um Matemático Persa, al Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah, ou a ciência das Equações que, em última análise suscitaram o desenvolvimento

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes

Leia mais

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

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Matemática Discreta para Ciência da Computação

Matemática Discreta para Ciência da Computação Matemática Discreta para Ciência da Computação P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação

Leia mais

sumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta...

sumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta... sumário 1 introdução e conceitos básicos 1 1.1 introdução à matemática discreta... 2 1.2 conceitos básicos de teoria dos conjuntos... 3 1.2.1 conjuntos...3 1.2.2 pertinência...5 1.2.3 alguns conjuntos

Leia mais

Fluxograma. Símbolo Nome Descrição

Fluxograma. Símbolo Nome Descrição 65 Fluxograma Analisaremos agora o método de representação de algoritmos denominado fluxograma. Conceitualmente um fluxograma é um tipo de diagrama, e pode ser entendido como uma representação esquemática

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Aula 5 Elementos Fundamentais de Controle Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Técnico em Informática Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno

Leia mais

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.

Leia mais

Unidade 2: Algoritmos e programação

Unidade 2: Algoritmos e programação Unidade 2: Algoritmos e programação 2.1. Algoritmos Os computadores estão sendo utilizados para resolver problemas cada vez de maior porte e complexidade. A utilização do computador para resolver problemas

Leia mais

Aula 4 Objetivos if/else while

Aula 4 Objetivos if/else while Objetivos Tomadas de decisão Algoritmos; Estruturas de controle; A estrutura de seleção if; A estrutura de seleção if/else; A estrutura de repetição while. Tomadas de decisão Operadores de igualdade e

Leia mais

Algoritmos. Um algoritmo pode ser expresso de diversas maneiras, dentre elas: Linguagem Natural Fluxograma Pseudocódigo Linguagem de Programação

Algoritmos. Um algoritmo pode ser expresso de diversas maneiras, dentre elas: Linguagem Natural Fluxograma Pseudocódigo Linguagem de Programação capa Um algoritmo pode ser expresso de diversas maneiras, dentre elas: Linguagem Natural Fluxograma Pseudocódigo Linguagem de Programação Método para resolver problemas. É a descrição de uma sequência

Leia mais

Introdução à Algoritmos INF 1005 e INF Programação I

Introdução à Algoritmos INF 1005 e INF Programação I Introdução à Algoritmos INF 1005 e INF1004 - Programação I Pontifícia Universidade Católica Departamento de Informática 1 Algoritmo: Conceito Sequência finita e não ambígua de passos para a solução de

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

GFM015 Introdução à Computação. Algoritmos. Ilmério Reis da Silva UFU/FACOM

GFM015 Introdução à Computação. Algoritmos. Ilmério Reis da Silva  UFU/FACOM GFM015 Introdução à Computação Algoritmos Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/ic UFU/FACOM Programa 1. Noções básicas sobre os componentes de micro computadores 2.Uso de

Leia mais

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

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Aula 03 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação Linguagens de Programação A primeira linguagem de programação foi criada por Ada Lovelace. Amiga

Leia mais

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014. Construção de Compiladores Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2014.2 1/22 1 Linguagens de programação 2 Compilação 2/22 Tópicos 1

Leia mais

Linguagem C Princípios Básicos (parte 1)

Linguagem C Princípios Básicos (parte 1) Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos

Leia mais