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

Informá(caparaas Ciênciase Engenharias Versão: C

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Informá(caparaas Ciênciase Engenharias Versão: C

Informá(ca para as Ciências e EngenhariasVersão : C

(Engenharia Civil)

Pedro Barahona2018 / 19

Page 2: Informá(caparaas Ciênciase Engenharias Versão: C

Sumário

• Tipo Booleano.§ Operadores relacionais e lógicos.§ Avaliação de conjunções e de disjunções.

• Instrução IF.

• Matrizes.

§ Criação de matrizes.§ Relações entre vetores e matrizes.

• Resolução de problemas.

1 Abril 2019 2Instrução IF; Matrizes

Page 3: Informá(caparaas Ciênciase Engenharias Versão: C

Sumário

• Tipo Booleano.§ Operadores relacionais e lógicos.§ Avaliação de conjunções e de disjunções.

• Instrução IF.

• Matrizes.

§ Criação de matrizes.§ Relações entre vetores e matrizes.

• Resolução de problemas.

1 Abril 2019 3Instrução IF; Matrizes

Page 4: Informá(caparaas Ciênciase Engenharias Versão: C

Tipo Booleano e Operadores relacionais

• Um dos 2pos primi2vos do Python é o Booleano ou valorlógico (bool), com dois valores possíveis: True e False.

§ As constantes lógicas são representadas por: True e False.

• Este 2po aparece normalmente associado a comparações de

expressões avaliadas através de operadores relacionais.

Operadores relacionais:== (igual) != (diferente)

> (maior) >= (maior ou igual)

< (menor) <= (menor ou igual)

1 Abril 2019 4Instrução IF; Matrizes

Page 5: Informá(caparaas Ciênciase Engenharias Versão: C

Tipo Booleano e Operadores relacionais

• Exemplo: x == 10 é uma expressão lógica que vale:

§ True, se o valor da variável x for (igual a) 10;

§ False, se o valor da variável x não for (igual a) 10.• Os operadores lógicos podem ser encadeados (“como na

matemáGca”)

• Exemplo: 10 <= x < 20 é uma expressão lógica que vale:§ True, se o valor da variável x esGver no intervalo [ 10, 20 [

§ False, caso contrário.

• As condições a avaliar podem ser mais complexas e exigir auGlização de expressões booleanas formadas comoperadores lógicos.

1 Abril 2019 5Instrução IF; Matrizes

Page 6: Informá(caparaas Ciênciase Engenharias Versão: C

Tipo Booleano e Operadores relacionais

• Operadores lógicos:§ and (conjunção, “e”)§ or (disjunção, “ou”)§ not (negação , “não”)

• Exemplo: A expressão lógica x >= 10 and x < 20 vale:§ True, se o valor da variável x esGver no intervalo [ 10, 20 [§ False, caso contrário.

• Exemplo: A expressão lógica x < 10 or x >= 20 vale:§ True, se o valor de x esGver fora do intervalo [ 10, 20 [§ False, caso contrário.

1 Abril 2019 6Instrução IF; Matrizes

Page 7: Informá(caparaas Ciênciase Engenharias Versão: C

O operador and

• Operacionalmente, a avaliação do operador and pode sero4mizada (curto-circuito):

expr1 and expr2

1. A expressão expr1 é sempre avaliada

2. Se o valor de expr1 for True, a expr2 é avaliada (porqueainda não se sabe o resultado da conjunção):

True and True vale True mas True and False vale False

3. Se o valor de expr1 for False, a expr2 não é avaliada (porquejá se sabe o resultado da conjunção):

False and True vale False e False and False vale False1 Abril 2019 7Instrução IF; Matrizes

Page 8: Informá(caparaas Ciênciase Engenharias Versão: C

O operador or

• Operacionalmente a avaliação do operador or também podeser o5mizada (curto-circuito):

expr1 or expr2

1. A expressão expr1 é sempre avaliada

2. Se o valor de expr1 for False, a expr2 é avaliada (porqueainda não se sabe o resultado da conjunção):

False or True vale True mas False or False vale False

3. Se o valor de expr1 for True, a expr2 não é avaliada (porquejá se sabe o resultado da conjunção):

True or True vale True e True or False vale True1 Abril 2019 8Instrução IF; Matrizes

Page 9: Informá(caparaas Ciênciase Engenharias Versão: C

O operador && (conjunção) [2]

Exemplos:

Nota: O operador not tem precedência sobre o operador andque tem precedência sobre o operador or.

1 Abril 2019 9

In : x = 15In : y = 20In : x == 15 and y > 25Out: FalseIn : x == 15 and y < 25Out: TrueIn : x > 30 or not x > 40 and y < 15Out: FalseIn : x > 30 or not (x > 40 and y < 15)Out: True

Instrução IF; Matrizes

( ) ( ( ) )

Page 10: Informá(caparaas Ciênciase Engenharias Versão: C

Sumário

• Tipo Booleano.§ Operadores relacionais e lógicos.§ Avaliação de conjunções e de disjunções.

• Instrução IF.

• Matrizes.

§ Criação de matrizes.§ Relações entre vetores e matrizes.

• Resolução de problemas.

1 Abril 2019 10Instrução IF; Matrizes

Page 11: Informá(caparaas Ciênciase Engenharias Versão: C

A instrução IF [1]

• Por vezes, é interessante executar blocos de instruçõesdis>ntos conforme o resultado da avaliação de uma condiçãoou do valor duma variável booleana.

• Em Python (e na generalidade das outras linguagens deprogramação), este obje>vo pode ser alcançado usando ainstrução if.

• Existem várias variantes desta instrução para cobrir os casos:

§ de exis>rem uma ou mais condições; e

§ só se pretenderem executar blocos de operações se ascondições se verificarem.

1 Abril 2019 11Instrução IF; Matrizes

Page 12: Informá(caparaas Ciênciase Engenharias Versão: C

A instrução IF [2]

1 Abril 2019 12

Sintaxe:

if condição1:

instruções1

Exemplo:

se sopa está insossa

adicione sal

Operacionalmente:

1. A condição1 é avaliada.

§ Se for verdadeira, executam-se as instruções1.

§ (Se for falsa, não se faz mais nada.)

Instrução IF; Matrizes

• Caso mais simples: uma só condição (necessária)

Page 13: Informá(caparaas Ciênciase Engenharias Versão: C

A instrução IF [3]

1 Abril 2019 13

Sintaxe:if condição1:

instruções1else

instruções2

Operacionalmente:1. A condição1 é avaliada.

§ Se for verdadeira, executam-se as instruções1.§ Se for falsa, executam-se as instruções2

Exemplo:se está sol e calor

almoce no terraçosenão

almoce na sala

Instrução IF; Matrizes

• Uma só condição mas com alternaLva

Page 14: Informá(caparaas Ciênciase Engenharias Versão: C

• O número de condições pode ser arbitrário

• Neste caso existem 2 condições alterna7vas, mas poderiam serconsideradas mais com blocos elif adicionais.

A instrução IF [4]

1 Abril 2019 14

Sintaxe:if condição1:

instruções1elif condição2:

instruções2else

instruções3

Exemplo:if semáforo está verde

avanceelif semáforo está vermelho

páreelse % semáforo amarelo

acelere

Instrução IF; Matrizes

Page 15: Informá(caparaas Ciênciase Engenharias Versão: C

A instrução IF [5]

1 Abril 2019 15

Operacionalmente:

1. A condição1 é avaliada.

2. Se for True, executam-se asinstruções1.

3. Se for False, avalia-se acondição2.

4. Se for True, executam-se asinstruções2.

5. Se for False executam-se asinstruções3.

Instrução IF; Matrizes

Sintaxe:if condição1 :

instruções1elif condição2:

instruções2else

instruções3

Page 16: Informá(caparaas Ciênciase Engenharias Versão: C

A instrução IF [6]

1 Abril 2019 16Instrução IF; Matrizes

• Nota: A indentação é obrigatória!

• As linhas onde se escrevem os blocos de instruções devem

estar indentados (“chegados à frente”), normalmente através

de um tab) em relação às linhas onde se expressam a avaliação

das condições.

• Essa indentação já era obrigatória na definição de funções, em

que as instruções devem estar indentadas em relação à linha da

assinatura.

• Para além de obrigatória, a indentação aumenta a legibilidade

do código, sendo especialmente úYl no caso de blocos

encadeados (uns dentro dos outros)

Page 17: Informá(caparaas Ciênciase Engenharias Versão: C

A instrução IF [6]

1 Abril 2019 17Instrução IF; Matrizes

def f(x,y):z = 0if x > 10:

if y > 20:z = x + y

elif y > 10:z = x – y

else:z = x * y

return z

In : f(20,5)0

def g(x,y):z = 0if x > 10:

if y > 20:z = x + y

elif y > 10:z = x – y

else:z = x * y

return z

In : g(20,5)100

• Programas semelhantes, com indentações diferentes podem conduzir a resultados diferentes.

Page 18: Informá(caparaas Ciênciase Engenharias Versão: C

Sumário

• Tipo Booleano.§ Operadores relacionais e lógicos.§ Avaliação de conjunções e de disjunções.

• Instrução IF.

• Matrizes.

§ Criação de matrizes.§ Relações entre vetores e matrizes.

• Resolução de problemas.

1 Abril 2019 18Instrução IF; Matrizes

Page 19: Informá(caparaas Ciênciase Engenharias Versão: C

Matrizes [1]

• Em muitos casos, é conveniente trabalhar com dados organizados emtabelas. Essas tabelas podem ter várias dimensões.

§ Uma tabela de dimensão 1 pode ser implementada como um vetor.§ Uma tabela de dimensão 2 pode ser implementada como uma matriz.

§ As tabelas podem ter uma dimensão maior que 2.

• Uma matriz é uma estrutura de dados que guarda um númeropre-definido de dados do mesmo Hpo (tal como um vetor),agrupados numa tabela com L linhas e C colunas.§ Em Python, uma matriz pode ser implementada através duma lista de

listas.

§ Tabelas 3-dimensionais podem ser implementadas como listas delistas de listas!

1 Abril 2019 19Instrução IF; Matrizes

Page 20: Informá(caparaas Ciênciase Engenharias Versão: C

Matrizes – Criação

• Uma matriz pode ser criada através da enumeração de todos os seuselementos numa lista de listas.

• O número de linhas corresponde ao número de listas “internas”, epode ser ob?do através da função len.

• O número de colunas pode ser ob?do aplicando a função len a umadas linhas internas da matriz.

• Nota: Se as listas internas não ?verem todas a mesma dimensão aestrutura resultante não implementa uma matriz bem formada.

1 Abril 2019 20

In : M = [[1,2,3,4],[3,4,5,6], [5,6,7,8]]In : len(M)3In : M[1][3,4,5,6]In : len(M[0])4

Instrução IF; Matrizes

M 0 1 2 3 Colunas0 1 2 3 41 3 4 5 62 5 6 7 8

Linhas

Page 21: Informá(caparaas Ciênciase Engenharias Versão: C

Matrizes – Acesso a uma posição

• Os elementos de uma matriz podem ser acedidos individualmente,indicando a linha em que estão e a coluna dentro dessa linha.

Sintaxe: nomeMatriz[ expressão_1] [expressão_2]

• Assumindo-se uma matriz com L linhas e C colunas:

§ O valor da expressão1 é um inteiro entre 0 e L-1 (ou maisgeralmente entre –L e L-1.

§ O valor da expressão2 é um inteiro entre 0 e C-1 (ou maisgeralmente entre –C e C-1.

1 Abril 2019 21Instrução IF; Matrizes

In : M = [[1,2,3,4],[3,4,5,6], [5,6,7,8]]In : M[1][3,4,5,6]In : M[2][3]8

M 0 1 2 3 Colunas0 1 2 3 41 3 4 5 62 5 6 7 8

Linhas

Page 22: Informá(caparaas Ciênciase Engenharias Versão: C

Matrizes – Acesso a uma posição

• O acesso a elementos de uma matriz pode ser feito quer para leituraquer para escrita

1 Abril 2019 22Instrução IF; Matrizes

In : M = [[1,2,3,4],[3,4,5,6], [5,6,7,8]]In : M[1][3,4,5,6]In : M[2][3]8In : M[1][2] = 9In : M[[1,2,3,4],[3,4,9,6], [5,6,7,8]]In : M[-1][-4] = 0In : M[[1,2,3,4],[3,4,9,6], [0,6,7,8]]

M 0 1 2 3 Colunas0 1 2 3 41 3 4 5 62 5 6 7 8

Linhas0

9

Page 23: Informá(caparaas Ciênciase Engenharias Versão: C

Matrizes – Modificação

• As linhas de uma matriz podem ser aumentadas usando-se o método.append, à lista que representa a matriz

§ Nota: Os elementos das listas appended devem ter o mesmonúmero de elementos para se manter uma matriz bem formada.

• Pode obter-se uma faFa (submatriz) de uma matriz, extraindo-se aslinhas idenFficadas com a notação usada em listas.

1 Abril 2019 23Instrução IF; Matrizes

In : M = [[1,2,3,4],[3,4,5,6], [5,6,7,8]]In : P = M[0:3:2]In : P[[1,2,3,4],[5,6,7,8]]In : P.append([3,4,5,6])In : P[[1,2,3,4], [5,6,7,8],[3,4,5,6]]

Page 24: Informá(caparaas Ciênciase Engenharias Versão: C

Matrizes – Criação

• Em Python, a implementação de matrizes através de listas nãopermite a u<lização imediata de operações sobre matrizes,estudadas na álgebra, como sejam o produto de matrizes, ocálculo do determinantes e a inversão de matrizes(quadradas)

1 Abril 2019 24Instrução IF; Matrizes

In : import numpy as npIn : A = np.array([[1,2],[4,5]]) In : AOut: array([[1, 2],

[4, 5]]) In : import numpy.linalg as laIn : la.inv(A)Out: array([[-1.66666667, 0.66666667],

[ 1.33333333, -0.33333333]])

• O Python disponibilizauma biblioteca(numpy), muito ú<lpara cálculo matricialavançado.

Page 25: Informá(caparaas Ciênciase Engenharias Versão: C

Sumário

• Tipo Booleano.§ Operadores relacionais e lógicos.§ Avaliação de conjunções e de disjunções.

• Instrução IF.

• Matrizes.

§ Criação de matrizes.§ Relações entre vetores e matrizes.

• Resolução de problemas.

1 Abril 2019 25Instrução IF; Matrizes

Page 26: Informá(caparaas Ciênciase Engenharias Versão: C

Problema da Pauta de ICE

• Problema: Faça um programa que produz a pauta com as notas finaisde ICE por avaliação con>nua.§ O programa recebe, por cada aluno, o número e as notas dos dois

exercícios, do projeto e dos dois testes do aluno (E1, E2, P, T1 e T2),arredondadas às décimas.

§ Por cada aluno, a pauta tem o número e a nota final por avaliaçãocon>nua do aluno.

§ Os dados de entrada e os resultados estão em tabelas.

1 Abril 2019 26Instrução IF; Matrizes

Page 27: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Problema [1]

Problema: Faça um programa que produz a pauta com as notas finais deICE por avaliação conCnua.

1. Compreender totalmente o problema.• Os dados de entrada e os resultados estão em tabelas:

1 Abril 2019 27

Notas: Pauta:

Instrução IF; Matrizes

Page 28: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Problema [2]

1. Compreender totalmente o problema.

• Seja CompL = 20% E1 + 20% E2 + 60% P (arredondada às décimas)

• Se não tem frequência (CompL < 8.5), NF = −1.

• Se tem frequência (CompL ≥ 8.5)

§ Seja CompTP = (T1 + T2)/2

§ Se CompTP < 8.5,

« NF = CompTP (arredondada às unidades).

§ Se CompTP ≥ 8.5,

« NF = 0.6 CompTP + 0.4 CompL (arredondada às unidades).

1 Abril 2019 28Instrução IF; Matrizes

Page 29: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Problema [3]

2. Caracterizar o problema.• Problema: Pauta de ICE.• Entrada: Uma tabela de números, com uma linha por aluno e

seis colunas (nº, E1, E2, P, T1, T2).• Saída: Uma tabela de números, com uma linha por aluno e

duas colunas (nº e NF).3. Generalizar o problema (sempre que for possível).• Não é possível generalizar este problema.

1 Abril 2019 29Instrução IF; Matrizes

Page 30: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Algoritmo [1]

4. Desenhar o algoritmo para resolver o problema.a) Conceber o algoritmo, decompondo o problema em sub-problemas.• Como calcular a pauta de ICE com a tabela Notas (L×6)?

§ Cria-se a tabela Pauta (L×2).§ Para cada linha i de Notas (abreviada por N abaixo)

« Pautai0 ← Ni0; % copia-se o nº de aluno« Pautai1 ← Nota final (Ni1, Ni2, Ni3, Ni4, Ni5).

1 Abril 2019 30

Notas:

è

Pauta:

Instrução IF; Matrizes

Page 31: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Algoritmo [2]

b) Iden'ficar, caracterizar e generalizar cada sub-problema.• Como calcular a nota final de ICE

Nota final (E1, E2, P, T1, T2).

• Problema: nota final de ICE.• Entrada: vetor (com E1, E2, P, T1, T2).• Saída: a nota final de ICE.

Esta função será definida mais à frente

1 Abril 2019 31Instrução IF; Matrizes

Page 32: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Algoritmo [3]

c) Conceber o algoritmo, assumindo que os sub-problemas estãoresolvidos.

• Pauta de ICE Notas: (L×6) :§ Cria-se a tabela Pauta: (L×2).§ Para cada linha i de N (Notas):

« Pautai0 ← Ni0; % copia-se o nº de aluno« Pautai1 ← Nota final (Ni1, Ni2, Ni3, Ni4, Ni5).

– Vetor = [Ni1, Ni2, Ni3, Ni4, Ni5).

1 Abril 2019 32

è

Notas: Pauta:

Instrução IF; Matrizes

Page 33: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Algoritmo [4]

5. Para cada sub-problema, desenhar o algoritmo para o resolver.

Nota final de ICE (vetor com E1, E2, P, T1, T2) :

(nos próximos slides)

1 Abril 2019 33Instrução IF; Matrizes

Page 34: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Algoritmo [5]

• Nota final de ICE (vetor com E1, E2, P, T1, T2) :

CompL = 20% E1 + 20% E2 + 60% P

se CompL< 8.5 então # Não tem frequência

NF = −1.

senão # CompL ≥ 8.5, tem frequência

compTP = (T1 + T2)/2 (arredondada às décimas)

se compTP < 8.5 então # Não obteve aprovação

notaFinal = compTP (arredondada às unidades)

senãocompL = Arredonda às décimas( compL)

notaFinal = 0.6*compTP + 0.4*compL (arredondada às unidades)

1 Abril 2019 34Instrução IF; Matrizes

Page 35: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Algoritmo [6]

5. (cont) Para cada sub-problema, desenhar o algoritmo para oresolver.

• Novo sub-problema• Problema: Arredonda às décimas.• Entrada: valor real.• Saída: o valor arredondado às décimas.

Arredondar às décimas (valor) :• A função round cuja sintaxe é

round(number[, ndigits]) arredonda o número number com precisão de ndigits.

1 Abril 2019 35Instrução IF; Matrizes

Page 36: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Algoritmo [6]

5. (cont) Para cada sub-problema, desenhar o algoritmo para oresolver.

• Novo sub-problema• Problema: Arredonda às décimas.

• Entrada: valor real.

• Saída: o valor arredondado às décimas.

Arredondar às décimas (valor) :

• Pode-se usar a função round para arredondar às décimas.

§ Exemplo: round(3.14,1) vale 3.1.

1 Abril 2019 36Instrução IF; Matrizes

Page 37: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Programa

6. Para cada sub-problema (começando pelos mais simples),implementar o respe8vo algoritmo e testar o “sub-programa”.§ Arredonda às décimas (valor)§ Nota final de ICE (vetor com E1, E2, P, T1, T2)

7. Implementar o algoritmo que resolve o problema e testar oprograma pedido.§ Pauta de ICE (E)

1 Abril 2019 37Instrução IF; Matrizes

Page 38: Informá(caparaas Ciênciase Engenharias Versão: C

Implementação – Que questões?

1. Como é que se executam blocos de instruções dis>ntos conformeseja o resultado da avaliação de uma condição?No problema: se ... então ... senão ... .R: Usando a instrução IF

2. Como é que se escrevem condições?No problema: CompL < 8.5.R: Usando Expressões booleans

3. Como é que se manipula uma tabela?No problema: as tabelas Notas e PautaR: Usando matrizes – listas de listas.

1 Abril 2019 38Instrução IF; Matrizes

Page 39: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Programa [2]

1 Abril 2019 39

• Comecemos pela implementação da função notaFinal:def notaFinal(notasAC)

""" Calcula a nota final de ICE por avaliacao continua.O vetor notasAC tem as notas dos dois exercicios,do trabalho e dos dois testes:

(exer1, exer2, trab, teste1, teste2).Sejam:

compTP = 0.4 teste1 + 0.6 teste2 ecompL = (trab1 + trab2) / 2,

ambas arredondadas `as decimas. O resultado é:* −1,

se o aluno não tem frequência;* compTP (arredondada às unidades),

se o aluno tem frequência e compTP < 8.5* 0.6*compTP + 0.4*compL (arredondada às unidades),

nos restantes casos."""...

Instrução IF; Matrizes

Page 40: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Programa [4]

1 Abril 2019 40

• E agora o código da função notaFinal.def notaFinal(notasAC):

""" ... """notaL = 0.2*notasAC[0]+0.2*notasAC[1]+0.6*notasAC[2]compL = round(notaL,1)print (" -- compL = ", compL) # debugif compL < 8.5 : # O aluno nao tem frequencia.

F = -1else : # O aluno tem frequencia.

compTP = round(0.4 * notasAC[3] + 0.6 * notasAC[4], 1)if compTP < 8.5 :

F = round(compTP)else :

F = round(0.6 * compTP + 0.4 * compL)print (" -- compTP = ", compTP) # debug

return F

Instrução IF; Matrizes

Page 41: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Teste Unitário

• A função notaFinal pode ser testada para os vários casos, antes de serusada na função PautaIce

• Exemplo:

1 Abril 2019 41

In : notaFinal([15.5, 16.4, 18.0, 15.7, 14.8])-- compL = 17.2-- compTP = 15.2 Out: 16 In : notaFinal([12.3, 9.2, 9.4, 8.7, 7.2])-- compL = 9.9Out: 8In : notaFinal([8.0, 4.5, 7.2, 8.1, 10.2])-- compL = 6.8 Out: -1

Instrução IF; Matrizes

Page 42: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Programa [2]

1 Abril 2019 42

• E agora a implementação da função pautaICE:

def pautaICE(Notas)""" Produz a pauta de ICE por avaliaçao continua.A matriz Notas tem uma linha por aluno, com o numero e asnotas dos dois exercicios, do projeto e dos dois testesdo aluno (numero, exer1, exer2, proj, este1, teste2). Na matriz pauta há uma linha por aluno, com o numeroe a nota final por avaliacao continua do aluno.A nota final -1 significa que o aluno nao tem frequencia."""

Pauta = []

for notasAluno in Notas

numAluno = notasAluno[0]

notaAluno = notaFinal(notasAluno[1:])

pauta.append([numAluno,notaAluno])

return Pauta

Instrução IF; Matrizes

Page 43: Informá(caparaas Ciênciase Engenharias Versão: C

Resolução – Teste Final

• A função pautaICE pode ser testada para os vários casos.

• Pode criar-se uma matriz de entrada com as notas testadasanteriormente e chamar a função pautaICE com esse argumento.

• Exemplo:

1 Abril 2019 43

In : Notas = [[68322, 15.5, 16.4, 18.0, 15.7, 14.8],...: [67413, 12.3, 9.2, 9.4, 8.7, 7.2],...: [65064, 8.0, 4.5, 7.2, 8.1, 10.2]]In : Pauta = pautaICE(Notas)-- compL = 17.2-- compTP = 15.2-- compL = 9.9-- compL = 6.8In : PautaOut: [[68322, 16], [67413, 8], [65064, -1]]

Instrução IF; Matrizes

Page 44: Informá(caparaas Ciênciase Engenharias Versão: C

Para saber Mais

• Consultar um dos livros de texto aconselhados.

• Por exemplo:

§ “Think Python: How to Think Like a Computer ScienAst ”:

cap. 2, cap. 10.

§ “IntroducAon to ComputaAon and Programming Using Python”:caps. 2.1, + 4.1 e 4.2.

1 Abril 2019 Instrução IF; Matrizes 44