Post on 18-Apr-2015
Listas e algoritmos (em Scratch)
Introdução à ProgramaçãoBSI – 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
problema?
4
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 Lista4. 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ício1. 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.
– Informar todos os valores na tela
18
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