Baixe o app para aproveitar ainda mais
Prévia do material em texto
1ª ETAPA) Desenvolvimento de algoritmos em pseudolinguagem (portugol) para apresentação de conceitos e estruturas lógicas utilizadas na programação. Será utilizado o ambiente de interpretação VisuAlg v2.5 Soma de dois números inteiros; entrada de dados pelo teclado algoritmo "somar " var parc1,parc2,soma: inteiro inicio escreva ("Entre com a primeira parcela: ") leia (parc1) escreva ("Entre com a segunda parcela: ") leia (parc2) soma <- parc1 + parc2 escreva (soma) fimalgoritmo Resolução de uma equação (cálculo do valor de X); entrada de dados (variáveis A,B,C) pelo teclado algoritmo "equacao" var a,b,c,x: real inicio escreva ("Entre com A: ") leia (a) escreva ("Entre com B: ") leia (b) escreva ("Entre com C: ") leia (c) x <- (a*b)/(c+2) escreva ("O resultado é ",x) fimalgoritmo Cálculo da média de um aluno (entrada das notas pelo teclado) e análise da situação acadêmica (aprovado; AV3 ou reprovado); condição composta (conjunção); caso aluno não tenha sido aprovado, haverá cálculo de nova média algoritmo "aluno" var av1,av2,av3,media: real inicio escreva ("Entre com AV1: ") leia (av1) escreva ("Entre com AV2: ") leia (av2) media <- (av1+av2)/2 escreval ("A média é ",media) se (media>=6) entao escreva ("APROVADO") senao escreva ("AV3 ou REPROVADO") fimse fimalgoritmo Identificação do eleitor (obrigatório, facultativo, não eleitor), a partir da entrada da idade pelo teclado; feito com três estruturas de decisão independentes algoritmo "eleicao" var idade: inteiro inicio escreva ("Entre com a idade: ") leia (idade) se (idade<16) entao escreva ("Não eleitor") fimse se (idade>=18)e(idade<=65) entao escreva ("Eleitor obrigatório") fimse se ((idade>=16)e(idade<18))ou(idade>65) entao escreva ("Eleitor facultativo") fimse fimalgoritmo Mesmo problema anterior, agora feito com apenas duas estruturas de decisão aninhadas, que “excluem” uma das condições algoritmo "eleicao" var idade: inteiro inicio escreva ("Entre com a idade: ") leia (idade) se (idade<16) entao escreva ("Não eleitor") senao se (idade>=18)e(idade<=65) entao escreva ("Eleitor obrigatório") senao escreva ("Eleitor facultativo") fimse fimse fimalgoritmo Calculando a média de cinco números digitados (no teclado) pelo usuário; a repetição é feita com uma estrutura com contador; nesse caso, o contador serve “apenas para contagem das repetições desse laço” algoritmo "media" var cont,num,soma: inteiro media: real inicio para cont de 1 ate 5 passo 1 faca escreval ("Entre com um número: ") leia (num) soma <- soma+num escreval (soma) fimpara media <- soma/5 escreva ("A média é ",media) fimalgoritmo Criando a tabuada de um número digitado, utilizando o contador como multiplicador da tabuada algoritmo "tabuada" var cont,num,prod: inteiro inicio escreva ("Entre com número: ") leia (num) para cont de 1 ate 10 passo 1 faca prod <- cont*num escreval (cont,"x",num,"=",prod) fimpara fimalgoritmo Identificar se um número é primo; para cada divisor encontrado, será escrito “Não primo!” e o divisor ao lado algoritmo "primo" var cont,num: inteiro inicio escreval ("Entre com um número: ") leia (num) para cont de 2 ate (num-1) passo 1 faca se (num%cont=0) entao escreval (“Não primo!”,cont) fimse fimpara fimalgoritmo Identificar se um número é primo; utilizado um flag (sinal, bandeira) para, somente no final, escrever se o número é ou não primo algoritmo "primo" var cont,num,flag: inteiro inicio escreval ("Entre com um número: ") leia (num) para cont de 2 ate (num-1) passo 1 faca se (num%cont=0) entao flag <- 1 escreval (cont," é dividor") fimse fimpara se (flag=0) entao escreval ("Primo!") senao escreval ("Não primo!”) fimse fimalgoritmo Identificar se um número é primo; agora utilizado o flag (sinal, bandeira) para contar quantos divisores tem o número não primo algoritmo "primo" var cont,num,flag: inteiro inicio escreval ("Entre com um número: ") leia (num) para cont de 2 ate (num-1) passo 1 faca se (num%cont=0) entao flag <- flag+1 escreval (cont," é dividor") fimse fimpara se (flag=0) entao escreval ("Primo!") senao escreval ("Não primo e tem ",flag," divisores") fimse fimalgoritmo Criando um somatório de 1 até o número digitado pelo usuário algoritmo "somatorio" var cont,n,soma: inteiro inicio escreval ("Escreva um número: ") leia (n) para cont de 1 ate n passo 1 faca soma <- soma+cont fimpara escreval ("O somatório é: ",soma) fimalgoritmo Calcular o fatorial de um número; repare que o acúmulo do produto tem que ser feito partindo do valor “1” algoritmo "fatorial" var cont,n,fat: inteiro inicio fat <- 1 escreval ("Escreva um número: ") leia (n) para cont de 1 ate n passo 1 faca fat <- fat*cont fimpara escreval ("O fatorial é: ",fat) fimalgoritmo Somar todos os números inteiros que o usuário digitar, até que o valor “0” seja digitado algoritmo "soma" var num,soma: inteiro inicio num <- 1 enquanto (num<>0) faca escreval ("Entre com um número: ") leia (num) soma <- soma+num fimenquanto escreva ("A soma é ",soma) fimalgoritmo Somar todos os números inteiros que o usuário digitar, até que o valor “0” seja digitado, porém, separando a soma dos pares da soma dos ímpares algoritmo "soma" var num,somap,somai: inteiro inicio num <- 1 enquanto (num<>0) faca escreval ("Entre com um número: ") leia (num) se (num%2=0) entao somap <- somap+num senao somai <- somai+num fimse fimenquanto escreval ("A soma dos pares é ",somap) escreval ("A soma dos ímpares é ",somai) fimalgoritmo Mesmo problema anterior, porém, mostrando para o usuário quantos números pares e ímpares foram digitados; repare que nesse caso o “0” é contado como número par algoritmo "soma" var num,somap,somai,contp,conti: inteiro inicio num <- 1 enquanto (num<>0) faca escreval ("Entre com um número: ") leia (num) se (num%2=0) entao somap <- somap+num contp <- contp+1 senao somai <- somai+num conti <- conti+1 fimse fimenquanto escreval ("A soma dos ",contp," pares é ",somap) escreval ("A soma dos ",conti," ímpares é ",somai) fimalgoritmo Montar um algoritmo que receba pelo teclado os coeficientes de uma equação do 2º grau (a,b,c), calcule delta e: mostre “Não existem raízes reais”, caso delta<0 ou calcule e mostre as raízes da equação, caso delta>=0 algoritmo "raizes" var a,b,c,x1,x2,delta: real inicio escreval ("Entre com os coeficientes a,b,c, respectivamente: ") leia (a,b,c) delta <- (b*b)-(4*a*c) escreval ("Delta = ",delta) se (delta<0) entao escreval ("Não existem raízes reais") senao escreval ("Existem raízes reais") x1 <- ((-b)+delta^(1/2))/(2*a) x2 <- ((-b)-delta^(1/2))/(2*a) escreval ("As raízes são ",x1," e ",x2) fimse fimalgoritmo 2ª ETAPA) Python https://www.onlinegdb.com/online_python_compiler https://repl.it/languages/python3 12/03/2020 a=5 b=3.7 c="luiz" print (a,type(a)) print (b,type(b)) print (c,type(c)) parc1=input("Entre com parcela1:") parc2=input("Entre com parcela2:") soma=parc1+parc2 print ("A soma é ",soma) parc1=int(input("Entre com parcela1:")) parc2=int(input("Entre com parcela2:")) soma=parc1+parc2 print ("A soma é ",soma) a=float(input("Entre com A:")) b=float(input("Entre com B:")) c=float(input("Entre com C:")) x=(a*b)/(c+2) print ("O resultado é ",x) av1=float(input("Entre com AV1:")) av2=float(input("Entre com AV2:")) media=(av1+av2)/2 print ("A média é ",media) if (media>=6): print ("APROVADO") else: print ("AV3 ou REPROVADO") idade=int(input("Entre com a idade:")) if (idade<16): print ("Não eleitor") else: if (idade>=18)and(idade<=65): print ("Eleitor obrigatório") else: print ("Eleitorfacultativo") soma=0 for cont in range(5): print(cont) num=int(input("Entre com número:")) soma=soma+num print ("A soma é ",soma) soma=0 for cont in range(1,6): print(cont) num=int(input("Entre com número:")) soma=soma+num print ("A soma é ",soma) soma=0 for cont in range(1,6,2): 1,3,5 print(cont) num=int(input("Entre com número:")) soma=soma+num print ("A soma é ",soma) 26/03/2020 Soma dos números, até que seja digitado “0” soma=0 num=1 while (num!=0): num=int(input("Entre com um número: ")) soma=soma+num print("A soma é ",soma) Tabuada 1ª opção) Utilizando for com range num = int(input("Digite o número para tabuada: ")) for cont in range(1,11): print(num,"x",cont,"=",num*cont) 2ª opção) Utilizando while num = int(input("Digite o número para tabuada: ")) cont = 1 while (cont<=10): print(num,"x",cont,"=",num*cont) cont = cont+1 Exercícios propostos: Somatório de A até B soma=0 a=int(input("Entre com o valor de A:")) b=int(input("Entre com o valor de B:")) for cont in range(a,b+1): soma=soma+cont print ("A soma é ",soma) Identificar número primo num=int(input("Entre com um número:")) for cont in range(2,num): print(cont) if (num%cont==0): print("Não primo!",cont) OTIMIZAR PARA DISCUTIR NA PRÓXIMA AULA (02/04) Progressão Aritmética Digitados o primeiro termo (T1), a razão (R) e a quantidade de termos (QT), o problema imprimi na tela a PA, com os números dispostos lado a lado Progressão Aritmética (PA) T1=2 => PRIMEIRO TERMO R=3 => RAZÃO QT=5 => QTD TERMOS RESULTADO NA TELA => 2,5,8,11,14 T1=3 => PRIMEIRO TERMO R=4 => RAZÃO QT=3 => QTD TERMOS RESULTADO NA TELA => 3,7,11 ELABORAR SOLUÇÃO PARA DISCUTIR NA PRÓXIMA AULA (02/04) 02/04/2020 OTIMIZAR PARA DISCUTIR NA PRÓXIMA AULA (02/04) num=int(input("Entre com um número:")) if (num%2==0)and(num!=2): print ("Esse número não é primo!") else: ult=num//2 for cont in range(2,ult+1): print(cont) if (num%cont==0): print("Não primo!",cont) PROGRESSÃO ARITMÉTICA Primeira solução t1=int(input("Entre com o primeiro termo:")) r=int(input("Entre com a razão:")) qt=int(input("Entre com a qtd de termos:")) for cont in range(1,qt+1): print(t1) t1=t1+r Ajustando a formatação de saída: t1=int(input("Entre com o primeiro termo: \n")) r=int(input("Entre com a razão: \n")) qt=int(input("Entre com a qtd de termos: \n")) print("\nA progressão é a seguinte:") for cont in range(1,qt+1): print(t1) t1=t1+r Outra solução t1=int(input("Entre com o primeiro termo: \n")) r=int(input("Entre com a razão: \n")) qt=int(input("Entre com a qtd de termos: \n")) print("\nA progressão é a seguinte:") ult=t1+(qt-1)*r for cont in range(t1,ult+1,r): print(cont) PROBLEMAS CONTEXTUALIZADOS 1)Um engenheiro mecânico construiu um protótipo de motor e precisa acompanhar a medição de temperatura em 4 sensores presos ao bloco (do motor), com o objetivo de decidir qual material será utilizado na fabricação da peça na linha de montagem de veículos. Pede-se, então, elaborar um programa em Python que receba a temperatura medida em cada sensor (°C) e apresente como resultado a temperatura média entre todos os sensores. Se esse valor médio for igual ou superior a 150°C deve aparecer na tela a mensagem “FABRICAR BLOCO EM ALUMÍNIO”, caso contrário “FABRICAR MOTOR EM OUTRA LIGA METÁLICA”. Obs.: Utilize as estruturas de repetição (entrada de valores) e decisão. soma=0.0 for cont in range(4): t=float(input("Entre com a temperatura: ")) soma=soma+t media=soma/4 print(media) if (media>=150): print ("FABRICAR BLOCO EM ALUMÍNIO") else: print ("FABRICAR MOTOR EM OUTRA LIGA METÁLICA") 2)Um engenheiro civil está construindo uma ponte e precisa do seu auxílio. Faça um programa em Python que leia a altura de um conjunto de tirantes dessa ponte e no final informe: · Quantidade de tirantes com mais de 2,50 m; · A média das alturas de todos os tirantes do conjunto. Sabe-se que o programa deve parar e exibir os resultados quando for digitado o valor “0” (zero) para a altura do tirante. Portanto, o número de tirantes não é conhecido. #t => medida de cada tirante #somat => soma acumulada das medidas #mediat => média das medidas #contg => contador total/geral de tirantes #contm => contador tirantes maiores que 2.5m (if) somat=0.0 contg=0 contm=0 t=1 while (t!=0): t=float(input("Digite a tamanho do tirante: ")) somat=somat+t contg=contg+1 if (t>2.5): contm=contm+1 #somat subtraída do "zero" que foi contado mediat=somat/(contg-1) print ("A média é ",mediat) print ("A quantidade de tirantes maiores que 2.5m é ",contm) 09/04/2020 Resolvendo o problema deixado na aula passada Apresentando a estrutura lista a="luiz" b=5.6 c=100 d=[] print(type(a)) print(type(b)) print(type(c)) print(type(d)) Criando uma lista vazia => outra lista com a string “luiz” (elemento) repetida quatro vezes => trocando as elementos dessa lista d=[] print(d) e=["luiz"]*4 print(e) e[1]="estácio" e[3]="aluno" print(e) e[0]=100 e[2]=35.7 print(e) Criando uma lista com cinco elementos “0.0” (float), em seguida entrando pelo teclado com cinco valores para substituição dos cinco elementos e calculando a média t=[0.0]*5 soma=0.0 for cont in range(5): t[cont]=float(input("Temperatura?")) soma=soma+t[cont] media=soma/5 print(media) print(t) Inicialmente, igual ao anterior, mas adicionada a contagem de temperaturas (elementos da lista) maiores que a média calculada t=[0.0]*5 soma=0.0 am=0 for cont in range(5): t[cont]=float(input("Temperatura?")) soma=soma+t[cont] media=soma/5 print(media) print(t) for cont in range(5): if t[cont]>=media: am=am+1 print("Valores de temperatura acima da média ",am) 16/04/2020 Explorando as listas Refazendo um exercício com listas para fixar conceitos; Reparem que a lista permite armazenar todos os valores digitados e compará-los no final à media calculada; No final verifica-se o tamanho da lista #criando uma lista com cinco elementos float lista=[0.0]*5 print(lista) soma=0.0 x=0 #preenchendo a lista com valores for i in range(5): lista[i]=float(input("Temperatura?")) soma=soma+lista[i] media=soma/5 print(media) print(lista) #varrendo a lista já preenchida em busca de valores >= media for i in range(5): if (lista[i]>=media): x=x+1 print("Valor maior que a média: ",lista[i]) print ("Existem ",x," elementos maiores ou iguais a media") print (len(lista)) Criando uma lista vazia, em seguida “povoando” com 4 elementos “0.0”, obtendo e imprimindo largura (tamanho) da lista d=[] print(d) d=[0.0]*4 print(d) print(len(d)) Lembram-se do problema dos tirantes, feito na aula passada? Agora vamos criar uma lista com a altura de todos os tirantes (entrada até digitar “0”) e obter a quantidade de tirantes digitados (tamanho da lista). O número de tirantes não é conhecido de início. O método “append” adiciona novos elementos numa lista d=[] t=float(input("Altura do tirante: ")) while (t!=0): d.append(t) t = float(input("Altura do tirante: ")) print(d) print("Foram digitados ",len(d)," valores") Exercícios: 1) Ainda no problema dos tirantes, criar uma lista de tamanho definido pelo usuário (o usuário no início digita a quantidade de tirantes), calculando a média e obtendo a quantidade de tirantes contidos na lista que estejam acima da média 2) Criar uma lista de tamanho definido pelo usuário, entrando com valores inteiros nessa lista e determinando quantos números pares existem na lista x=0 #criando a lista de tamanho q q=int(input("Quantos elementos tem a lista?")) lista=[0]*q print(lista) #preenchendo a lista com q elementos for i in range(q): lista[i]=int(input("Entre com um número: ")) print("A lista é ",lista) #varrendo a lista ou percorrendo todos os elementos for i in range(q): #testando se o resto da divisão por 2 do elemento da lista é zero if (lista[i]%2==0): x=x+1 print("A lista tem ",x," números pares") 30/04/2020 Operações com listas Ao invés de criar uma lista de tamanho definido, cria-se uma lista vazia e vão sendo adicionados novos elementos (append) conforme a necessidade.No final, imprime-se a lista, a largura da lista (quantidade de elementos), os valores máximo e mínimo da lista, além da lista ordenada em ordem crescente e decrescente soma=0 lista=[] num=int(input("Entre com o número: ")) while (num!=0): lista.append(num) soma=soma+num num=int(input("Entre com o número: ")) print("A soma dos elementos é ",soma) print("A lista armazenada é ",lista) print("A lista tem ",len(lista)," elementos") print(max(lista)) print(min(lista)) lista.sort() print(lista) lista.reverse() print(lista) Exercício com listas Criar uma lista de tamanho definido pelo usuário, entrar com nomes (strings, “input puro”) nessa lista e apresentar os nomes em ordem alfabética, preservando a ordem de entrada em outra lista q=int(input("Quantos nomes tem a lista?")) lista=["nome"]*q print(lista) for i in range(q): lista[i]=input("Entre com um nome: ") print("A lista é ",lista) print(max(lista)) print(min(lista)) copia=lista print(copia) lista.sort() print(lista) Você pode copiar uma lista ou espelhar permanentemente o conteúdo de duas listas q=int(input("Quantos nomes tem na lista? ")) lista=["nome"]*q print(lista) for i in range(q): lista[i]=input("Entre com um nome: ") print("A lista é ",lista) #listabkp=lista <= isso é o espelhamento, as listas ficam vinculadas #abaixo uma cópia, sem vínculo listabkp=["nome"]*q for i in range(q): listabkp[i]=lista[i] print(max(lista)) print(min(lista)) lista.sort() print("A lista é ",lista) lista.reverse() print("A lista é ",lista) print(listabkp) Modularização Além da função “main” (principal), foi criada a função “somar” que irá realizar a soma de dois números. Parâmetros (argumentos) passados na chamada da função, com retorno de valor def main(): num1=int(input("Entre com número: ")) num2=int(input("Entre outro número: ")) print(somar(num1,num2)) def somar(parc1,parc2): soma=parc1+parc2 return soma main() 07/05/2020 Tarefa_1 (até 13/05): Dúvidas · Quatro questões (discursivas ou desenvolvimento de código) · O matemático Leonardo Pisa, conhecido como Fibonacci, propôs no século XIII, a sequência numérica (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...). A lei de formação é simples: cada elemento, a partir do terceiro, é obtido somando-se os dois anteriores. Desenvolva um programa em Python que imprima na tela a soma dos n termos dessa sequência, onde n deve ser informado (digitado) pelo usuário através do teclado (n>=3). Por exemplo, para n=6 a saída impressa na tela deverá ser 20 (resultado da soma 1+1+2+3+5+8) 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... T1 = 1 T2 = 1 Tseguinte = T1 + T2 Repetição até n T1 = T2 T2 = Tseguinte Tseguinte = T1 + T2 imprimir Tseguinte [solução 1] soma=soma+Tseguinte [solução 2] Fim da repetição Imprimir soma [solução 2] Imprimir Tseguinte [solução 3] Tarefa_2 (no dia 13/05) · Desenvolver dois programas (código fonte) em Python · Matéria: até a aula do dia 02/04 (lista e modularização: AV2) · Resumo/revisão dos comandos: VisuAlg (pseudolinguagem) Python (linguagem comercial) Observações :inteiro :real :caracter int float str Tipos de variáveis (tipagem dinâmica; basta atribuir valor ou converter a entrada do input) escreva ( print (“texto”,variável) Saída de dados na tela leia ( int(input (“prompt”)) Entrada de dados pelo teclado (o padrão de leitura é string, por isso, devemos indicar a conversão do tipo númerico) <- = Atribuição = == Relação/Comparação (igual) <> != Relação/Comparação (diferente) fimse, fimpara, fimenquanto : <ENTER> cria bloco com recuo Criação de bloco de comandos se...entao...senao if (condição): bloco para condição V else: bloco para condição F Decisão baseada em condição/comparação para...de...ate... passo...faca for variável in range(_,_,_): bloco de comandos Repetição com contador “embutido” em um intervalo enquanto...faca while (condição): bloco de comandos Repetição com teste (condição) no ínicio Criando intervalos range(_,_,_) exmplos: range(5) => 0,1,2,3,4 range(1,6) => 1,2,3,4,5 range(1,6,2) => 1,3,5 · Exercício 1: criar um programa Python que realize o somatório dos números de um intervalo definido pelo usuário. Identifique também se o valor do somatório é PAR ou ÍMPAR Exemplo: Entradas: início=3 e fim=8 Resultado: soma= 3+4+5+6+7+8 = 33 soma=0 inicio=int(input("Entre com o início do intervalo:")) fim=int(input("Entre com o fim do intervalo:")) for num in range(inicio,fim+1): soma=soma+num print("A soma é ",soma) if (soma%2==0): print("A soma é PAR") else: print("A soma é ÍMPAR") · Exercício 2: Faça um programa em Python que calcule e apresente o novo salário (SAL_NOVO) de um funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso seu salário atual (SAL) seja menor que R$ 500. Se o salário for maior ou igual a R$ 500, mas menor ou igual a R$ 1000, o reajuste deve ser de 10%. Caso o salário seja maior que R$ 1000, o reajuste deve ser de 5%. O salário atual será digitado pelo usuário. SAL=float(input("Entre com o salário atual: ")) if (SAL<500): NOVO_SAL=SAL+(15/100*SAL) if (SAL>1000): NOVO_SAL=SAL+(5/100*SAL) if ((SAL>=500)and(SAL<=1000)): NOVO_SAL=SAL+(10/100*SAL) print ("O novo salário é R$ ",NOVO_SAL) · Exercício 3: Escrever um programa que leia três valores inteiros e verifique se eles podem ser os lados de um triângulo. Se forem, informar qual o tipo de triângulo que eles formam: equilátero, isósceles ou escaleno. Propriedade: o comprimento de cada lado de um triângulo é menor do que a soma dos comprimentos dos outros dois lados. Triângulo Equilátero: possui os comprimentos dos três lados iguais; Triângulo Isósceles: possui os comprimentos de dois lados iguais. Portanto, todo triângulo equilátero é também isósceles; Triângulo Escaleno: possui os comprimentos de seus três lados diferentes. 14/05/20 AV1 = tarefa_2 21/05/20 Correção e vista da AV1 soma=0.0 q=int(input("Quantidade de sensores: ")) for cont in range(1,q): t=float(input("Temperatura °K: ")) soma=soma+t print("A média em °C ",soma/q-273) soma=0.0 q=int(input("Quantidade de sensores: ")) lista=[0.0]*q for i in range(q): t=float(input("Temperatura °K: ")) lista[i]=t soma=soma+t print("A média em °C ",soma/q-273) print(lista) soma=0.0 lista=[] q=int(input("Quantidade de sensores: ")) for i in range(q): t=float(input("Temperatura °K: ")) lista.append(t) soma=soma+t print("A média em °C ",soma/q-273) print(lista) lista1=[] for i in range(5): num=int(input("Entre com um número: ")) lista1.append(num) print(lista1) print (max(lista1)) print (min(lista1)) lista1.pop(2) print(lista1) lista1.sort() print(lista1) lista1.reverse() print(lista1) print() 28/05/2020 Explorando as listas (O resumo abaixo está disponível em https://www.devmedia.com.br/como-trabalhar-com-listas-em-python/37460) Operadores e funções das listas Comprimento de uma lista O comprimento de uma lista, ou o número de itens que a compõem, pode ser obtido a partir da função len(). Concatenação e multiplicação Também é possível concatenar listas por meio do operador de adição + e multiplicá-las por um inteiro, o que gerará várias cópias dos seus itens. lista1=[] lista2=[0]*4 lista3=[10,20,"luiz"]*2 lista4=lista2+lista3 print(lista1) print(lista2) print(lista3) print(lista4) Valores mínimos, máximos e soma O Python oferece ainda as funções min(), max() e sum(), através das quais é possível encontrar, respectivamente, o menor valor, o maior valor ou ainda realizar a soma de todos os elementos da lista. lista1=[] for i in range(5): num=int(input("Entre com um número: ")) lista1.append(num) print(lista1) print ("O maior valor é ", max(lista1)) print ("O menor valor é ", min(lista1)) print ("A soma é ", sum(lista1)) print ("A média é ",sum(lista1)/len(lista1)) Verificando a existência de itens em uma lista Em alguns casos é preciso verificar se um determinado valor está contido em uma lista. Para isso, em Python utilizamos o operador in, que indicará True se objeto pertencer ao conjunto,e False caso contrário. lista1=[] for i in range(5): num=int(input("Entre com um número: ")) lista1.append(num) print(lista1) print ("O maior valor é ", max(lista1)) print ("O menor valor é ", min(lista1)) print ("A soma é ", sum(lista1)) print ("A média é ",sum(lista1)/len(lista1)) for cont in range(5): num=int(input("Entre com um número: ")) if (num in lista1): print("Este número está na lista") else: print("Este número não está na lista") Métodos das listas Os métodos pertencentes ao tipo lista nos permitem incluir ou remover elementos, bem como classificar as coleções. O primeiro método a ser analisado é o append(), que tem por objetivo adicionar um novo elemento no final da lista. Caso desejemos fazer essa inserção em uma posição específica, podemos utilizar o método insert() que, além do elemento a ser inserido, recebe também o índice que ele deve assumir. Outro método importante é o pop(), que remove o último item da lista e o retorna como resultado da operação. Caso seja necessário remover um índice específico, basta informá-lo como argumento. O método remove(item) remove a primeira ocorrência do item passado como parâmetro. Outros métodos muito importantes ao trabalhar com listas são o sort(), que ordena a lista, e o reverse(), que inverte as posições dos itens. No caso da ordenação, ela será feita em ordem crescente para números e em ordem lexicográfica para strings, ou seja, na forma como são ordenadas no dicionário. O método count(), que retorna o número de ocorrências de determinado objeto, passado como parâmetro, em uma lista. Elabore um programa em Python (código fonte) que receba do usuário cinco medidas em centímetros, transforme-as em polegadas e armazene os resultados em uma lista. Terminada a entrada de dados, os valores armazenados devem ser apresentados (imprimir lista) e também a quantidade de valores acima da média (aritmética). Obs.: cent = pol*2.54 Modularização def pertence (valor): if (valor in lista1): print("Este número está na lista") else: print("Este número não está na lista") lista1=[] for i in range(5): num=int(input("Entre com um número: ")) lista1.append(num) print(lista1) print ("O maior valor é ", max(lista1)) print ("O menor valor é ", min(lista1)) print ("A soma é ", sum(lista1)) print ("A média é ",sum(lista1)/len(lista1)) for cont in range(5): num=int(input("Entre com um número: ")) pertence(num) print("VOLTEI !") Vetores e Matrizes import numpy matriz = numpy.array([[4,5,1],[2,3,6],[9,7,8]]) print(matriz) num=int(input("Número?")) matriz[2][2]=num print(matriz) import numpy as np matriz = np.array([[4,5,1],[2,3,6],[9,7,8]]) for x in range(3): for y in range(3): matriz[x][y] = matriz[x][y]+1 print(matriz) a=int(input("Entre com um número: ")) x=int(input("Entre com linha: ")) y=int(input("Entre com coluna: ")) matriz[x][y]=a print(matriz) import numpy as np matriz = np.array([[0,0],[0,0]]) print(matriz) for x in range(2): for y in range(2): num=int(input("Entre com um número")) matriz[x][y]=num print(matriz) import numpy as np matriz = np.array([[4,5,1],[2,3,6],[9,7,8]]) for x in range(3): for y in range(3): matriz[x][y] = matriz[x][y] + matriz[y][x] print(matriz) Elabore um programa em Python (código fonte) que receba do usuário cinco medidas em centímetros, transforme-as em polegadas e armazene os resultados em uma lista. Terminada a entrada de dados, os valores armazenados devem ser apresentados (imprimir lista) e também a quantidade de valores acima da média (aritmética). Obs.: cent = pol*2.54 lista1=[] for i in range(5): cent=float(input("Entre com uma medida em cm: ")) pol=cent/2.54 lista1.append(pol) print(lista1) media=sum(lista1)/5 print ("A média é ",media) cont=0 for i in range(5): if (lista1[i]>media): cont=cont+1 print("Existem ",cont," elementos acima da média")
Compartilhar