listas e algoritmos (em scratch) introdução à programação bsi – deinfo - ufrpe 1
TRANSCRIPT
![Page 1: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/1.jpg)
Listas e algoritmos (em Scratch)
Introdução à ProgramaçãoBSI – DEINFO - UFRPE
1
![Page 2: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/2.jpg)
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
![Page 3: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/3.jpg)
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
![Page 4: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/4.jpg)
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
![Page 5: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/5.jpg)
Exemplo: Pesquisa em uma Lista
5
![Page 6: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/6.jpg)
Pesquisa na Lista
6
![Page 7: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/7.jpg)
Pesquisa na Lista
1. Definir o estado inicial da lista
7
![Page 8: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/8.jpg)
Pesquisa na Lista
2. Inserir números na lista
8
![Page 9: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/9.jpg)
Pesquisa na Lista
3. Solicitar valor a ser procurado na lista
9
![Page 10: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/10.jpg)
Pesquisa na Lista4. Determinar se o valor solicitado está presente ou não
10
![Page 11: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/11.jpg)
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
![Page 12: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/12.jpg)
12
![Page 13: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/13.jpg)
Exemplo: Lista Ordenada
1. Definir o estado inicial da lista
13
![Page 14: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/14.jpg)
Exemplo: Lista Ordenada
2. Inserir números na lista (por teclado)
14
![Page 15: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/15.jpg)
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
![Page 16: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/16.jpg)
Exemplo: Lista Ordenada
4. Determinar se está em ordem ou não:
16
![Page 17: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/17.jpg)
Exemplo: Lista Ordenada
17
![Page 18: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/18.jpg)
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
![Page 19: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/19.jpg)
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
![Page 20: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/20.jpg)
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
![Page 21: Listas e algoritmos (em Scratch) Introdução à Programação BSI – DEINFO - UFRPE 1](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc12a497959413d8ce7b6/html5/thumbnails/21.jpg)
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