Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2018 / 19

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

Download "Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2018 / 19"

Transcrição

1 Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2018 / 19

2 Sumário Vetores. Sequências de Números. Ciclos FOR. Percursos em vetores. Resolução de Problemas. Objetos e Endereços. 2

3 Sumário Vetores. Sequências de Números. Ciclos FOR. Percursos em vetores. Resolução de Problemas. Objetos e Endereços. 3

4 Vetores Questão: Como é que se guarda um número finito (mas arbitrário) de valores (do mesmo tipo)? Exemplo: números reais com a temperatura máxima de cada dia do ano Resposta: Num Vetor Os vetores da Informática têm algumas semelhanças com os vetores da Matemática (Álgebra Linear e Geometria Analítica) 4

5 Vetores em Informática Um vetor é uma estrutura de dados que guarda um número pré-definido de dados do mesmo :po. Um vetor corresponde a uma sequência de objetos. A sequência tem umcomprimento fixo. V: Elementos do vetor podem ser acedidos através do seu índice. Nota: Em Python o primeiro índice é 0. 5

6 Listas em Python V: Uma lista pode ser usada para implementar o conceito vetor em que o valor dos objetos pode ser alterado. Sintaxe: Criação de uma lista de valores Uma lista é criada entre parênteses retos e com elementos separados por vírgulas, sendo normalmente atribuída a uma variável quando é criada. V = [-5, 18, 8, -3.5, -5, 0, 9] O comprimento da lista V é 7 A posição 4 da lista (V[4]) tem o valor de -5 O valor da posição 5 da lista pode ser alterado, p.ex. V[5] = 2. 6

7 Tuplos em Python Uma lista pode ser usada para implementar o conceito vetor em que o valor dos objetos pode ser alterado. Um tuplo pode ser usado para implementar o conceito vetor em que o valor dos objetos não pode ser alterado T: Sintaxe: Criação de umtuplo de valores Um tuplo é criado entre parênteses curvos, com elementos separados porvírgulas. T = (-5, 18, 8, -3.5, -5, 0, 9) O comprimento do tuplo é 7, e a posição 4 do tuplo (T[4]) tem valor -5 O valor da posição 5 da lista não pode ser alterado. 7

8 Acesso a uma posição Listas e Tuplos Elementos de listas e tuplos podem ser acedidos individualmente. Sintaxe: nome[expressão] A funçãolen permite obter o comprimento de umvetor O valor da expressão deve ser um inteiro compreendido entre len(v) e len(v)-1. Um índice negativo mas em valor absoluto não superior ao comprimento do vetor, representa uma indexação a contar do fim. Se len(v) = n, então V[-k] e V[n-k] referem o mesmo elemento 8

9 Acesso a uma posição Listas e Tuplos Exemplos: V: In : V = [-5, 18, 8, -3.5, ] In : V Out: [-5, 18, 8, -3.5, ] In : len(v) Out: 7 In : V[4] Out: -5 In : V[-4] # V[-4] == V[7-4] Out: 3.5 In : V[7//3] Out: 8 9

10 Listas Erros Típico de Acesso Erros de acesso, ocorrem quando quando o índice indicado não é uminteiro dentrodointervalo -len(v).. len(v)-1. Esses erros são reportados pelo interpretador. Exemplos: In : V = [-5, 18, 8, -3.5, ] In : n = len(v) In : n Out: 7 In : V[20] # indice maior que n-1??? IndexError: list index out of range In : V[-8] # indice menor que n??? IndexError: list index out of range In : V[math.sqrt(4)) # indice não inteiro??? TypeError: list indices must be integers or slices, not float 10

11 Acesso a Fatias de Listas O acesso a uma fa3a da lista (i.e. criação de uma sub-lista) pode ser feito com a seguinte Sintaxe: nomevetor[ início:fim:passo ] Devolve uma fa3a da lista, entre o início e o fim-1, separados por passo. Quando se omite o início considera-se a posição 0. Quando se omite o fim, considera-se a dimensão do vetor. Quando se omite o passo, considera-se 1. 11

12 Acesso a Fatias de Listas Exemplos: In : V = [-5, 18, 8, -3.5, -5, 0, 9] In : V[2:5] # fatia de 2 a 4 Out: [8, -3.5, -5] In : V[:4] # fatia de 0 a 3 Out: [-5, 18, 8, -3.5] In : V[::3] # fatia com elementos 0, 3 e 6 Out: [-5, -3.5,, 9] V:

13 Listas - Extensão Em Python, não é possível ler nem escrever elementos de uma lista emposições fora doseu range No entanto, as listas podem ser acrescidas de elementos e de outras listas com os métodos (funções definidas para os repeccvos Cpos).append e.extend In : V = [-5, 18, 8, -3.5, -5, 0, 9] In : V[7] = 10 # escrita fora dos limites IndexError: list index out of range In : V.append(10) # acrescimo de um elemento In : V Out: [-5, 18, 8, -3.5, -5, 0, 9, 10] In : V.extend([20,21,22]) # extensao da lista In : V Out: [-5, 18, 8, -3.5, -5, 0, 9, 10, 20, 21, 22] 13

14 Listas Funções úteis Em Python, estão definidos vários métodos para o tipo lista, que podem ser consultados através da função help(list). Algumas funções úteis são aqui exemplificadas In : V = [-5, 18, 0, -3.5, -5, 0, 9] In : V.index(0) # indice do primeiro zero Out: 2 In : V.remove(0) # remove o primeiro 0 In : V Out: [-5, 18, -3.5, -5, 0, 9] In : V.index(0) # indice do primeiro zero Out: 4 In : V.reverse() # inverte a lista In : V Out: [9, 0, -5, -3.5, 18, -5] 14

15 REGRA DE PROGRAMAÇÃO O código deve ser eficiente. Os vetores devem ser criados com o comprimento máximo necessário (se conhecido), para que não se seja obrigado a fazer extensões desse vetor (o que obriga a refazer o vetor) Todas as exceções à regra anterior têm de ser muito bem jusnficadas. Para esse efeito pode ser usada a atribuição V = [val] * n que cria um vetor com comprimento n, com o valor val em todas asposições. Essas posições podem depois ser alterada com atribuições (mais eficientemente do que com extensões). 15

16 Listas Funções úteis Exemplos: In : Zeros = [0] * 5 In : Zeros Out: [0,0,0,0,0] In : Nones = [None] * 3 In : Nones Out: [None, None, None] In : Uns = [1] * 9 In : Uns Out: [1,1,1,1,1,1,1,1,1] In : Uns[8] = 9 In : Uns Out: [1,1,1,1,1,1,1,1,9] Nota: Mais eficiente que fazer 9 appends 16

17 Sumário Vetores. Sequências de Números. Ciclos FOR. Percursos em vetores. Resolução de Problemas. Objetos e Endereços. 17

18 Sequências de números [1] Sequências de inteiros podem ser representadas de forma mais compacta através de umrange. Sintaxe: range(início, fim) ou range(início, fim, passo) O valor de um range é a sequência de valores início, início + passo,..., início + k passo onde k é o maior valor tal que início+k passo não adnge o fim. No caso do passo não ser explícito, é assumido que vale 1. No caso do passo ser negadvo, a lista é decrescente 18

19 Sequências de números [1] Exemplos: In : list( range(1, 5)) % caso mais comum com passo = 1 Out: [1,2,3,4] In : list( range(1, 9, 2)) % passo = 2 Out: [1,3,5,7] In : list( range(1, 10, 2)) % passo = 2 Out: [1,3,5,7,9] In : list( range(20, -8, -5)) % passo negativo, lista decrescente Out: [20, 15, 10, 5, 0, -5] In : list( range(8, 2, 4)) % lista vazia,primeiro passa o último! Out: [] In : list( range(2, 8, -4)) % lista vazia, primeiro passa o último! Out: [] 19

20 Sumário Vetores. Sequências de Números. Ciclos FOR. Percursos em vetores. Resolução de Problemas. Objetos e Endereços. 20

21 REGRA DE PROGRAMAÇÃO Q: Como fazer o somatório de elementos de um vetor? A: Subs@tuindo uma soma de n parcelas por n somas de 2 parcelas. soma = 0 soma = soma + v[0] % soma tem v1 soma = soma + v[1] % soma tem (v1) + v2 soma = soma + v[2] % soma tem (v1+v2) + v3 soma = soma + v[n-1] % soma tem (v1+v2) + v3 Assim o que é necessário é ter uma forma de repe@r (a menos da variável) um bloco de operações (neste caso é só uma) um número predefinido de vezes. %&'! "#$ ( " = ( $ + ( ' + + ( %&' 21

22 Ciclo FOR O ciclo FOR permite repe/r um bloco de operações, uma vez para cada elemento de uma sequência (que pode ser uma lista ou um range) Sintaxe: Execução: for variável in sequência : instruções Se a variável não existe, é criada. Para cada elemento E da sequência (pela ordem por que os elementos ocorrem): 1. variável = E; 2. executam-se as instruções. 22

23 Ciclo FOR Exemplo [1] A sequência pode ser um range uma lista. Exemplo: In : for v in [1,2,3]:...: print(v)...: In : for v in range(3,10,2) :...: print(v)...:

24 Ciclo FOR Exemplo [2] A sequência também pode ser umtuplo ou uma string. Exemplo: In : for v in (1,2,3):...: print(v)...: In : for v in abcd :...: print(v)...: a b c d 24

25 Somatório Implementação A função somatório pode assim ser definida através de uma instrução FOR soma = 0 soma = soma + v[0] soma = soma + v[1] soma = soma + v[2] soma = soma + v[n-1] %&'! "#$ ( " = ( $ + ( ' + + ( %&' def somatorio(v): """ Calcula o somatório dos elementos do vetor (lista) V. """ soma = 0 for e in V: # e=v[0],v[1],...,v[n-1] soma = soma + e return soma 25

26 Somatório Implementação A execução da função pode ser monitorada mostrando os resultados intermédios soma = 0 soma = soma + v[0] soma = soma + v[1] soma = soma + v[2] soma = soma + v[n-1] def somatorio(v): """ Calcula o somatório dos elementos da lista L. """ soma = 0 print(soma) for e in V: # e=v[0],v[1],...,v[n-1] soma = soma + e print(" mais ", e, " = ", soma) return soma 26

27 Somatório Execução In : somatorio([3,5,7,9]) 0 mais 3 -> 3 mais 5 -> 8 mais 7 -> 15 mais 9 -> 24 Out: 24 def somatorio(v): soma = 0 print(soma) for e in V: soma = soma + e print(" mais ", e, " -> ", soma) return soma Execução: A variável soma é criada com valor 0 A variável e é criada com valor 3 A variável soma aumenta 3 passando a ter o valor 3 A variável e é alterada para o valor 5 A variável soma aumenta 5 passando a ter o valor 8 A variável e é alterada para o valor 7 A variável soma aumenta 5 passando a ter o valor 15 A variável e é alterada para o valor 9 A variável soma aumenta 5 passando a ter o valor 24 27

28 Piatório Exercício A função piatório pode ser definida de uma forma semelhante tendo em conta que " #$% & ' = & " & % & #$% prod = 1 prod = prod * v[0] prod = prod * v[1] prod = prod * v[2] prod = prod * v[n-1] Deixa-se a sua implementaçãocomo exercício. 28

29 Fibonacci Exercício A função fibonacci pode ser definida através de um ciclo for, tendo em conta que fib(n) = fib(n-1) + fib(n-2) com fib(0) = 0 e fib(1) = 1 e que, começando-se com estas 3 variáveis fibantant = 0 fibant = 1 fib = fibantant + fibant os valores seguintes podem ser objdos por repejção do bloco fibantant = fibant fibant = fib fib = fibantant + fibant Deixa-se a suaimplementação como exercício. 29

30 Sumário Vetores. Sequências de Números. Ciclos FOR. Percursos em vetores. Resolução de Problemas. Objetos e Endereços. 30

31 Problema da Cerâmica [1] Foram analisadas 50 amostras de argila de uma mina com o obje;vo de avaliar a sua qualidade para a indústria cerâmica. Um dos parâmetros estudados foi a absorção de água, tendose ob;do os seguintes valores (em percentagem): v 1, v 2,..., v 50. Faça umprograma para calcular a média daqueles valores. 31

32 Resolução Problema da Cerâmica [1] 1. Compreender totalmente o problema descrito no enunciado. 2. Caracterizar o problema. Problema: Cálculo de uma média. )* µ = 1 50 % &'( + & Entrada: reais v 0,..., v 49. Saída: a média de v 0,..., v 49. v = [ v 0,v 1,v 2 v 49 ] 32

33 Resolução Problema da Cerâmica [2] 3. Generalizar o problema (sempre que possível) ()* Problema: Média de n valores. µ = 1 # $ %&' + % Entrada: reais v 0,..., v n-1 (n > 1). v = [ v 0, v 1, v 2 v n-1 ] Saída: a média de v 0,..., v n-1. 33

34 Resolução Problema da Cerâmica [1] 4. Desenhar o algoritmopara resolver o problema. a) Conceber o algoritmo, decompondo o problema em subproblemas (se necessário). Como calcular a média de v 0,..., v n-1? «Somando os valores v 0,..., v n-1 e dividindo pelo seu número. b) Iden6ficar, caracterizar e generalizar cada sub-problema. Não há sub-problemas. 34

35 Resolução Problema da Cerâmica [4] c) Conceber o algoritmo, assumindo que os sub-problemas estão resolvidos. Média (v 0,..., v n-1 ) : 1 '() * $ " # $%& Ideia base: Obtem-se o somatório das medições e divide-se por n. 35

36 Resolução Problema da Cerâmica [5] 5. Para cada sub-problema, desenhar o algoritmo para o resolver. Usar a função somatório. 6. Para cada sub-problema (começando pelos mais simples), implementar o respetivo algoritmo e testar o subprograma. Testar a implementação do somatório. 7. Implementar o algoritmo que resolve o problema e testar o programa pedido. Média (v 0,..., v n-1 ) 36

37 Implementação Problema da Cerâmica A implementação deste problema reduz-se assim à implementação da média dos elementos de um vetor. Esta implementação é imediata tendo em conta que a função somatório já foi definida def media(v): """ Calcula o a media dos elementos da lista L. """ soma = somatório(v) n = len(v) return soma/n 37

38 Problema da Cerâmica [2] Em geral a média de um conjunto de valores não nos fornece toda a informação ú?l para descrever esse conjunto. Nomeadamente não nos dá ideia da variabilidade dos valores do conjunto A média de 0 e 10 é a mesma de 5 e 5, mas a úl?ma é equilibrada. Para medir a variação é vulgar u?lizar-se o desvio padrão, e portanto pode reformular-se o problema anterior para:... Faça um programa para calcular a média e o desvio padrão daqueles valores. 38

39 Problema da Cerâmica (2) Este problema mais complexo é naturalmente decomposto emdois subproblemas: Cálculo da média já feito Cálculo do desvio padrão a implementar tendo em conta a sua definição σ = n (V(i) µ) i=1 n Nota-se imediatamente que para este cálculo é conveniente dispor da média do vetor V, µ. 2 39

40 Problema da Cerâmica (2) Vamos pois resolver este problema com 3 funções com assinaturas def media= estatistica(v) def media (V) def desviopadrao(v, med) sendo a primeira função implementada a par>r das duas úl>mas. A função média já foi definida, pelo que podemos passar para a implementação do função desviopadrao, que é muito semelhante 40

41 Função Média Geométrica Exemplo: Definição da função desvio padrão def desviopadrao(v, med): """ Calcula o desvio padrao de um vetor dada a sua media, med. """ soma = 0 n = len(v) for e in V: soma = soma + (e - med)**2 aux = soma / n return math.sqrt(aux) σ = n (V(i) µ) i=1 n 2 41

42 Problema da Cerâmica (2) FIM Uma vez implementadas as funções mais simples, a função estatística é implementada através da combinação das outras. def estatistica(v): """ Calcula a media e o desvio padrao do vetor V """ med = media(v) dvp = desviopadrao(v,med) return (med,dvp) De notar que o resultado desta função é um tuplo, já que a função retorna dois valores (amédia e o desvio padrão). 42

43 Sumário Vetores. Sequências de Números. Ciclos FOR. Percursos em vetores. Resolução de Problemas. Objetos e Endereços. 43

44 Objeto e Atribuições A atribuição de objetos estruturados não copia um objeto. Apenas cria umnovonome ligadoao mesmo objeto. Os vários nomes de um objeto estruturado apontam para o mesmo endereço. Assim, quando um deles é alterado, todos o são In : V1 = [1,2,3,4] In : V2 = V1 In : V1[0] = 0 In : V1 Out: [0,2,3,4] In : V2 Out: [0,2,3,4] # Cria o vetor V1 # O vetor V2 é o mesmo de V1 # Altera o vetor V1 # Mostra V1 # Mostra V2 44

45 Objeto e Atribuições Na chamada de funções, os argumentos são passados como objetos. Assim sendo, alterações a objetos estruturados no corpo da função têm efeito no bloco de chamada. def anula_primeiro (Vetor) """ Anula o primeiro elemento do vetor V """ Vetor[0] = 0 In : V = [1,2,3,4] In : V Out: [1,2,3,4] In : anula_primeiro(v) In : V Out: [0,2,3,4] # Cria V # Mostra V antes da chamada # Chama a funcao que altera V # Mostra V depois da chamada 45

46 Objeto e Atribuições Nota: Numa atribuição, ao contrário dos objetos estruturados, os objetos simples são criados num novo endereço, o que tem efeito nas chamadas das funções def inverte_1(v, n) """ Inverte Vetor e incrementa o contador n. """ I = V # copia I = V I.reverse() # inverte I n = n+1 return (I, n) In : V = [1,2,3,4] In : a = 5 Out: (R, b)= inverte_1(v, a) In : R Out: [4,3,2,1] In : b Out: 6 In : V Out: [4,3,2,1] In : a Out: 5 46

47 Objeto e Atribuições Se se pretender não afetar os objetos estruturados passados como argumentos eles devem ser copiados para uma variável criada de novo. def inverte_2(vetor, n): """ Inverte cópia do Vetor e incrementa o contador n. """ I = V.copy() # cria I = V I.reverse() # inverte I m = n+1 return (I, m) In : V = [1,2,3,4] In : a = 5 Out: (R, b)= inverte_2(v, a) In : R Out: [4,3,2,1] In : b Out: 6 In : V Out: [1,2,3,4] In : a Out: 5 47

48 Para saber Mais Consultar umdos livros de texto aconselhados Por exemplo: Think Python: How to Think Like a Computer Scien@st : cap. 4 e cap. 10. Introduc@on to Computa@on and Programming Using Python : caps. 3.2, e

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17 Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17 Sumário Vetores. Ciclos FOR. Percursos em vetores. Exemplos 20 Março 2017 ICE-c Aula 3: Vetores; ciclos

Leia mais

Informática para Ciências e Engenharias (B) 2016/17. Teórica 3

Informática para Ciências e Engenharias (B) 2016/17. Teórica 3 Informática para Ciências e Engenharias (B) 2016/17 Teórica 3 Na aua de hoje Vetores. Cicos FOR. Percursos em vetores. Exempos 22 Março 2017 Vetores; cicos FOR 2 Probema dos Contaminantes Para avaiar a

Leia mais

Informática para Ciências e Engenharias 2013/14. Teórica 3

Informática para Ciências e Engenharias 2013/14. Teórica 3 Informática para Ciências e Engenharias 2013/14 Teórica 3 Na aula de hoje... Ciclo for for end Vectores numéricos e strings sequências de números indexação de vectores Percursos em vectores 2 Ciclo for

Leia mais

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17 Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17 Sumário Resolução de problemas Metodologia e níveis de abstração. Funções. Testes unitários. Ficheiros com

Leia mais

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 8. Pedro Barahona 2016 / 17

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 8. Pedro Barahona 2016 / 17 Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 8 Pedro Barahona 2016 / 17 Sumário Estruturas. Vetores de estruturas. 8 Maio 2017 8: Estruturas; Vetores de Estruturas 2 Massa

Leia mais

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17 Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17 Sumário Instrução IF. Operadores relacionais e lógicos. Avaliação de conjunções e de disjunções. Matrizes.

Leia mais

Computação I - Python Aula 1 - Teórica: Manipulação de Strings, Tuplas e Listas

Computação I - Python Aula 1 - Teórica: Manipulação de Strings, Tuplas e Listas Computação I - Python Aula 1 - Teórica: Manipulação de Strings, Tuplas e Listas João C. P. da Silva Carla A. D. M. Delgado Ana Luisa Duboc Dept. Ciência da Computação - UFRJ http://www.dcc.ufrj.br/ pythonufrj/

Leia mais

Estruturas de Dados em Python

Estruturas de Dados em Python Estruturas de Dados em Python Carlos Camarão de Março de 7 Introdução Na segunda parte do curso vamos aprender a programar com estruturas (ou coleções) de dados, em Python. Python é uma linguagem orientada

Leia mais

Informática para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2017 / 18

Informática para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2017 / 18 Informática para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2017 / 18 Sumário Instrução IF. Operadores relacionais e lógicos. Avaliação de conjunções e de disjunções. Matrizes.

Leia mais

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta? 23 Algoritmos com Repetição Nos exemplos e exercícios vistos até agora, sempre foi possível resolver os problemas com uma sequência de instruções que eram executadas apenas uma vez. Existem três estruturas

Leia mais

3 - Programação Estruturada

3 - Programação Estruturada ICE-B 3 - Programação Estruturada Ludwig Krippahl Programação Estruturada Resumo Exemplo: cálculo de ph Nomes: contexto e importação Programação estruturada Criar funções 1 Programação Estruturada Exemplo:Calcular

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Estrutura de dados: listas Manipulando listas Vetores como listas

Leia mais

TCC 00308: Programação de Computadores I Introdução

TCC 00308: Programação de Computadores I Introdução TCC 00308: Programação de Computadores I 2017.1 Introdução Processo de resolução de problemas Definição dos requisitos do problema (fazer o programa certo) Entradas Cálculos Casos especiais Saídas Desenvolvimento

Leia mais

Aula passada. Aula passada... Sequências Funções puras e modificadores. Listas Tuplos

Aula passada. Aula passada... Sequências Funções puras e modificadores. Listas Tuplos Aula passada Listas Listas 1 Listas em compreensão Alguns idiomas úteis conjuntos ordenado de valores, cada um dos quais identificado por um índice; Operações com listas: semelhantes a operações com strings;

Leia mais

Python: Listas. Claudio Esperança

Python: Listas. Claudio Esperança Python: Listas Claudio Esperança Estruturas de dados Maneira de organizar dados de maneira a facilitar seu acesso Algumas formas são clássicas: Listas Arrays (vetores e matrizes) Tuplas (registros) Árvores

Leia mais

Programação de Computadores LAÇOS E LISTAS

Programação de Computadores LAÇOS E LISTAS Programação de Computadores LAÇOS E LISTAS Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Exemplo Inicial Uma Tabela Suponha que você deseja construir uma tabela

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo

Leia mais

Processamento da Informação

Processamento da Informação Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Listas e Vetores 1 Listas e Vetores Listas e Vetores Uma lista em Python é um container de informações que, por

Leia mais

Informática para Ciências e Engenharias (B) 2016/17. Teórica 4

Informática para Ciências e Engenharias (B) 2016/17. Teórica 4 Informática para Ciências e Engenharias (B) 2016/17 Teórica 4 Sumário Instrução IF. Operadores relacionais e lógicos. Avaliação de conjunções e de disjunções. Matrizes. Criação de matrizes. Relações entre

Leia mais

Computação e Programação Exame Época de recurso

Computação e Programação Exame Época de recurso Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v

Leia mais

Primeira Prova de Linguagens de Programação - DCC024B -

Primeira Prova de Linguagens de Programação - DCC024B - Primeira Prova de Linguagens de Programação - DCC024B - Ciência da Computação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é sem

Leia mais

Nesta aula... Parâmetros opcionais Atribuição abreviada Instruções break e continue Interrupção da execução. 1 Estudo desta disciplina.

Nesta aula... Parâmetros opcionais Atribuição abreviada Instruções break e continue Interrupção da execução. 1 Estudo desta disciplina. Nesta aula... 1 2 Parâmetros opcionais Atribuição abreviada Instruções break e continue Interrupção da execução 3 Forum: https://piazza.com/up.pt/fall2012/cc101/home Livro: versão PDF: http: //www.greenteapress.com/thinkpython/html/index.html

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 8 Matrizes como argumento de funções O nome de uma matriz (sem os colchetes) representa o endereço onde a matriz está armazenada. Ao passar o

Leia mais

ICE-B. 6 - Iteração. Ludwig Krippahl

ICE-B. 6 - Iteração. Ludwig Krippahl ICE-B 6 - Iteração Ludwig Krippahl Iteração Resumo O ciclo for Exemplo: enzimas de restrição Função range e iteração pelos índices Exemplos: média e outras estatísticas Devolver mais de um valor Criar

Leia mais

Introdução à Programação / Programação I

Introdução à Programação / Programação I Introdução à Programação / Programação I Aula 10: Listas e tuplos Rita P. Ribeiro 2017/2018 Departamento de Ciência de Computadores Nesta aula 1. Listas 2. Tuplos INTRODUÇÃO À PROGRAMAÇÃO / PROGRAMAÇÃO

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 10: Listas e tuplos Rita P. Ribeiro 2016/2017 Departamento de Ciência de Computadores Nesta aula 1. Listas 2. Tuplos INTRODUÇÃO À PROGRAMAÇÃO - 2016/2017: AULA 10 1 Listas

Leia mais

Introdução à Programação / Programação I

Introdução à Programação / Programação I Introdução à Programação / Programação I Aula 18: Definições recursivas Rita P. Ribeiro 2017/2018 Departamento de Ciência de Computadores Nesta aula 1. Definições recursivas 2. Exemplos INTRODUÇÃO À PROGRAMAÇÃO

Leia mais

Introdução à Ciência da Computação Disciplina: Prof. Edison Ishikawa Python 3.0 Aula 05 Listas

Introdução à Ciência da Computação Disciplina: Prof. Edison Ishikawa Python 3.0 Aula 05 Listas Introdução à Ciência da Computação Disciplina: 113913 Prof. Edison Ishikawa Python 3.0 Aula 05 Listas Sumário O que são listas? Construindo, acessando e manipulando listas Como e onde utilizá-las Matrizes

Leia mais

Subprogramação. Vanessa Braganholo

Subprogramação. Vanessa Braganholo Subprogramação Vanessa Braganholo vanessa@ic.uff.br O que vimos até agora } Programas usam apenas sequência, repetição e decisão } Capacidade de resolver diversos problemas, mas difícil de resolver problemas

Leia mais

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho Gilson de Souza Carvalho gaucho.gilson@hotmail.com 4.3 Comandos de repetição encadeados Apesar de seguir o mesmo padrão de encadeamento de outros comandos já vistos, a utilização de comandos de repetição

Leia mais

Introdução à Programação Aula 9 Listas e tuplos

Introdução à Programação Aula 9 Listas e tuplos Introdução à Programação Aula 9 Listas e tuplos Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 9 Listas e tuplos 2015 1 / 29 Nesta aula 1 Listas 2 Tuplos Pedro

Leia mais

TIPOS ESTRUTURADOS. Prof. Msc. Luis Filipe Alves Pereira 2015

TIPOS ESTRUTURADOS. Prof. Msc. Luis Filipe Alves Pereira 2015 TIPOS ESTRUTURADOS Prof. Msc. Luis Filipe Alves Pereira 2015 TIPOS ESTRUTURADOS 02/34 TPOS DE OBJETOS Usamos até agora objetos dos seguintes tipos int bool float str tipos escalares contém estrutura interna

Leia mais

Programação I Aula 9 Listas e tuplos

Programação I Aula 9 Listas e tuplos Programação I Aula 9 Listas e tuplos Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 9 Listas e tuplos 2017 1 / 29 Nesta aula 1 Listas 2 Tuplos Pedro Vasconcelos (DCC/FCUP)

Leia mais

SCC Capítulo 2 Recursão

SCC Capítulo 2 Recursão SCC-501 - Capítulo 2 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis

Leia mais

Prof. A. G. Silva. 25 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de / 35

Prof. A. G. Silva. 25 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de / 35 INE5603 Introdução à POO Prof. A. G. Silva 25 de setembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de 2017 1 / 35 Baseado em materiais da Recursividade Unisinos, Cesar Tacla (UTFPR),

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS profericomartins@unemat.br

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

Sequências - Tuplas. Sequências - Tuplas

Sequências - Tuplas. Sequências - Tuplas Sequências - Tuplas Sequência de valores separados por vírgulas. Elementos podem ser de tipos distintos. Endereçáveis, com índice 0 para o primeiro elemento Exemplos : >>> tupla="computadores e Programacao",

Leia mais

Informática para Ciências e Engenharias 2013/14. Teórica 7

Informática para Ciências e Engenharias 2013/14. Teórica 7 Informática para Ciências e Engenharias 2013/14 Teórica 7 Na aula de hoje... Controlo de execução ciclos condicionais while end Exemplos raiz quadrada histograma fórmula química while while e matrizes

Leia mais

Algoritmos e Estrutura de Dados Aula 02 Listas em Python

Algoritmos e Estrutura de Dados Aula 02 Listas em Python Algoritmos e Estrutura de Dados Aula 02 Listas em Python Profa. Alana Oliveira e Prof. Davi Viana alanaslz@gmail.com e davi.viana@lsdi.ufma.br Se não entender, pergunte! 2 1 Dados e Tipos de Dados Um dado

Leia mais

Listas e Tuplas. Vanessa Braganholo

Listas e Tuplas. Vanessa Braganholo Listas e Tuplas Vanessa Braganholo vanessa@ic.uff.br Exemplo Motivacional } Programa para auxiliar a escrever Parabéns! nas melhores provas de uma disciplina com 3 alunos } Ler os nomes e as notas de 3

Leia mais

Estruturas de Dados Pilhas, Filas, Listas

Estruturas de Dados Pilhas, Filas, Listas Estruturas de Dados Pilhas, Filas, Listas Fabio Gagliardi Cozman Thiago Martins PMR3201 Escola Politécnica da Universidade de São Paulo Estruturas de Dados Pilhas, Filas, Listas Introdução Estruturas de

Leia mais

Aula de hoje. Listas. Sequências especiais. Introdução. Listas. Sequências. SCC Introdução à Programação para Engenharias

Aula de hoje. Listas. Sequências especiais. Introdução. Listas. Sequências. SCC Introdução à Programação para Engenharias SCC 12 - Introdução à Programação para Engenharias Aula de hoje Introdução Sequências Classes e objetos Listas Listas Operações em listas Pilhas e filas Professor: André C. P. L. F. de Carvalho, ICMC-USP

Leia mais

Explicação do programa:

Explicação do programa: Disciplina: Introdução à Programação. IPRJ/UERJ Professora: Sílvia Mara da Costa Campos Victer Índice: Aula10 Sub-rotina: Em algoritmos Em C Sub-rotinas subprograma - programação modularizada Definição:

Leia mais

Algoritmo e Programação Matemática LAÇOS E LISTAS

Algoritmo e Programação Matemática LAÇOS E LISTAS Algoritmo e Programação Matemática LAÇOS E LISTAS Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais A Função list A função list pode ser utilizada para realizar a

Leia mais

Lógica de Programação I

Lógica de Programação I Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1 Comando Do/While Além do comando while, existem outras estruturas para implementar laços repetitivos. O comando Do/While funciona de forma similar ao

Leia mais

CCM0118 Computação I Curso de Ciências Moleculares Turma 22 Segundo Semestre de 2012 Segunda Prova 25 de outubro de 2012

CCM0118 Computação I Curso de Ciências Moleculares Turma 22 Segundo Semestre de 2012 Segunda Prova 25 de outubro de 2012 CCM0118 Computação I Curso de Ciências Moleculares Turma 22 Segundo Semestre de 2012 Segunda Prova 25 de outubro de 2012 Nome: Instruções: Assinatura: N ō USP: 1. Preencha o cabeçalho acima. 2. Não destaque

Leia mais

Listas, conjuntos e dicionários

Listas, conjuntos e dicionários Listas, conjuntos e dicionários Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

Processamento da Informação Teoria. Coleções: Listas

Processamento da Informação Teoria. Coleções: Listas Processamento da Informação Teoria Coleções: Listas Semana 06 Prof. Jesús P. Mena-Chalco 29/05/2013 Sobre strings... Podemos acessar (obter a informação) um caractere usando um índice (número inteiro).

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.7. Funções 3.7.1. Introdução 3.7.2. Uso de

Leia mais

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta? 23 Algoritmos com Repetição Nos exemplos e exercícios vistos até agora, sempre foi possível resolver os problemas com uma sequência de instruções que eram executadas apenas uma vez. Existem três estruturas

Leia mais

Informática para Ciências e Engenharias 2014/15. Teórica 7

Informática para Ciências e Engenharias 2014/15. Teórica 7 Informática para Ciências e Engenharias 2014/15 Teórica 7 Na aula de hoje... Controlo de execução ciclos condicionais while end Exemplos raiz quadrada histograma fórmula química while while e matrizes

Leia mais

Processamento da Informação Teoria. Listas e Matrizes

Processamento da Informação Teoria. Listas e Matrizes Processamento da Informação Teoria Listas e Matrizes Semana 07 Prof. Jesús P. Mena-Chalco 05/06/2013 Função range (cria uma lista) >>> range(1,5) [1, 2, 3, 4] >>> range(5,10) [5, 6, 7, 8, 9] Uma lista

Leia mais

Programação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP

Programação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP Programação I Aula 17 Correção de programas DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Classes de erros 2 Execução passo-a-passo 3 Testes na documentação 4 Asserções 5 Outros erros comuns DCC/FCUP 2019

Leia mais

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM PYTHON

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM PYTHON INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM PYTHON Prof. Dr. Daniel Caetano 2018-2 Objetivos Entender a lógica do Python Apresentar e estrutura do Python Capacitar o aluno para escrever algoritmos

Leia mais

Prova Substitutiva PMR3201 1o. semestre 2018 Prof. Thiago Martins

Prova Substitutiva PMR3201 1o. semestre 2018 Prof. Thiago Martins Prova Substitutiva PMR301 1o. semestre 018 Prof. Thiago Martins Instruções Escreva o nome e o número USP na folha de papel almaço. Numere cada página. Indique o total de páginas na primeira página. Os

Leia mais

Programação I A Linguagem C. Prof. Carlos Alberto

Programação I A Linguagem C. Prof. Carlos Alberto Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada

Leia mais

FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m

FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m 1. (1.5) Considere a seguinte gramática em notação BNF: ::= , ::= ::=

Leia mais

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM PYTHON

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM PYTHON INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM PYTHON Prof. Dr. Daniel Caetano 2019-1 Objetivos Entender a lógica do Python Apresentar e estrutura do Python Capacitar o aluno para escrever algoritmos

Leia mais

9. Comando de repetição com variável de controle (para.. de.. até.. faça)

9. Comando de repetição com variável de controle (para.. de.. até.. faça) 9. Comando de repetição com variável de controle (para.. de.. até.. faça) Com o uso das estruturas enquanto e repita é possível elaborar rotinas que efetuam a execução de um looping um determinado número

Leia mais

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO. Profa. Dra. Milena Guessi Margarido

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO. Profa. Dra. Milena Guessi Margarido SSC 301 - INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO Profa. Dra. Milena Guessi Margarido (milena@icmc.usp.br) MODULARIZAÇÃO Um problema complexo é melhor abordado se for dividido primeiramente

Leia mais

Introdução à Ciência da Computação Disciplina:

Introdução à Ciência da Computação Disciplina: Introdução à Ciência da Computação Disciplina: 113913 Prof. Edison Ishikawa Python 3.0 Aula 5 O Caminho do Programa l l l l l l l l l Sumário Dicionários Operações dos Dicionários Métodos dos Dicionários

Leia mais

Vetores. Introdução à Programação para Biologia Molecular

Vetores. Introdução à Programação para Biologia Molecular Vetores Introdução à Programação para Biologia Molecular Rosane Minghim Apoio na confecção: Danilo Medeiros Eler Rogério Eduardo Garcia Renato Rodrigues Carlos E. A. Zampieri Baseado na Apostila: Curso

Leia mais

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

Variáveis e Entrada de Dados Marco André Lopes Mendes  marcoandre.googlepages. Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre@ifc-araquari.edu.br marcoandre@gmail.com marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma

Leia mais

Computação e Programação Exame Época de recurso

Computação e Programação Exame Época de recurso Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v

Leia mais

Processamento da Informação

Processamento da Informação Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Processamento da Informação 2. Conceitos de Programação 3. Funções e Programas de Computador 1 Processamento da

Leia mais

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,

Leia mais

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 6. Pedro Barahona 2018 / 19

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 6. Pedro Barahona 2018 / 19 Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 6 Pedro Barahona 2018 / 19 Sumário Representação de imagens num ecrã. Píxeis. Sistema RGB. Gráficos empython. Biblioteca matplotlib.

Leia mais

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

Variáveis e instruções de repetição

Variáveis e instruções de repetição Variáveis e instruções de repetição Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para

Leia mais

Processamento da Informação Teoria. Strings

Processamento da Informação Teoria. Strings Processamento da Informação Teoria Strings Semana 04 Prof. Jesús P. Mena-Chalco 15/05/2013 Das aulas anteriores... Vimos vários tipos de dados: int, float, long, string Stings são qualitativamente diferentes

Leia mais

Algoritmos e Estruturas de Dados I 01/2013. Vetores e Recursividade. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I 01/2013. Vetores e Recursividade. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I 01/2013 Vetores e Recursividade Pedro O.S. Vaz de Melo Problema 1 Implemente uma função que classifique os elementos de um vetor em ordem crescente usando o algoritmo

Leia mais

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara Universidade do Estado de Minas Gerais - UEMG Curso de Engenharia da Computação FUNÇÕES EM C 1 Material adaptado da profa Silvana Maria Affonso de Lara ROTEIRO DA AULA Definição de Função Argumentos, retornos

Leia mais

3 MODELOS DE VARIÁVEIS

3 MODELOS DE VARIÁVEIS uma pegadinha em #golang 3 MODELOS DE VARIÁVEIS Valores, ponteiros e referências na linguagem Go. MODELOS DE VARIÁVEIS EM LINGUAGENS O que a gente vê por aí 2 MODELOS DE VARIÁVEIS EM ALGUMAS LINGUAGENS

Leia mais

Lista de Exercícios sobre Recursividade

Lista de Exercícios sobre Recursividade Lista de Exercícios sobre Recursividade 1) Dado os algoritmos recursivos abaixo, apresente suas funções de complexidade de tempo. a) void Pesquisa(int n) if (n > 1) Inspecione n*n*n elementos; // custo

Leia mais

Linguagem Python. Processamento Estatístico da Linguagem Natural. Barra invertida em strings. Strings. Aspas triplas. Operações com Strings

Linguagem Python. Processamento Estatístico da Linguagem Natural. Barra invertida em strings. Strings. Aspas triplas. Operações com Strings Processamento Estatístico da Linguagem Natural Aula 7 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/peln/ Linguagem Python Introdução Características de Python Rodando

Leia mais

Departamento de Ciência da Computação Python 3.x Tipo de Dados Listas. Introdução à Ciência da Computação. Prof. Edison Ishikawa

Departamento de Ciência da Computação Python 3.x Tipo de Dados Listas. Introdução à Ciência da Computação. Prof. Edison Ishikawa Python 3.x Tipo de Dados Listas Introdução à Ciência da Computação Prof. Edison Ishikawa Sumário O que são listas? Construindo, acessando e manipulando listas Como e onde utilizá-las Matrizes Strings e

Leia mais

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. Fundamentos de Programação Turma CI-240-EST Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 3 (12/08/15) Saídas Entradas Operadores Atribuição Aritméticos Expressões Aritméticas Saída Permite

Leia mais

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa AULA 2: INTRODUÇÃO A PYTHON Luís Feliphe Silva Costa Sumário Variáveis simples Entrada e Saída de dados Operadores Estruturas Condicionais Estruturas de repetição Funções Tratamento de erros Variáveis

Leia mais

Prova Final de Linguagens de Programação - DCC024B -

Prova Final de Linguagens de Programação - DCC024B - Prova Final de Linguagens de Programação - DCC024B - Ciência da Computação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é sem consulta.

Leia mais

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II Prof. Dr. Daniel Caetano 2019-1 Objetivos Apresentar, diferentes níveis de detalhamento dos algoritmos Treinar a elaboração de algoritmos

Leia mais

PYTHON LISTAS. Introdução à Programação SI1

PYTHON LISTAS. Introdução à Programação SI1 PYTHON LISTAS Introdução à Programação SI1 2 Conteúdo Listas Conceitos Operações Métodos Exercícios 3 Sequências Sequências! Podem ser indexados por algum valor ordinal posicional Algumas operações são

Leia mais

Listas lineares. Listas lineares. Estrutura dos nodos. Lista linear. a b c d. Uma Lista Linear (LL) é uma seqüência de nodos

Listas lineares. Listas lineares. Estrutura dos nodos. Lista linear. a b c d. Uma Lista Linear (LL) é uma seqüência de nodos Listas lineares Listas lineares Uma Lista Linear (LL) é uma seqüência de nodos São as estruturas de mais simples manipulação Lista linear a b c d Relação de ordem Linear - seqüencial e Estrutura dos nodos

Leia mais

Informática para Ciências e Engenharias 2014/15. Teórica 4

Informática para Ciências e Engenharias 2014/15. Teórica 4 Informática para Ciências e Engenharias 2014/15 Teórica 4 Na aula de hoje... Controlo de execução condições if elseif else end operadores relacionais e lógicos Matrizes criação e percursos em matrizes

Leia mais

Pra início de conversa... O que é um algoritmo? Exemplos de algoritmos. Como podemos descrever algoritmos? Como podemos descrever algoritmos?

Pra início de conversa... O que é um algoritmo? Exemplos de algoritmos. Como podemos descrever algoritmos? Como podemos descrever algoritmos? Pra início de conversa... O que é um algoritmo? Como podemos descrever algoritmos? avaliar algoritmos? Introdução à Análise de Algoritmos Prof. Cláudio E. C. Campelo http://claudiocampelo.com Derivado

Leia mais

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015 PRIMEIROS PASSOS COM PYTHON Prof. Msc. Luis Filipe Alves Pereira 2015 PRIMEIROS PASSOS COM PYTHON 02/47 O QUE É PYTHON? Python é uma linguagem de propósito geral, de alto nível e interpretada Python será

Leia mais

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II Prof. Dr. Daniel Caetano 2018-2 Objetivos Apresentar, diferentes níveis de detalhamento de algoritmo Treinar a elaboração de algoritmos

Leia mais

Exane de ICE-B, 26 de Junho de 2018 (Versão A)

Exane de ICE-B, 26 de Junho de 2018 (Versão A) Exane de ICE-B, 26 de Junho de 2018 (Versão A) Três páginas com 10 perguntas mais três folhas de resposta. Duração: 2 horas e 30 minutos Atenção: Preencha cuidadosamente cada folha de resposta. Pode usar

Leia mais

Algoritmos e Estruturas de Dados I Linguagem C

Algoritmos e Estruturas de Dados I Linguagem C Algoritmos e Estruturas de Dados I (DCC/003) Algoritmos e Estruturas de Dados I Linguagem C Aula Tópico 11 Recursividade 1 Recursão Na linguagem C, uma função pode chamar outra função. A função main()

Leia mais

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

Introdução à Programação Aula 09. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 09 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação A linguagem C, como qualquer outra linguagem de programação, permite

Leia mais

Entrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá

Entrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá Entrada e saída Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

Programação I Aula 16 Mais exemplos de recursão

Programação I Aula 16 Mais exemplos de recursão Programação I Aula 16 Mais exemplos de recursão Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 16 Mais exemplos de recursão 2018 1 / 27 Nesta aula 1 Desenhar árvores 2

Leia mais

Introdução à Computação

Introdução à Computação Conteúdo de hoje... Your Logo Here Funções Prof. Lucas Amorim lucas@ic.ufal.br Definindo e executanto funções Funções que retornam valores Variáveis e parâmetros são locais Funções podem chamar outras

Leia mais

Programação I Aula 10 Processamento de listas

Programação I Aula 10 Processamento de listas Programação I Aula 10 Processamento de listas Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 10 Processamento de listas 2018 1 / 32 Nesta aula Vamos ver alguns exemplos

Leia mais

LINGUAGEM E TECNICAS DE PROGRAMAÇÃO

LINGUAGEM E TECNICAS DE PROGRAMAÇÃO LINGUAGEM E TECNICAS DE PROGRAMAÇÃO Aula 03 Lógica Entrada de dados Lógica Lógica, no seu sentido mais amplo, está presente em todos os passos de nossas vidas, servindo de base para resolução de nossos

Leia mais

Comparação com Divisão e Conquista

Comparação com Divisão e Conquista Programação Dinâmica Programação Dinâmica Fernando Lobo Algoritmos e Estrutura de Dados II Outra técnica de concepção de algoritmos, tal como Divisão e Conquista ou Estratégias Greedy. O termo Programação

Leia mais

Principais paradigmas de programação. Programação imperativa Programação funcional Programação lógica Programação OO

Principais paradigmas de programação. Programação imperativa Programação funcional Programação lógica Programação OO Principais paradigmas de programação Programação imperativa Programação funcional Programação lógica Programação OO Programação Imperativa É o paradigma mais usado. Programas são definidos através de sequências

Leia mais

Python 3.x Estrutura de Repetição while

Python 3.x Estrutura de Repetição while Python 3.x Estrutura de Repetição while Introdução à Ciência da Computação Prof. Edison Ishikawa Sumário Atribuição Atualizando variáveis Iterações Revisitando o laço for Laço while Rastreando um programa

Leia mais