Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1 Operações para listas em Scratch • Adiciona um item à lista (aumenta o tamanho da lista • Insere um item em uma posição determinada da lista (aumenta o tamanho da lista) • Substitui um item de uma determinada posição por um novo valor 2 Operações para listas em Scratch • Apaga um item de determinada posição da lista (leva à redução do tamanho da lista) • Recupera o conteúdo de determinada posição da lista • Retorna o tamanho da lista • Verifica se a lista contém determinado elemento 3 Exemplo: Pesquisa • Determinar se um número está presente ou não em uma lista – Passos • Definir o estado inicial da lista • Inserir números na lista • Solicitar valor a ser procurado na lista • Determinar se o valor solicitado está presente ou não – Dados • Que variáveis são necessárias para resolver este 4 problema? Exemplo: Pesquisa em uma Lista 5 Pesquisa na Lista 6 Pesquisa na Lista 1. Definir o estado inicial da lista 7 Pesquisa na Lista 2. Inserir números na lista 8 Pesquisa na Lista 3. Solicitar valor a ser procurado na lista 9 Pesquisa na Lista 4. Determinar se o valor solicitado está presente ou não 10 Exemplo • Determinar se uma lista está ordenada ou não – Passos • Definir o estado inicial da lista • Inserir números na lista (por teclado) • Determinar se está em ordem ou não – Dados • Que variáveis são necessárias para resolver o problema? Pense sobre o uso de um contador para indexar a lista e uma variável para registrar se cada comparação satisfaz o critério de ordenação 11 12 Exemplo: Lista Ordenada 1. Definir o estado inicial da lista 13 Exemplo: Lista Ordenada 2. Inserir números na lista (por teclado) 14 Exemplo: Lista Ordenada 3. Determinar se está em ordem ou não: – inicializar variáveis: contador para indexar a lista e uma variável para registrar se cada comparação satisfaz o critério de ordenação 15 Exemplo: Lista Ordenada 4. Determinar se está em ordem ou não: 16 Exemplo: Lista Ordenada 17 Exercício 1. Escreva um script em Scratch para fazer o seguinte: – Ler o valor da nota final de 10 estudantes de uma disciplina – Calcular a média das notas dos estudantes de uma disciplina – Determinar a quantidade de estudantes que tiveram nota superior à média calculada – Calcular também a porcentagem de estudantes com nota abaixo da média. Utilize uma lista para guardar as notas recebidas. 18 – Informar todos os valores na tela Exercício 2. Dada uma lista de números, faça um algoritmo para ordená-la (ordem crescente). – Sugestão: ler os números do teclado, enquanto o usuário não digitar “fim” 3. Faça um algoritmo que leia 10 números reais e armazene-os em uma lista. Em seguida, o programa deve armazenar os mesmos números em uma outra lista, na ordem inversa. 19 Exercício 4. Faça um algoritmo que leia 20 números inteiros e armazene-os numa lista. Em seguida, armazene os números pares em uma lista PAR e os números ímpares na lista IMPAR. 20 Exercício 5. Utilizando listas faça um programa que faça 5 perguntas para uma pessoa sobre um crime. As perguntas são: – – – – – "Telefonou para a vítima?" "Esteve no local do crime?" "Mora perto da vítima?" "Devia para a vítima?" "Já trabalhou com a vítima?" O programa deve no final emitir uma classificação sobre a participação da pessoa no crime. Se a pessoa responder “sim” a 2 questões ela deve ser classificada como "Suspeita", entre 3 e 4 como "Cúmplice" e 5 como "Assassino". Caso contrário, ela será classificada como "Inocente" 21