SlideShare uma empresa Scribd logo
1 de 28
Objetivos
• Visualizar a aplicação dos conceitos
dos capítulos anteriores.
• Projetar sistemas simples visando
sua implementação computacional.
• Vislumbrar outras aplicações.
Para começar...
Vamos relembrar e dar exemplos de
uso:
 Expressões lógicas e aritméticas.
 Tipos de dados.
 Estrutura sequencial.
 Estrutura condicional.
 Estrutura de repetição.
 Vetores.
 Strings.
 Matrizes.
 Procedimentos.
 Funções.
 Registros.
 Ponteiros.
 Arquivos.
Problema 1
Escreva um programa que calcule o IMC (Índice de Massa
Corporal): IMC = peso / (altura)2
Problema 1 - Comentários
 É importante imprimir algo do tipo: “Qual a altura do paciente
(em metros)?” e “Qual o peso do paciente (em quilos)?”
 O sistema pode realizar o cálculo apenas uma vez e ser
encerrado, ou pode ficar em um loop, lendo alturas e pesos e
informando o IMC.
 Seria possível aumentar as funcionalidades do programa. O
sistema poderia ainda perguntar sobre a idade do paciente e dar
dicas nutricionais e de dietas, após consultados especialistas.
Problema 2
Escreva um programa que calcule o BAI, que é uma
aproximação da percentagem de gordura corporal.
BAI = [ quadril / (altura * altura1/2 )] - 18
BAI – Body Adiposity Index, ou Índice de Adiposidade
Corporal
Problema 2 - Comentários
Os comentários do problema 1 continuam valendo. Além disso:
 Você pode pesquisar percentuais de gordura adequados para cada
faixa etária e sexo e também imprimir essas informações ao
usuário.
 Nos dois sistemas, experimente digitar altura igual a zero. O que
ocorreu?
 Outras formas de tornar o sistema mais robusto seria ler os dados
e avisar o usuário que ele digitou dados inválidos.
Problema 3
Implemente um programa que leia uma data
composta por três números inteiros (dia, mês e ano).
O programa deve imprimir a data no seguinte
formato: 12 de março de 2012.
Problema 3 - Comentários
 Você pensou em realizar testes de consistência de
dados como na aplicação anterior?
 No próximo enunciado você vai encontrar algumas
dicas para isso.
Problema 4
Escreva uma função que verifique se uma data é
válida ou não.
Problema 4 - Comentários
 Observar quais meses possuem 30 ou 31 dias.
 Verificar se o ano é bissexto. Todos os anos divisíveis por 400 são
bissextos. Para os demais, se forem divisíveis por 100, não são
bissextos. Além disso, só são bissextos os anos divisíveis por 4.
 Você pode inserir novos testes de consistência de dados,
dependendo da aplicação onde a função será usada.
 Por exemplo, se a entrada de data se referir à data de nascimento
do usuário, ele não poderia ter nascido no futuro, não é mesmo?
Problema 5
Implemente um programa que leia o valor atual do salário
e imprima o valor do salário após o reajuste, que deve
obedecer à seguinte regra:
Problema 5 - Comentários
 Você já reparou nos dados que compõem um hollerith,
além do valor do salário bruto?
 Há descontos como INSS e imposto de renda, além de
acréscimos como salário família, por exemplo.
 Pesquise como esses valores são calculados e imprima
um hollerith na tela.
Problema 6
Implemente o jogo pedra-papel-tesoura.
O jogo deve imprimir vitória, empate ou derrota,
conforme a opção que o jogador escolher e a opção
sorteada aleatoriamente para o computador.
Observação: pedra ganha de tesoura, que ganha de
papel, que ganha de pedra.
Problema 6 - Comentários
 Para implementar esse jogo, você vai precisar de uma
função de geração de números pseudoaleatórios
(“randômicos”).
 Pesquise como usar esse tipo de função na linguagem de
programação de sua preferência.
 Após gerar um número randômico para cada jogada, use a
função do tipo mod 3, que é o resto da divisão por três, para
escolher entre pedra, tesoura ou papel.
Problema 7
Faça um programa que leia 10 nomes de pessoas e
suas respectivas alturas. Calcule a média das alturas e
encontre também a maior e menor altura.
Opcional: imprima os nomes das pessoas com altura
acima da média.
Problema 7 - Comentários
 Você precisa decidir qual estrutura de dados irá utilizar para armazenar
os dados.
 É possível ler todos os dados e armazená-los na(s) estrutura(s) de
dados escolhida(s) para depois calcular a média e encontrar a maior e a
menor altura. É possível também obter esses valores enquanto os dados
são lidos, sem precisar passar novamente por todos os dados.
 Se você for implementar a funcionalidade opcional, será necessário
passar de novo pelos dados armazenados, pois antes de ler todos os
dados não será possível saber a média das alturas.
Problema 8
Suponha o campeonato brasileiro de futebol da série A com 20 times.
Os dois times com menor número de pontos serão rebaixados para a série
B.
Escreva um programa que receba o nome e o número de pontos dos
20 times e verifique quais os dois times com menor número de pontos.
O programa deve imprimir a mensagem: “rebaixados”, com os
nomes dos dois times rebaixados para a série B. Imprima também o nome
do time campeão. Considere que não há times com o mesmo número de
pontos.
Problema 8 - Comentários
 Você irá precisar de uma estratégia para armazenar os
dois times a serem rebaixados.
 Você pode armazenar outros dados sobre cada time,
como número de jogos, número de vitórias, gols a favor
e contra, etc. Assim, poderá implementar critérios de
desempate.
Problema 9
Uma pessoa viajando gostaria de visitar várias cidades. Calcule
quantos quilômetros ela terá que percorrer.
Problema 9 - Comentários
 Pense em um critério de parada para o programa
 No caso de trajeto de carro, as distâncias na matriz poderiam refletir as
estradas. Como nem todas as cidades são ligadas diretamente às outras,
muitas posições da matriz estariam vazias. Para evitar confusão, seria
uma boa prática preencher esses espaços (de estradas inexistentes) com
um valor que sinalizasse isso (ou seja, uma flag) como, por exemplo, o
valor -1.
 É possível incrementar esse programa para que encontre o menor
caminho entre duas cidades, como um GPS (Global Positioning
System).
Problema 10
Implementar um programa que leia os dados de seus
amigos (como nome, data de nascimento, telefone e e-mail).
O programa deverá imprimir em um arquivo o número de
amigos cadastrados e seus nomes.
Além disso, o programa deverá imprimir, junto aos
nomes, as datas de aniversário somente daqueles nascidos no
mês x, escolhido pelo usuário.
Problema 10 - Comentários
 Se na linguagem de programação escolhida por você
houver a opção de escrever em arquivos texto, use essa
opção e coloque a extensão “.txt” no arquivo.
 Assim você poderá visualizar os dados na maioria dos
programas de edição de textos.
Problema 11
Implemente um programa que manipule registros de alunos, onde
cada registro deve conter as seguintes informações: número de matrícula
(RA), nome do aluno, sexo, data de nascimento e as notas das 2 provas
bimestrais. Suponha que a classe tenha 20 alunos. O programa deverá:
 ler e armazenar as informações dos 20 alunos da classe;
 calcular a média das notas das provas de cada aluno;
 mostrar o nome dos alunos aprovados e reprovados (para ser aprovado
o aluno necessita de média igual ou maior que 5.0);
 mostrar os nomes dos alunos com a maior e menor média.
Problema 11 - Comentários
 Para não ter que digitar todos os dados todas as vezes que você
for usar esse programa, crie um arquivo e leia os registros dele
antes de iniciar o programa. Antes de finalizar, atualize as
informações.
 Você pode também escrever somente nos registros alterados e
acrescentar os novos registros no final do arquivo. O que fazer
com os registros apagados? Você pode inserir outros registros em
seus lugares, reorganizar todo o arquivo ou somente adicionar
um campo ao registro indicando se ele está ou não ativo.
Estudo de Caso
Os sistemas de recomendação usam as
informações de compras anteriores (além de consultas,
navegações ou informações de redes sociais) para sugerir
produtos similares ou das mesmas categorias, que
possam interessar aos clientes.
Sugerem também produtos que outros clientes com o
mesmo perfil costumam se interessar.
Estudo de Caso
A Netflix, fundada em 1997, ficou conhecida por enviar os filmes aos clientes
através dos correios. Depois, começou a alugar filmes por streaming de vídeo.
A Netflix propôs-se a pagar um prêmio de 1 milhão de dólares para quem
desenvolvesse um sistema muito eficiente de recomendação de filmes (para isso
propôs uma metodologia para avaliar a eficácia do sistema).
Em setembro de 2009, o prêmio foi entregue e seus resultados têm
influenciado o desenvolvimento de sistemas de recomendação até hoje, usando
informações como algumas das citadas anteriormente.
Estudo de Caso
Atualmente, a Netflix possui mais de 10 milhões de
clientes e expandiu-se para vários países, incluindo o Brasil.
A empresa é líder na área de aluguel de filmes via internet
nos Estados Unidos e, segundo pesquisa da empresa
Sandvine de 2011, a Netflix é a maior fonte de tráfego de
internet da América do Norte, correspondendo a quase 25%
do volume total.
Existem outras estruturas de dados, como as estruturas de dados
dinâmicas, que podem ser alocadas dinamicamente, isto é, em tempo de
execução..
Construções assim permitirão o desenvolvimento de aplicações mais
complexas e eficientes.
Precisaremos desenvolver técnicas de programação para melhor utilizá-las.
Mas isso tudo fica para uma próxima etapa!

Mais conteúdo relacionado

Mais de Os Fantasmas !

Mais de Os Fantasmas ! (20)

Resposta dos Exercícios para Fixar Capítulo 01 à Capítulo 04 Livro Algoritmos...
Resposta dos Exercícios para Fixar Capítulo 01 à Capítulo 04 Livro Algoritmos...Resposta dos Exercícios para Fixar Capítulo 01 à Capítulo 04 Livro Algoritmos...
Resposta dos Exercícios para Fixar Capítulo 01 à Capítulo 04 Livro Algoritmos...
 
Exercício proposto em Algoritmos do Cotidiano _ Capítulo 01 Livro Algoritmos ...
Exercício proposto em Algoritmos do Cotidiano _ Capítulo 01 Livro Algoritmos ...Exercício proposto em Algoritmos do Cotidiano _ Capítulo 01 Livro Algoritmos ...
Exercício proposto em Algoritmos do Cotidiano _ Capítulo 01 Livro Algoritmos ...
 
Livro Algoritmos e Programação de Computadores Autores JR., Dilermando
Livro Algoritmos e Programação de Computadores Autores JR., DilermandoLivro Algoritmos e Programação de Computadores Autores JR., Dilermando
Livro Algoritmos e Programação de Computadores Autores JR., Dilermando
 
Links Interessantes Livro Algoritmos e Programação de Computadores Autores JR...
Links Interessantes Livro Algoritmos e Programação de Computadores Autores JR...Links Interessantes Livro Algoritmos e Programação de Computadores Autores JR...
Links Interessantes Livro Algoritmos e Programação de Computadores Autores JR...
 
Cap15 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap15 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap15 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap15 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
 
Cap14 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap14 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap14 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap14 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
 
Cap13 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap13 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap13 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap13 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
 
Cap09 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap09 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap09 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap09 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
 
Cap08 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap08 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap08 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap08 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
 
Cap07 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap07 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap07 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap07 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
 
Cap06 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap06 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap06 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap06 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
 
Cap05 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap05 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap05 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap05 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
 
Cap04 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap04 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap04 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap04 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
 
Cap03 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap03 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap03 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap03 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
 
Cap02 - Respostas dos Exercícios Propostos Cap01 - Respostas dos Exercícios P...
Cap02 - Respostas dos Exercícios Propostos Cap01 - Respostas dos Exercícios P...Cap02 - Respostas dos Exercícios Propostos Cap01 - Respostas dos Exercícios P...
Cap02 - Respostas dos Exercícios Propostos Cap01 - Respostas dos Exercícios P...
 
Cap01 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap01 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap01 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap01 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
 
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Capítulo 13 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 13 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 13 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 13 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 

Último

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
RogrioGonalves41
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 

Último (20)

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxCópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 

Capítulo 16 Livro Algoritmos e Programação de Computadores Autores JR., Dilermando

  • 1. Objetivos • Visualizar a aplicação dos conceitos dos capítulos anteriores. • Projetar sistemas simples visando sua implementação computacional. • Vislumbrar outras aplicações.
  • 2. Para começar... Vamos relembrar e dar exemplos de uso:  Expressões lógicas e aritméticas.  Tipos de dados.  Estrutura sequencial.  Estrutura condicional.  Estrutura de repetição.  Vetores.  Strings.  Matrizes.  Procedimentos.  Funções.  Registros.  Ponteiros.  Arquivos.
  • 3. Problema 1 Escreva um programa que calcule o IMC (Índice de Massa Corporal): IMC = peso / (altura)2
  • 4. Problema 1 - Comentários  É importante imprimir algo do tipo: “Qual a altura do paciente (em metros)?” e “Qual o peso do paciente (em quilos)?”  O sistema pode realizar o cálculo apenas uma vez e ser encerrado, ou pode ficar em um loop, lendo alturas e pesos e informando o IMC.  Seria possível aumentar as funcionalidades do programa. O sistema poderia ainda perguntar sobre a idade do paciente e dar dicas nutricionais e de dietas, após consultados especialistas.
  • 5. Problema 2 Escreva um programa que calcule o BAI, que é uma aproximação da percentagem de gordura corporal. BAI = [ quadril / (altura * altura1/2 )] - 18 BAI – Body Adiposity Index, ou Índice de Adiposidade Corporal
  • 6. Problema 2 - Comentários Os comentários do problema 1 continuam valendo. Além disso:  Você pode pesquisar percentuais de gordura adequados para cada faixa etária e sexo e também imprimir essas informações ao usuário.  Nos dois sistemas, experimente digitar altura igual a zero. O que ocorreu?  Outras formas de tornar o sistema mais robusto seria ler os dados e avisar o usuário que ele digitou dados inválidos.
  • 7. Problema 3 Implemente um programa que leia uma data composta por três números inteiros (dia, mês e ano). O programa deve imprimir a data no seguinte formato: 12 de março de 2012.
  • 8. Problema 3 - Comentários  Você pensou em realizar testes de consistência de dados como na aplicação anterior?  No próximo enunciado você vai encontrar algumas dicas para isso.
  • 9. Problema 4 Escreva uma função que verifique se uma data é válida ou não.
  • 10. Problema 4 - Comentários  Observar quais meses possuem 30 ou 31 dias.  Verificar se o ano é bissexto. Todos os anos divisíveis por 400 são bissextos. Para os demais, se forem divisíveis por 100, não são bissextos. Além disso, só são bissextos os anos divisíveis por 4.  Você pode inserir novos testes de consistência de dados, dependendo da aplicação onde a função será usada.  Por exemplo, se a entrada de data se referir à data de nascimento do usuário, ele não poderia ter nascido no futuro, não é mesmo?
  • 11. Problema 5 Implemente um programa que leia o valor atual do salário e imprima o valor do salário após o reajuste, que deve obedecer à seguinte regra:
  • 12. Problema 5 - Comentários  Você já reparou nos dados que compõem um hollerith, além do valor do salário bruto?  Há descontos como INSS e imposto de renda, além de acréscimos como salário família, por exemplo.  Pesquise como esses valores são calculados e imprima um hollerith na tela.
  • 13. Problema 6 Implemente o jogo pedra-papel-tesoura. O jogo deve imprimir vitória, empate ou derrota, conforme a opção que o jogador escolher e a opção sorteada aleatoriamente para o computador. Observação: pedra ganha de tesoura, que ganha de papel, que ganha de pedra.
  • 14. Problema 6 - Comentários  Para implementar esse jogo, você vai precisar de uma função de geração de números pseudoaleatórios (“randômicos”).  Pesquise como usar esse tipo de função na linguagem de programação de sua preferência.  Após gerar um número randômico para cada jogada, use a função do tipo mod 3, que é o resto da divisão por três, para escolher entre pedra, tesoura ou papel.
  • 15. Problema 7 Faça um programa que leia 10 nomes de pessoas e suas respectivas alturas. Calcule a média das alturas e encontre também a maior e menor altura. Opcional: imprima os nomes das pessoas com altura acima da média.
  • 16. Problema 7 - Comentários  Você precisa decidir qual estrutura de dados irá utilizar para armazenar os dados.  É possível ler todos os dados e armazená-los na(s) estrutura(s) de dados escolhida(s) para depois calcular a média e encontrar a maior e a menor altura. É possível também obter esses valores enquanto os dados são lidos, sem precisar passar novamente por todos os dados.  Se você for implementar a funcionalidade opcional, será necessário passar de novo pelos dados armazenados, pois antes de ler todos os dados não será possível saber a média das alturas.
  • 17. Problema 8 Suponha o campeonato brasileiro de futebol da série A com 20 times. Os dois times com menor número de pontos serão rebaixados para a série B. Escreva um programa que receba o nome e o número de pontos dos 20 times e verifique quais os dois times com menor número de pontos. O programa deve imprimir a mensagem: “rebaixados”, com os nomes dos dois times rebaixados para a série B. Imprima também o nome do time campeão. Considere que não há times com o mesmo número de pontos.
  • 18. Problema 8 - Comentários  Você irá precisar de uma estratégia para armazenar os dois times a serem rebaixados.  Você pode armazenar outros dados sobre cada time, como número de jogos, número de vitórias, gols a favor e contra, etc. Assim, poderá implementar critérios de desempate.
  • 19. Problema 9 Uma pessoa viajando gostaria de visitar várias cidades. Calcule quantos quilômetros ela terá que percorrer.
  • 20. Problema 9 - Comentários  Pense em um critério de parada para o programa  No caso de trajeto de carro, as distâncias na matriz poderiam refletir as estradas. Como nem todas as cidades são ligadas diretamente às outras, muitas posições da matriz estariam vazias. Para evitar confusão, seria uma boa prática preencher esses espaços (de estradas inexistentes) com um valor que sinalizasse isso (ou seja, uma flag) como, por exemplo, o valor -1.  É possível incrementar esse programa para que encontre o menor caminho entre duas cidades, como um GPS (Global Positioning System).
  • 21. Problema 10 Implementar um programa que leia os dados de seus amigos (como nome, data de nascimento, telefone e e-mail). O programa deverá imprimir em um arquivo o número de amigos cadastrados e seus nomes. Além disso, o programa deverá imprimir, junto aos nomes, as datas de aniversário somente daqueles nascidos no mês x, escolhido pelo usuário.
  • 22. Problema 10 - Comentários  Se na linguagem de programação escolhida por você houver a opção de escrever em arquivos texto, use essa opção e coloque a extensão “.txt” no arquivo.  Assim você poderá visualizar os dados na maioria dos programas de edição de textos.
  • 23. Problema 11 Implemente um programa que manipule registros de alunos, onde cada registro deve conter as seguintes informações: número de matrícula (RA), nome do aluno, sexo, data de nascimento e as notas das 2 provas bimestrais. Suponha que a classe tenha 20 alunos. O programa deverá:  ler e armazenar as informações dos 20 alunos da classe;  calcular a média das notas das provas de cada aluno;  mostrar o nome dos alunos aprovados e reprovados (para ser aprovado o aluno necessita de média igual ou maior que 5.0);  mostrar os nomes dos alunos com a maior e menor média.
  • 24. Problema 11 - Comentários  Para não ter que digitar todos os dados todas as vezes que você for usar esse programa, crie um arquivo e leia os registros dele antes de iniciar o programa. Antes de finalizar, atualize as informações.  Você pode também escrever somente nos registros alterados e acrescentar os novos registros no final do arquivo. O que fazer com os registros apagados? Você pode inserir outros registros em seus lugares, reorganizar todo o arquivo ou somente adicionar um campo ao registro indicando se ele está ou não ativo.
  • 25. Estudo de Caso Os sistemas de recomendação usam as informações de compras anteriores (além de consultas, navegações ou informações de redes sociais) para sugerir produtos similares ou das mesmas categorias, que possam interessar aos clientes. Sugerem também produtos que outros clientes com o mesmo perfil costumam se interessar.
  • 26. Estudo de Caso A Netflix, fundada em 1997, ficou conhecida por enviar os filmes aos clientes através dos correios. Depois, começou a alugar filmes por streaming de vídeo. A Netflix propôs-se a pagar um prêmio de 1 milhão de dólares para quem desenvolvesse um sistema muito eficiente de recomendação de filmes (para isso propôs uma metodologia para avaliar a eficácia do sistema). Em setembro de 2009, o prêmio foi entregue e seus resultados têm influenciado o desenvolvimento de sistemas de recomendação até hoje, usando informações como algumas das citadas anteriormente.
  • 27. Estudo de Caso Atualmente, a Netflix possui mais de 10 milhões de clientes e expandiu-se para vários países, incluindo o Brasil. A empresa é líder na área de aluguel de filmes via internet nos Estados Unidos e, segundo pesquisa da empresa Sandvine de 2011, a Netflix é a maior fonte de tráfego de internet da América do Norte, correspondendo a quase 25% do volume total.
  • 28. Existem outras estruturas de dados, como as estruturas de dados dinâmicas, que podem ser alocadas dinamicamente, isto é, em tempo de execução.. Construções assim permitirão o desenvolvimento de aplicações mais complexas e eficientes. Precisaremos desenvolver técnicas de programação para melhor utilizá-las. Mas isso tudo fica para uma próxima etapa!