FUNDAMENTOS DE PROGRAMAÇÃO DE COMPUTADOR(2) (1)
-
Upload
gustavo-coelho -
Category
Documents
-
view
83 -
download
3
Transcript of FUNDAMENTOS DE PROGRAMAÇÃO DE COMPUTADOR(2) (1)
1
CURSO ENGENHARIASELÉTRICA E MECÂNICA
ALGORITMO E PROGRAMAÇÃO
Mardem Barbosa de Anchieta Rosa
PITÁGORAS/CONTAGEM
AGO/2012
2
FUNDAMENTOS DE PROGRAMAÇÃO• Objetivo do Curso• Objetivo da Disciplina• Introdução ao conceito de algoritmo e
programação– Conceitos básicos– Conceito de Algoritmo– Estruturas Báscias de Controle– Estruturas de Dados– As Melhores práticas na construção de
programas• Manutenibilidade• Flexibilidade• Documentação• A força e destruição do GOTO
• Portugol– Introdução– Declaração de Variáveis– Tipos Básicos– Comandos Básicos– Blocos– Comandos de Entrada e Saída
• Teste de Mesa• Operadores
• Algoritmos Baseados em Estruturas de Dados Homogêneas (vetores)
– Repetição com Teste no Final– Repetição com Variável de
Controle– O Comando Abandone
• Algoritmos Baseados em Estruturas de Dados Homogêneas (Matrizes)
– Alternativa de Múltiplas Escolhas– Definição do Tipo Matriz– Definição de Novos Tipos
• Algoritmos Baseados em Estruturas de Dados Heterogêneas (Matrizes)
– Tipo registro– Registros usando Vetores e
Matrizes• Procedimentos e Funções
– Modularização
O QUE MOVE O MUNDO SÃO AS PERGUNTAS E NÃO AS RESPOSTAS.
4
Objetivo Curso
• ENGENHARIAS:• MECÂNICA
• O curso de Engenharia Mecânica tem como objetivo formar profissionais com uma sólida formação técnico-científica e profissional geral que o capacite a absorver e desenvolver tecnologias, estimulando a sua atuação crítica e criativa na identificação e resolução de problemas de Engenharia Mecânica, considerando seus aspectos político-econômicos, sociais, ambientais e culturais, com visão ética e humanística, em atendimento às demandas da sociedade.
• O engenheiro mecânico é responsável pelo projeto, produção, operação e manutenção de máquinas, equipamentos e componentes mecânicos. Ele responde pela segurança, qualidade e eficiência operacional e energética de tais equipamentos e componentes. Além disso, gerencia equipes de trabalho, acompanha custos, prazos, cumprimento das normas de segurança, saúde e meio ambiente e ainda os padrões de qualidade.
55
Objetivo Curso
• ENGENHARIAS:
• ELÉTRICA
• O Curso de Engenharia Elétrica tem como objetivo formar engenheiros eletricistas capacitados a atender às diferentes solicitações profissionais, com uma visão crítica, criativa e inovadora, através de uma sólida formação básica, geral e humanística, associada à sua formação profissional específica.
6
Objetivo da Disciplina
• Algoritmo e Programação
Desenvolver nos alunos a competência e as habilidades necessárias para a concepção de soluções computacionais aplicadas aos problemas relativos à engenharia.
77
AVALIAÇÃO
• Algoritmo e Programação
• Avaliações parciais• Exercícios• Provas• Trabalhos• Desafios• Partipações
888
AVALIAÇÃO
• Algoritmo e Programação
• Valor das avaliações:
•Parcial – 0 a 10 pontos
•Oficial (1 por bimestre) – 0 a 10 pontos
• Composição: (Teórico/prático)
• Avaliação oficial = 70% da nota bimestral•Avaliação parcial = 30% da nota bimestral
9999
AVALIAÇÃO
• Algoritmo e Programação
• Composição: (Prática)
• Avaliação oficial = 0% da nota bimestral•Avaliação parcial = 100% da nota bimestral
10101010
AVALIAÇÃO
• Algoritmo e Programação
• Nota do bimestre
3,0)7,0( xparcialavaliaçãoxoficialavaliaçãobimestredoNota
2
)( BimestresegundodoNotaBimestreprimeirodoNotaFinalNota
1111111111
AVALIAÇÃO
2
)( finalexameNotabimestralMédiaFinalNota
121212121212
AVALIAÇÃO
131313131313
AVALIAÇÃO
141414141414
AVALIAÇÃO
15151515151515
PROGRAMAÇÃO DAS AULAS
• Algoritmo e Programação
• programação
16 16
ENTREGA DE DESAFIOS•Entrega de trabalhos
•Trabalhos entregues por [email protected]
•No campo ASSUNTO DO E-MAIL digitar as seguintes informações:–PIT-EW-AP-2012s1-DESAFIO XX-DD/DD/AAAA-SEU NOME–Onde:
–W: M – Mecânica, E – Elétrica–XX: Número do desafio;–DD: dia em que foi aplicado o desafio;–MM: Mês em que foi aplicado o desafio;–AAAA: Ano em que foi aplicado o desafio;–SEU NOME: SEU NOME.
Qual a missão desta ferramenta?
Possibilitar a representação e o tratamento dos objetos do nosso mundo real.
AR
VENTO
CALOR
FRIO
Comos esses objetos são representados no computador?
Através das suas características, propriedades, Atributos.
AR
VENTO
CALOR
FRIO
Como esses conceitos são tratados no computador?
Através dos programas
AR VENTO
Pessoa
Carro
Fogo
Vento e sua direção e velocidadeSol
A luz
Comos esses objetos são representados no computador?
Através das suas características, propriedades, Atributos.
Como esses conceitos são tratados no computador?
Através dos programas
AR VENTO
Pessoa
Carro
Fogo
Vento e sua direção e velocidadeSol
A luz
Comos esses objetos são tratados no computador?
Através de programas de computador.
NIVELAMENTO CONCEITOS BÁSICOS
• 1ª lei Mardeniana.
Tudo na informática termina em IF´s e MOVE´s.
22
Introdução ao conceito de algoritmo e programação
• Conceitos Básicos– Concreto
• Algo que tem existência própria– Abstrato
• Algo que tem dependência de existência− Abstração
• Foco na essência
– Ação• É um evento que ocorre num período de tempo finito,
estabelecendo um efeito intencionado e bem definido.– Exemplo:
-Levantar o pé;-Deslocar o pé levantado para frente;-Abaixar o pé levantado.
23
Introdução ao conceito de algoritmo e programação
• Conceitos Básicos– Atividade
• É a execução de uma tarefa ou ação.– Tarefa
• Conjunto de ações. (Veja definição de ação)• No exemplo sobre ação dado no slide anterior, qual é a
tarefa que pode ser relacionada ?_____________– Processo
• Conjunto de tarefas.• No exemplo de tarefa identificado acima, qual o
processo pode ser relacionado ? _____________
24
Introdução ao conceito de algoritmo e programação
• Conceitos Básicos– Problema
• É um resultado indesejado− Dado
• Um valor qualquer− Informação
• Valor com significado
25
Introdução ao conceito de algoritmo e programação
• Conceitos Básicos
____ ____ ____
____ ____ ____
____ ____ ____
Relacione asFiguras comAtividade,Ação, tarefa eProcesso.
26
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo
O que é um algoritmo ?
É a DESCRIÇÃO de um PADRÃO de COMPORTAMENTO, expresso em termos de um repertório BEM DEFINIDO e FINITO de AÇÕES “primitivas” , das quais damos por certo que elas podem ser executadas.
272727
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo• Identifique os padrões de comportamento abaixo que os objetos sugerem.
• Sugestões dos alunos
Fritar Ovos______________________________________________________________________________________________________________
282828
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo• Identifique os padrões de comportamento abaixo que os objetos sugerem.
• 1,5,9,13,17,21 Sugestões dos alunos
_______________________________________________________________________________________________________________________
292929
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo• Identifique os padrões de comportamento abaixo que os objetos abaixo sugerem.
• Sugestões dos alunos
_______________________________________________________________________________________________________________________
303030
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo• Responda as perguntas abaixo:1.Os padrões de comportamentos
identificados nos slides anteriores são algoritmos ? Explique.
2.O que é necessário para que sejam um algoritmo ?
3.Tudo que está ao nosso redor pode ser entendido como tendo um padrão de comportamento ? Explique.
313131
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo• Boas lembranças
1.Um objeto não é um padrão de comportamento, mas ele sofre ou sugere um padrão de comportamento
2.Padrão de comportamento é EXPRESSO em termos de um ________ bem ______ e ______ de _______primitivas das quais estamos certos que podem ser executadas.
3.Cada frase expressa em um algoritmo é chamada de “comando”
1. Abrir a geladeira;2. Pegar ovo na geladeira;3. Fechar a geladeira;4. Colocar o ovo em cima da
mesa;5. Abrir o armário;6. Pegar uma frigideira;7. Fechar o armário;8. Abrir a dispensa;9. Pegar o sal;10. Pegar o óleo;11. Ascender o fogão;13. Colocar a frigideira no fogão;
13. Colocar óleo na frigideira;14. Trincar a casca do ovo;15. Quebrar o ovo dentro da
frigideira;16. Esperar o ovo fritar;17. Retirar o ovo;18. Colocar em um prato.
Introdução ao conceito de algoritmo e programação
Conceito de AlgoritmoDescrever o padrão de comportamento “FRITAR OVOS”
É a DESCRIÇÃO de um PADRÃO de COMPORTAMENTO, expresso em termos de um repertório bem DEFINIDO e FINITO de AÇÕES “primitivas” , das quais damos por certo que elas podem ser executadas.
33333333
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo• Desafio 01 – valor xx pontos – Fazer dentro de sala.• Escolha dois dos padrões de comportamentos identificados nos slides 10 ao 12 e os descreva conforme o exemplo anterior.
• A partir do conceito de algoritmo explique o sentido das seguintes palavras de acordo com o seu entendimento:
• Descrever• Padrão de comportamento• Bem definido• Finito
34343434
Introdução ao conceito de algoritmo e programação
• Conceito de AlgoritmoBaseando-se no exemplo de descrição do padrão de comportamento “Fritar ovos”
responda:1. O exemplo dado é um algoritmo ? Explique.2. Justifique a sua resposta da pergunta anterior baseando-se no conceito de
algoritmos.3. Existe(m) alguma(s) ação(ões) que não é(são) bem definida(s) ? Indique
qual(is).4. Existe(m) alguma(s) ação(ões) que não é(são) finita(s) ? Indique qual(is).
5. Indique no exemplo onde temos “atividades”.6. Como pode ser classificada “Fritar ovos” ?
• Como uma ação ?• Como uma tarefa ?• Como um processo ?• Como uma atividade ?Explique a sua resposta.
35353535
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO
ASPECTO ESTÁTICO
Analisando o exemplo de algoritmo “FRITAR OVOS”, identifique elementos que são ESTÁTICOS, ou seja, independente da execução do algoritmo, eles nunca mudarão.
O texto que descreve os comandos
A ordem dos comandos
36363636
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO
ASPECTO ESTÁTICO
Se alterarmos um dos verbos (não pelo seu sinônimo) que estão no início do comando mudamos o _____________, mudando também o seu resultado final, o seu efeito.1. Abrir a geladeira; (arredar, arrumar) 2. Pegar um ovo na geladeira;3. Fechar a geladeira;(virar, limpar) 4. Colocar o ovo em cima da mesa;5. Abrir o armário;(fechar, tirar) 6. Pegar uma frigideira;7. Fechar o armário;(abrir, pintar) 8. Abrir a dispensa;9. Pegar o sal;(comprar, ensacar) 10. Pegar o óleo;11. Ascender o fogão;(ligar, lavar) 12.Colocar a frigideira no fogão;
37373737
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO
ASPECTO ESTÁTICO
Se alterarmos a ordem dos comandos também mudamos o _____________, mudando o seu resultado final, o seu efeito.
1. Fechar a geladeira; 2. Pegar um ovo na geladeira;3. Colocar o ovo em cima da mesa; 4. Pegar uma frigideira;5. Abrir o armário; 6.Abrir a geladeira; 7. Fechar o armário; 8. Abrir a dispensa;9. Pegar o sal; 10. Pegar o óleo;11. Ascender o fogão; 12.Colocar a frigideira no fogão;
38383838
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO
ASPECTO ESTÁTICO
Concluindo, o texto sob o qual o algoritmo é criado, representa a parte estática do mesmo. Este texto é composto pelos comandos e a ordem em que eles estão dispostos.
39393939
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO
ASPECTO DINÂMICO
Analisando o exemplo de algoritmo “FRITAR OVOS”, identifique elementos que são DINÂMICOS, ou seja, podem mudar entre as execuções dos algoritmos que o efeito desejado do mesmo não muda.
Os objetos sob os quais os comandos agem sobre eles
40404040
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO
ASPECTO DINÂMICO
Se alterarmos os objetos (por objetos da mesma classe) que estão no início do comando não mudamos o _____________, que continua produzindo o mesmo efeito desejado.1. Abrir a geladeira; (arredar, arrumar) 2. Pegar um ovo na geladeira;3. Fechar a geladeira;(virar, limpar) 4. Colocar o ovo em cima da mesa;5. Abrir o armário;(fechar, tirar) 6. Pegar uma frigideira;7. Fechar o armário;(abrir, pintar) 8. Abrir a dispensa;9. Pegar o sal;(comprar, ensacar) 10. Pegar o óleo;11. Ascender o fogão;(ligar, lavar) 12.Colocar a frigideira no fogão;
41414141
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO
ASPECTO DINÂMICO
Concluindo, os objetos tratados, usados no algoritmo constituem a parte dinâmica do mesmo. Ou seja, a cada execução do algoritmo os objetos podem ser diferentes e as ações sobre eles mudam as suas características o seu estado, que não modifica o efeito final desejado. Um exemplo disso é o ovo, uma vez frito, o próximo ovo a ser fritado, não é o mesmo da vez anterior, e o efeito esperado é o mesmo “OVO FRITO”......sacaram...?
42424242
Introdução ao conceito de Estruturas de Controle
• Conceito de Algoritmo
Considere o seguinte RELATO de uma pessoa observando uma dona de casa:
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Descascar as batatas;4. Devolver a cesta ao porão
(R1)
(EVENTO 1) – DESCASCAR BATATAS PARA O JANTAR
43434343
Introdução ao conceito de Estruturas de Controle
• Conceito de Algoritmo
No outro dia a dona de casa novamente realiza outro evento, relatado pelo mesmo observador:
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Descascar as batatas;4. Devolver a cesta ao porão
(R1)
(EVENTO 2) – DESCASCAR BATATAS PARA O JANTAR
4444444444444444
Introdução ao conceito de algoritmo e programação
• Conceito de Algoritmo• Desafio 02 – valor xx pontos – Fazer dentro de sala.
• Os dois eventos “Descascar batatas para o jantar” são os mesmos ? Explique
• Os dois relatos descrevem os mesmos eventos ?• Os dois relatos são os mesmos ? Explique usando o
conceito de ESTÁTICO e DINÂMICO.• O quê os dois eventos tem em comum ?• Logo, os dois relatos descrevem o mesmo evento ?• Então os dois relatos podem ser transformados em um
_____________.Entregar via e-mail na data xx/xx/xx
4545454545454545
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
SEQÜÊNCIA SIMPLES
Definida pelo símbolo “;” que tem o objetivo de indicar o término de um comando e estabelecer a ordem de execução dos comandos um após o outro de acordo como aparecem no texto.
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Descascar as batatas;4. Devolver a cesta ao porão;
(A1)
4646464646464646
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle• Desafio 03 – valor xx pontos – Fazer dentro de sala.
• O que significa o símbolo “;” em um algoritmo ?• Indique a ordem em que o (A1) será executado;• O que garante que o comando “Descascar as batatas;”
não seja executado antes de “Trazer a panela do armário;” ?
• Qual comando em (A1) não é finito ?• Defina os aspectos dinâmicos e estáticos em (A1).
Entregar via e-mail na data xx/xx/xx
4747474747474747
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR CONDICIONAL SE.....ENTÃO
Suponhamos que toda vez que a cozinheira for descascar batatas ela põe um avental. Modifique o (A1) para representar esta nova situação.
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. 4. Descascar as batatas;5. Devolver a cesta ao porão;
(A1)
4848484848484848
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR CONDICIONAL SE.....ENTÃO
Com a introdução do comando “Colocar avental;”, temos um novo algoritmo, mesmo que o efeito final seja o mesmo, em função do texto que eles apresentam são algoritmos diferentes.
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Colocar o Avental;4. Descascar as batatas;5. Devolver a cesta ao porão;
(A1)
4949494949494949
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR CONDICIONAL SE.....ENTÃO
Agora, suponha que a cozinheira só colocará o avental se ela estiver com uma roupa clara.Modifique o (A2) para representar esta nova situação.
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. 4. 5. Descascar as batatas;6. Devolver a cesta ao porão;
(A2)
5050505050505050
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR CONDICIONAL SE.....ENTÃO
Esta nova estrutura de controle, chamada conector condicional SE...ENTÃO, permite ao algoritmo decidir sob determinadas condições e executar os comandos se a condição for verdadeira, ou não executar os comandos se a condição for falsa.
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar as batatas;6. Devolver a cesta ao porão;
(A3)
5151515151515151
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
SE condição ENTÃO comando 1;Comando 2;Comando 3;
Condição a ser testada.
Se a condição for verdadeira, os comandos imediatamente após a palavra “ENTÃO” serão executados.Se a condição for falsa, os
comandos imediatamente após a palavra “ENTÃO” serão pulados até o ponto e vírgula e os comandos após o ponto e vírgula serão executados.
5252525252525252
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR CONDICIONAL SE.....ENTÃO
O que acontecerá se a cozinheira não estiver com uma saia clara ?
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar as batatas;6. Devolver a cesta ao porão;
(A3)
5353535353535353
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR CONDICIONAL SE.....ENTÃO
Quando o comando “Colocar avental;” será executado ? E o comando “Descascar batatas;” ? Quais comandos não estão sob condição ?
O que acontecerá com estes comandos que não estão sob nenhuma condição quando o algoritmo for executado ?
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar as batatas;6. Devolver a cesta ao porão;
(A3)
5454545454545454
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle• Desafio 04 – valor xx pontos – Fazer dentro de sala.
• Escreva um comando “Se...Então”.• Na estrutura de controle “SE (condição) ENTÃO” indique o
que é estático e o que é dinâmico no comando.• Quando a condição na estrutura de controle condicional for
verdadeira o que acontece na execução do algoritmo ?• Quando a condição na estrutura de controle condicional for
falsa o que acontece na execução do algoritmo ?• Como pode ser interpretado a utilização das estruturas de
controle simples com a condicional ?
Entregar via e-mail na data xx/xx/xx
5555555555555555
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de ControleCONECTOR REPETITIVO
O comando “descascar batatas;” descaracteriza o algoritmo por não ser finito. Vamos torná-lo finito limitando o número de batatas que será descascadas.
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar uma batata;6. Devolver a cesta ao porão;
(A4)
5656565656565656
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR REPETITIVO
Quais os inconvenientes no algoritmo (A4) ?
(A4)1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar uma batata;6. Devolver a cesta ao porão;
____________________________________________________________________________________________________________________________
5757575757575757
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR REPETITIVO
Qual(is) as solução(ões) para tornar o algoritmo (A4) viável ?
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. 6. 7. 8. Devolver a cesta ao porão;
(A4)
5858585858585858
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR REPETITIVO
Qual(is) as solução(ões) para tornar o algoritmo (A4) viável ? SOLUÇÃO 1
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar uma batata;6. Descascar uma batata;7. Descascar uma batata;8. ...9. Descascar uma batata;10. Devolver a cesta ao porão;
(A5)
5959595959595959
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR REPETITIVO
Quais os inconvenientes no algoritmo (A5) ?____________________________________________________________________________________________________________________________
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar uma batata;6. Descascar uma batata;7. Descascar uma batata;8. ...9. Descascar uma batata;10. Devolver a cesta ao porão;
(A5)
6060606060606060
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR REPETITIVO
Qual(is) as solução(ões) para tornar o algoritmo (A5) viável ? SOLUÇÃO 2
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Se número de batatas descascadas não for
suficiente Então6. Descascar uma batata;7. Devolver a cesta ao porão;
(A6)
6161616161616161
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR REPETITIVO
Quais os inconvenientes no algoritmo (A6) ?____________________________________________________________________________________________________________________________
(A6)
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Se número de batatas descascadas não for suficiente Então6. Descascar uma batata;7. Devolver a cesta ao porão;
6262626262626262
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR REPETITIVO
Qual(is) as solução(ões) para tornar o algoritmo (A6) viável ? SOLUÇÃO 3
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Se número de batatas descascadas não for suficiente Então6. Descascar uma batata;7. Se número de batatas descascadas não for suficiente Então8. Descascar uma batata;9. Se número de batatas descascadas não for suficiente Então10. Descascar uma batata;11. Se número de batatas descascadas não for suficiente Então12. Descascar uma batata;13. ...14. Devolver a cesta ao porão;
(A7)
6363636363636363
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR REPETITIVO
Quais os inconvenientes no algoritmo (A7) ?______________________________________________________________
(A7)
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Se número de batatas descascadas não for suficiente Então6. Descascar uma batata;7. Se número de batatas descascadas não for suficiente Então8. Descascar uma batata;9. Se número de batatas descascadas não for suficiente Então10. Descascar uma batata;11. Se número de batatas descascadas não for suficiente Então12. Descascar uma batata;13. ...14. Devolver a cesta ao porão;
6464646464646464
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR REPETITIVO
Qual(is) as solução(ões) para tornar o algoritmo (A7) viável ? SOLUÇÃO 4
1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. ENQUANTO número de batatas descascadas não for suficiente FAÇA6. Descascar uma batata;7. Devolver a cesta ao porão;
(A8)
6565656565656565
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle
CONECTOR REPETITIVO
ENQUANTO condição FAÇA comando1; comando2; . . . comando n;
Parte estática do comando
Parte dinâmica do comando
Comandos a serem executados caso a condição
seja verdadeiraSeparador da parte de comandos que serão executados
quando a condição for positiva dos que serão executados quando a condição for negativa
6666666666666666
Introdução ao conceito de algoritmo e programação
• Estruturas Básicas de Controle• Desafio 05 – valor xx pontos – Fazer dentro de sala.
• Escreva um comando “ENQUANTO...FAÇA”.• Na estrutura de controle “ENQUANTO (condição) FAÇA” indique o que é estático
e o que é dinâmico no comando.• Quando a condição na estrutura de controle repetitiva for verdadeira o que acontece
na execução do algoritmo ?• Quando a condição na estrutura de controle repetitiva for falsa o que acontece na
execução do algoritmo ?• Como pode ser interpretado a utilização das estruturas de controle simples com a
repetitiva ?• Tanto na estrutra de controle condicional quanto na repetitiva, quando as suas
condições são verdadeiras, que tipo de estrutura de controle pode vir na parte verdadeira ?
Entregar via e-mail na data xx/xx/xx
6767676767676767
Introdução ao conceito de algoritmo e programação
• Estruturas de Dados
O que vamos aprender a fazer nessa disciplina é representar objetos do mundo real dentro do computador e descrever os padrões de comportamento que agem sobre estes objetos.
Temos então um enorme desafio. Como representar os objetos abaixo dentro de um computador ?
6868686868686868
Introdução ao conceito de algoritmo e programação
• Estruturas de Dados
• Como reconhecemos estes objetos no nosso mundo real ? ___________
Carro
Ferro de passar
Casa
Sala de aula, alunos e professor
}Mas
computadores não entendem
formas
Então como faríamos para
representar estes objetos de forma
que o computador
pudesse reconhecê-los ?
6969696969696969
Introdução ao conceito de algoritmo e programação
• Estruturas de Dados• Reconheça os objetos abaixo:
• Número da conta corrente• Saldo• Agência• Banco
• Nome• Peso• Altura• Endereço• Cart. Ident.• CPF
• Marca• Cor• Ano• Modelo• Combustível• Número de passageiros
Usamos as características (atributos) dos objetos para representá-los dentro do computador. Como para cada objeto as mesmas características mudam(dinâmica), chamaremos estas características de VARIÁVEIS.
7070707070707070
Introdução ao conceito de algoritmo e programação
• Estruturas de Dados• As características(atributos) dos objetos representados
internamente em um computador, e processados através de um algoritmo representam a parte dinâmica do mesmo.
1. Se tipo_conta = “Poupança” ENTÃO2. Somar valor do depósito em saldo_poupança;3. Se tipo_conta = “Corrente” ENTÃO4. Somar valor do depósito em saldo_corrente;
•Qual é o objeto que estamos processando nesse trecho do algoritmo ?_______________________•Destaque as partes dinâmicas das estáticas e justifique a separação ._________________, _____________, ___________________, _____________, ________•O que significa uma palavra estar entre aspas duplas igual a “Poupança” e “Corrente”.__________________________________________________________________________
7171717171717171
Introdução ao conceito de algoritmo e programação
• Estruturas de Dados• Desafio 06 – valor xx pontos – Fazer dentro de sala.
• Descreva através das suas características o objeto “ALUNO”;• Descreva através das suas características o objeto “PROFESSOR”;• Descreva através das suas características o objeto “FILME”• Descreva através das suas características o objeto “LIVRO”• Dentro de um algoritmo as suas características são tratadas como ______________e
representam a parte ______________ do mesmo.• Porquê usamos o termo “DINÂMICA” para as variáveis ?• Os objetos, as coisas do mundo real sao representados dentro do computador atraves
das suas _____________.
Entregar via e-mail na data xx/xx/xx
7272727272727272
PORTUGOL
• Introdução− Até momento usamos a língua portuguesa para expressar os algoritmos− A liberdade de expressão é essencial para o desenvolvimento da criatividade− A língua portuguesa dá margem para:
− Dupla interpretação (imprecisão): Precisamos que um algoritmo tenha previsibilidade ou seja, toda vez que for executado ele nos leve ao mesmo resultado.− Permite textos extensos: Precisamos de textos concisos
e consistentes− Impasse:
Liberdade de expressão x Notação formal
− Solução: Uma linguagem que não restrinja a liberdade de expressão e que seja formal para eliminar
ambiguidades.
7373737373737373
PORTUGOL
• Introdução
O Portugol (simbiose de Português com Pascal ou Algol) é uma pseudolinguagem de programação (usada para descrever padrões de comportamentos - algoritmos) que permite projetos de algoritmos independentes da tecnologia, além de ser concisa e determinística.
Sintaxe x Semântica:
Sintaxe é a regra para a formação de uma frase;Semântica é o sentido que a frase possui.
7474747474747474
PORTUGOL
• Declaração de variáveis
Identificador: Nome dado aos comandos e as variáveis.
Sintaxe para formação de identificadores
LETRA
LETRA
DÍGITO
7575757575757575
PORTUGOL
Declaração de variáveis• Desafio 07 – valor xx pontos – Fazer dentro de sala.
• Através do diagrama para formação de nomes de comandos e atributos, siga o diagrama para formar tês nomes de sua sugestão.
• Marque dentre as opções abaixo quais os identificadores que ferem a regra através do diagrama proposto.
• Abcdefgijklmenopzrqz124589advadladaldasldaddla1• Xicara• 1pessoa• #conta_bancária• Com ta• Peça• NOME• NúmerO
Entregar via e-mail na data xx/xx/xx
7676767676767676
PORTUGOL
• Declaração de variáveis
Tipos básicos: É o conjunto domínio dos valores que cada variável simbolizada por um identificador pode receber.
Domínios permitidos
Inteiro: Conjunto dos números inteiros, isso quer dizer que o identificador declarado com este tipo, só pode conter valores do seu domínio.Real: Conjunto dos números reais (inteiros negativos, números
racionais negativos, zero, inteiros positivos, números racionais positivos)Lógico: Só permite conter os valores “verdadeiro” ou “falso”
7777777777777777
PORTUGOL
• Declaração de variáveis
SINTAXE PARA DECLARAÇÃO DE VARIÁVEIS
IDENTIFICADORinteiro
real
caracter
lógico
: ;
,
7878787878787878
PORTUGOL
• Declaração de variáveis• Desafio 08 – valor xx pontos – Fazer dentro de sala.
• Declare os identificadores abaixo de acordo com a declaração de tipos, atribuindo a eles os tipos mais adequados. Siga o rigor da sintaxe para declaração de tipos.
• Nome-aluno - Tipo-conta(poupança ou corrente)• Número-matrícula - Sexo(feminino ou Masculino)• sexo• Nota• Peso• Altura• Código-disciplina• Carteira-Identidade• Cpf• Endereço;
• Declare como vari[aveis as caracteristicas dos objetos do desafio 06• Declare as variáveis que existem em uma folha de cheque
Entregar via e-mail na data xx/xx/xx
7979797979797979
PORTUGOL
• Comandos Básicos
• Comandos imperativos
• Comandos que determinam uma ação independente de qualquer condição.
8080808080808080
PORTUGOL
• Comandos Básicos
• Comandos imperativos
• Comando de atribuição
• Para atribuirmos o valor de expressão a uma variável.
IDENTIFICADOR ;EXPRESSÃO
O QUE É UMA EXPRESSÃO ?
8181818181818181
PORTUGOL
• Comandos Básicos
• Comandos imperativos
• Comando de atribuição
• EXPRESSÃO é uma combinação de variáveis, símbolos, operadores (aritméticos, lógicos, relacionais), números, símbolos gráficos (“(“,”)”,”[“,”]”,”{“,”}”) que se transforma em valor.
O QUE É UMA EXPRESSÃO ?
8282828282828282
PORTUGOL
• Comandos Básicos• Desafio 09 – valor xx pontos – Fazer dentro de sala.
• Quais são os operadores aritméticos ?• Quais são os operadores lógicos ?• Quais são os operadores relacionais ?• Indique abaixo aquelas que podem ser consideradas expressões e classifique-as:
• Tipo-conta - Tipo-conta não saldo (*)• Saldo + 1; - Saldo > 100,00• 1 + 1; - Saldo +>- 200,00• (4 + saldo +[ nota * 5] – altura) - Tipo-conta = 200,00• Saldo, nota, altura - nota2 ÷ faltas• {1,2,3,4,5,7} - faltas = 0,25 * frequência• √2 - Tipo-conta ∧ sexo• Tipo-conta e sexo - Tipo-conta ∨ sexo• Tipo-conta ou sexo - Tipo-conta ∟ sexo
Entregar via e-mail na data xx/xx/xx
8383838383838383
PORTUGOL
• Comandos Básicos• Desafio 10 – valor xx pontos – Fazer dentro de sala.
• Considere as seguintes variáveis:• Saldo• Nota• Número-acadêmico• Nome• Telefone• Sexo (lógico - verdade se mulher, falso se homem)• Tipo-conta (lógico – verdade corrente, falso poupança)• Qtde-estoque• Tipo-material• frequência
Entregar via e-mail na data xx/xx/xx
8484848484848484
PORTUGOL
• Comandos Básicos• Desafio 10 – valor xx pontos – Fazer dentro de sala.
• Marque os identificadores inválidos se houver;• Declare cada uma das variáveis do slide anterior;• Elabore uma expressão (aritmética, lógica e relacional) com cada uma das variáveis;• Atribua à variável saldo o valor dela mesmo mais 10;• Atribua à variável nota o valor de 10;• Atribua à variável número-acadêmico o valor de 12345;• Atribua à variável nome a constante literal “José Antônio”;• Atribua à variável telefone a constante literal “33-35395827”;• Atribua à variável sexo o valor verdadeiro;• Atribua à variável tipo-conta o valor falso;• Atribua à variável qtde-estoque a raiz quadrada de 300;• Atribua à variável tipo material a letra A;• Atribua à variável frequência o número 20;
Entregar via e-mail na data xx/xx/xx
8585858585858585
PORTUGOL
• Blocos• Um bloco é um conjunto de comandos com uma função bem definida.
• Ele serve também para definir os limites onde as variáveis declaradas em seu interior são reconhecidas.
• Inicialmente, um bloco corresponderá a um programa ou a um algoritmo ou a uma descrição de comportamento.
• Pode haver blocos dentro de blocos
Sintaxe para a definição de um bloco
Inicio Declaração de variáveis comandosfim
8686868686868686
PORTUGOL
• Blocos• Exemplo1 de um algoritmo
• Elaborar um algoritmo que realiza a soma dos números de 1 a 10.
iniciointeiro : soma;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;
fim
8787878787878787
PORTUGOL
• Exemplo 1• Desafio 11 – valor xx pontos – Fazer dentro de sala.
• Siga o algoritmo dado no slide anterior e informe qual será o valor da variável soma quando o mesmo chegar ao fim.
• O valor da variável soma é o que foi proposto no enunciado do algoritmo ? Explique.
• Proponha uma alteração no algoritmo de forma que ele cumpra o proposto no seu enunciado.
Entregar via e-mail na data xx/xx/xx
8888888888888888
PORTUGOL
• Blocos• Execução do exemplo1 (Teste de Mesa)
• Elaborar um algoritmo que realiza a soma dos números de 1 a 10.
iniciointeiro : soma;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;
fim
soma1
8989898989898989
PORTUGOL
• Blocos• Execução do exemplo1 (Teste de mesa)
• Elaborar um algoritmo que realiza a soma dos números de 1 a 10.
somaSoma ← 1 ;
Inteiro : soma;
Soma ← 2 ;
Soma ← 3 ;
Soma ← 4 ;
Soma ← 5 ;
Soma ← 6 ;
Soma ← 7 ;
Soma ← 8 ;
Soma ← 9 ;
Soma ← 10 ;
1 ;
Inteiro : soma;
Soma ←
9090909090909090
PORTUGOL
• Blocos• Execução do exemplo1 correto (Teste de mês)
• Elaborar um algoritmo que realiza a soma dos números de 1 a 10.
somaSoma ←
Inteiro : soma;
1 ;
Inteiro : soma;
Soma + 1
Soma ← 2 ;Soma + 3
Soma ← 3 ;Soma + 6
Soma ← 4 ;Soma + 10
Soma ← 5 ;Soma + 15
Soma ← 6 ;Soma + 21
Soma ← 7 ;Soma + 28
Soma ← 8 ;Soma + 36
Soma ← 9 ;Soma + 45
Soma ← 10 ;Soma + 55
9191919191919191
PORTUGOL
• Comandos Básicos• Comandos condicionais
• Alternativa Simples
Se <condição> Então c1; c2; c3;Fim se;c4;c5;
A condição é qualquer expressão(relacional ou lógica) que devolva o valor verdadeiro ou falso.
Se o valor da expressão for verdadeiro os comandos entre as palavras “Então” e “Fim se” serão executados continuando a execução dos comandos depois da palavra “fim se”
Caso o valor da expressão seja “falso” a execução é desviada para o primeiro comando que segue a palavra “fim se”
9292929292929292
PORTUGOL
• Comandos Básicos• Desafio 12 – valor xx pontos – Fazer dentro de sala.
• Seja o seguinte trecho do algoritmo
Entregar via e-mail na data xx/xx/xx
Inicio
Inteiro A, B;
A ← 10;
B ← 15;
Se A > B Então
c1;
c2;
Fim se;
c3;
Fim.
Responda:1) Quais os comandos que serão executados?2) Se o valor de A fosse 16 e B fosse 15, quais os
comandos que seriam executados ?3) Quando o comando c3 será executado ?4) Que tipo de expressão é “A > B” ?5) Se a expressão fosse “A + b”, quais os comandos seriam
executados ? Explique.6) A variável “A” pode receber o valor 15,5 ? Explique.7) Os comandos c1 e ou c2 podem ser outros comandos
condicionais ?8) Os comandos c1 e c2 serão sempre executados ?
9393939393939393
PORTUGOL
• Comandos Básicos• Desafio 13 – valor xx pontos – Fazer dentro de sala.
• Seja o seguinte trecho do algoritmo
Entregar via e-mail na data xx/xx/xx
Inicio
Lógico B1, B2; B3;
Se B1 Então
c1;
Se B2 então
Se B3 então
c2;
c3
Fim se;
Fim se;
Fim se;
Fim.
Responda:1) Se B1=Verdadeiro, B2=Verdadeiro e B3=Verdadeiro, quais comandos serão
executados ?2) Se B1=Verdadeiro, B2=Verdadeiro e B3=Falso, quais comandos serão
executados ?3) Se B1=Verdadeiro, B2=Falso e B3=Falso, quais comandos serão executados ?4) Se B1=Falso, B2=Falso e B3=Falso, quais comandos serão executados ?5) Se B1=Falso, B2=Verdadeiro e B3=Verdadeiro, quais comandos serão
executados ?6) Se B1=Falso, B2=Falso e B3=Verdadeiro, quais comandos serão executados ?7) Quais os valores de B1, B2, B3 para que nenhum comando seja executado ?8) Quais os valores de B1, B2, B3 para que somente c1 seja executado ?
9494949494949494
PORTUGOL
• Comandos Básicos• Comandos condicionais
• Alternativa Composta
Se <condição> Então c1; c2; c3;SE não c4; c5;Fim se;c6;c7
A condição é qualquer expressão(relacional ou lógica) que devolva o valor verdadeiro ou falso.
Se o valor da expressão for verdadeiro os comandos entre as palavras “Então” e “Se não” serão executados continuando a execução dos comandos depois da palavra “fim se”Caso o valor da expressão seja
“falso” a execução é desviada para o primeiro comando que segue a palavra “Se não”
Seqüência simples que é independente da condicional. Sempre será executada depois que for encontrado o “Fim se”
9595959595959595
PORTUGOL
• Comandos Básicos• Desafio 14 – valor xx pontos – Fazer dentro de sala.
• Seja o seguinte trecho do algoritmo
Entregar via e-mail na data xx/xx/xx
Inicio
Lógico B1, B2; B3;
Se B1 Então
c1;
Se n’ao
Se B2 então
Se B3 então
c2;
Se n’ao
c3;
Fim se;
Fim se;
Fim se;
c4;
Fim.
Responda:1) Se B1=Verdadeiro, B2=Verdadeiro e B3=Verdadeiro, quais comandos serão
executados ?2) Se B1=Verdadeiro, B2=Verdadeiro e B3=Falso, quais comandos serão
executados ?3) Se B1=Verdadeiro, B2=Falso e B3=Falso, quais comandos serão executados ?4) Se B1=Falso, B2=Falso e B3=Falso, quais comandos serão executados ?5) Se B1=Falso, B2=Verdadeiro e B3=Verdadeiro, quais comandos serão
executados ?6) Se B1=Falso, B2=Falso e B3=Verdadeiro, quais comandos serão executados ?7) Quais os valores de B1, B2, B3 para que nenhum comando seja executado ?8) Quais os valores de B1, B2, B3 para que somente c1 seja executado ?9) Qual comando será sempre executado independente das condições ?
9696969696969696
PORTUGOL
• Comandos Básicos• Desafio 15 – valor xx pontos – Fazer dentro de sala.
• Seja o seguinte trecho do algoritmo
Entregar via e-mail na data xx/xx/xx
Inicio
Lógico : A,B,C;
real : X,Y;
Inteiro : V, L;
A ← Falso; B ← Verdadeiro;
C ← Falso;
X ← 1,5; Y ← 32; X ← X+1;
Se C ou ( (X + Y > 5) ou (não A e B) ENTÃO
L ← 0;
Se não
L ← 1;
Fim se;
Fim.
Responda:1) Qual o valor de L depois da execução do algoritmo ?
9797979797979797
PORTUGOL
• Comandos Básicos• Comandos condicionais
• Repetição
Enquanto <condição> Faça c1; c2; c3; c4; c5;Fim enquanto;c6;c7
A condição é qualquer expressão(relacional ou lógica) que devolva o valor verdadeiro ou falso.
Se o valor da expressão for verdadeiro os comandos entre as palavras “Faça” e “Fim enquanto” serão executados continuando a execução dos comandos depois da palavra “fim enqu”
Seqüência simples que é independente da condicional. Sempre será executada depois que for encontrado o “Fim enquanto”
9898989898989898
PORTUGOL
• Comandos Básicos• Desafio 16 – valor xx pontos – Fazer dentro de sala.
• Elaborar os seguintes algoritmos:• Soma dos números inteiros de 1 a 1.000.000• Soma dos números inteiros pares de 1 a
1.000.000• Soma dos números inteiros ímpares de 1 a
1.000.00• Some os números inteiros múltiplos de 3 de 1 a
1.000.000Entregar via e-mail na data xx/xx/xx
9999999999999999
PORTUGOL
• Comandos Básicos
• Comandos imperativos
• Comandos de entrada e saída
• Elaborar um algoritmo que receba dois números inteiros e faça a soma dos números inteiros contidos entre esses dois números. No final, imprimir o valor somado.
100100100100100100100100
PORTUGOL
• Comandos Básicos
• Comandos imperativos
• Comandos de entrada e saída
• Até o momento elaboramos programas que utilizaram informações geradas ou codificadas internamente. É necessário que a linguagem dê condições de que o programa receba informações do mundo externo e apresente os seus resultados ao mundo externo de forma simples.
• Lembre-se que o PORTUGOL é uma pseudolinguagem, logo simulamos o comportamento de um computador real.
101101101101101101101101
PORTUGOL
• Comandos Básicos
• Comandos imperativos
• Comandos de entrada e saída
• Comando para leitura:
IDENTIFICADORLeia (
,
;)
102102102102102102102102
PORTUGOL
• Comandos Básicos
• Comandos imperativos
• Comandos de entrada e saída
• Comando para saída:
IDENTIFICADORImprima (
,
;)
EXPRESSÃO
CARACTER
103103103103103103103103
PORTUGOL
• Comandos de entrada e saída• Desafio 17 – valor xx pontos – Fazer dentro de sala.
• Elaborar os seguintes algoritmos:• Ler três números simultaneamente e imprimir a soma dos três números;• Ler um número de cada vez, e imprimir a soma desses números. O
último número deverá ser 999 que indicará o fim do fornecimento dos números e não deverá fazer parte da soma.
• Ler dez palavras e imprimir de uma só vez na ordem inversa que foram informadas.
Entregar via e-mail na data xx/xx/xx
104104104104104104104104
PORTUGOL
• Teste de mesa• Desafio 18 – valor xx pontos – Fazer dentro de sala.
• Seja o seguinte algoritmo:
Entregar via e-mail na data xx/xx/xx
Iníciointeiro VALOR, SOMA;SOMA ← 0;Leia (VALOR);enquanto VALOR ≠ -1 faça
SOMA ← SOMA + VALOR; Leia (VALOR);Fim enquanto;Imprima (“O valor da soma é:”, SOMA);fim
Realizar o teste de mesa para os seguintes valores:1, -4, 5, 8, 17, 21, -1. E informar qual será o resultado final a partir do algoritmo ao lado. Definir qual é o objetivo do algoritmo.
105105105105105105105105
PORTUGOL
• Teste de mesa• Desafio 19 – valor xx pontos – Fazer dentro de sala.
• Seja o seguinte algoritmo:
Entregar via e-mail na data xx/xx/xx
Iníciointeiro VALOR, MENOR;Leia (VALOR);MENOR ← VALOR;enquanto VALOR ≠ -1 faça
se VALOR < MENOR então MENOR ← VALOR; fim se;
Leia (VALOR);Fim enquanto;Imprima (“O menor valor é:”, MENOR);Fim.
Realizar o teste de mesa para os seguintes valores:1, -4, 5, 8, 17, 21, -1. Informar qual será o resultado final a partir do algoritmo ao lado. Definir qual é o objetivo do algoritmo.
106106106106106106106106
PORTUGOL
• Teste de mesa• Desafio 20 – valor xx pontos – Fazer dentro de sala.
• Seja o seguinte algoritmo:
Entregar via e-mail na data xx/xx/xx
Iníciointeiro VALOR, MENOR,MAIOR;Leia (VALOR);MENOR ← VALOR;
MAIOR← VALOR;enquanto VALOR ≠ -1 faça
se VALOR >MAIOR então MAIOR ← VALOR; senão se VALOR < MENOR então
MAIOR ← VALOR; fim se; fim se;
Leia (VALOR);Fim enquanto;Imprima (“O menor valor é:”, MENOR,”O maior valor é:”,MAIOR);Fim.
Realizar o teste de mesa para os seguintes valores:1, -4, 5, 8, 17, 21, -1. Informar qual será o resultado final a partir do algoritmo ao lado. Definir qual é o objetivo do algoritmo.
107107107107107107107107
PORTUGOL
• Teste de mesa• Desafio 21 – valor xx pontos – Fazer dentro de sala.
• Seja o seguinte algoritmo:
Entregar via e-mail na data xx/xx/xx
Iníciointeiro VALOR, MENOR,MAIOR;Leia (VALOR);MENOR ← VALOR;
MAIOR← VALOR;enquanto VALOR ≠ -1 faça
se VALOR >MAIOR então MAIOR ← VALOR; senão se VALOR < MENOR então
MAIOR ← VALOR; fim se; fim se;
Leia (VALOR);Fim enquantoImprima (“O menor valor é:”, MENOR,”O maior valor é:”,MAIOR);Fim.
Realizar o teste de mesa para os seguintes valores:1, -4, 5, 8, 17, 21, -1. Informar qual será o resultado final a partir do algoritmo ao lado. Definir qual é o objetivo do algoritmo.
108108108108108108108108
PORTUGOL
• Teste de mesa• Desafio 22 – valor xx pontos – Fazer dentro de sala.
• Seja o seguinte algoritmo:
Entregar via e-mail na data xx/xx/xx
Iníciointeiro A,B,C;Leia (A,B,C);se A < B +C e B < A + C e C < A + B emtão se A = B e B = C emtão imprima (“TRIÂNGULO EQUILÁTERO”); se não
se A = B ou A = C ou C = B emtão
imprima (“TRIÂNGULO ISÓCELES”); se não imprima (“TRIÂNGULO ESCALENO”); fim se; fim se; imprima(“NÃO É TRIÂNGULO”);fim se;Fim.
Dados três valores A, B, C, verificar se eles podem ser valores dos lados de um triângulo e, se for, se é triângulo eqüilátero, isóceles ou escaleno. Definir qual é o objetivo do algoritmo.
109109109109109109109109
PORTUGOL
• Teste de mesa• Desafio 23 – valor xx pontos – Fazer dentro de sala.
• Seja o seguinte algoritmo:
Entregar via e-mail na data xx/xx/xx
Inícioreal VOLUME, PI,R;PI ← 3,1416PI ← 3,1416Enquanto R < 6 faça VOLUME ← 4/3 * PI * (R ** 3); imprima (R, VOLUME); R ← R + 2;Fim enquanto;
Complemente os valores que serão impressos:
R VOLUME0 02 33,51
Qual é o objetivo do algoritmo ?
110110110110110110110110
PORTUGOL
• Teste de mesa• Desafio 23 – valor xx pontos – Fazer dentro de sala.
• Seja o seguinte algoritmo:
Entregar via e-mail na data xx/xx/xx
Inícioreal VOLUME, PI,R;PI ← 3,1416PI ← 3,1416Enquanto R < 6 faça VOLUME ← 4/3 * PI * (R ** 3); imprima (R, VOLUME); R ← R + 2;Fim enquanto;
Complemente os valores que serão impressos:
R VOLUME0 02 33,51
Qual é o objetivo do algoritmo ?
111111111111111111111111
PORTUGOL
• Teste de mesa• Desafio 24 – valor xx pontos – Fazer dentro de sala.
• Seja o seguinte algoritmo:
Entregar via e-mail na data xx/xx/xx
Inícioreal VOLUME, PI,R;PI ← 3,1416PI ← 3,1416Enquanto R < 6 faça VOLUME ← 4/3 * PI * (R ** 3); imprima (R, VOLUME); R ← R + 2;Fim enquanto;
Complemente os valores que serão impressos:
R VOLUME0 02 33,51
Qual é o objetivo do algoritmo ?
112112112112112112112112
PORTUGOL
• Operadores• Operadores são símbolos ou palavras que representam ações a serem aplicadas entre um ou mais de seus operandos, obtendo um único resultado, permitindo dessa forma a formação de expressões.
• +, Simboliza a operação de adição sobre os dois operandos (números ou variáveis);
• -, Simboliza a operação de subtração sobre os dois operandos (números ou variáveis);
113113113113113113113113
PORTUGOL
• Operadores• Operadores:
• div, retorna o resultado da operação de divisão entre dois inteiros. Esses inteiros podem ser constantes numéricas ou variáveis.
• Ex:sejam A e B duas variáveis inteiras com os valores 5 e 2 respectivamente.
C = A div B retornará 2 em C que é o resultado da divisão de 16 por 6.
114114114114114114114114
PORTUGOL
• Operadores• Operadores:
• mod, retorna o resto inteiro da operação de divisão entre dois inteiros. Esses inteiros podem ser constantes numéricas ou variáveis.
• Ex:sejam A e B duas variáveis inteiras com os valores 16 e 6 respectivamente.
C = A mod B retornará 4 em C que é o resto da divisção de 5 por 2.
115115115115115115115115
PORTUGOL
• Teste de mesa• Desafio 25 – valor xx pontos – Fazer dentro de sala.
• Determine os valores que serão impressos depois da execução do algoritmo abaixo:
Entregar via e-mail na data xx/xx/xx
Iníciointeiro NÚMERO,D1, D2, D3, D4;NÚMERO ← 1.362D4 ← NÚMERO mod 10;D3 ← (NÚMERO div 100) mod 10;D2 ← NÚMERO mod 10;D1 ← (NÚMERO div 1000) mod 10;Imprima(D4,D3,D2,D1);Fim enquanto;
D1D2D3D4
116116116116116116116116
PORTUGOL
• Teste de mesa• Desafio 26 – valor xx pontos – Fazer dentro de sala.
• Quais os resultados produzidos pelo algoritmo que se segue ?
Entregar via e-mail na data xx/xx/xx
Iníciológico X;inteiro Y;Y ← 0;X ← falso;enquanto Y ≠ 6 faça
X ← não X;Y ← y + 1;se X então imprima(Y);Se não imprima( - Y);Fim se
Fim enquanto; Fim;
XY
117117117117117117117117
PORTUGOL
• Teste de mesa• Desafio 27 – valor xx pontos – Fazer dentro de sala.
• O que está de errado no algoritmo abaixo ?
Entregar via e-mail na data xx/xx/xx
Iníciointeiro N, PAR, X;leia(N);X ← N mod 2;Se x = 0 então PAR ← verdadeiro;Se não PAR ← falso;Fim;
NPARX
118118118118118118118118
PORTUGOL
• Teste de mesa• Desafio 28 – valor xx pontos – Fazer dentro de sala.
• O que será impresso depois do algoritmo ?
Entregar via e-mail na data xx/xx/xx
Iníciocaracter QUALE;inteiro NUM;leia(NUM);Se NUM > 0 então QUALE ← “Número positivo;Se não QUALE ← “Zero”;Fim seFim;
NUMQUALE
Fazer para NUM 10, 0 e -45
119119119119119119119119
PORTUGOL
• Teste de mesa• Desafio 28 – valor xx pontos – Fazer dentro de sala.
• Elaborar um algoritmo em portugol par fazer a soma de vários valores positivos lidos a partir do teclado o último valor será -1 para indicar o fim dos valores lidos.
• Construir um algoritmo em portugol para calcular a média de um conjunto de valores inteiros que serão fornecidos a partir do teclado um de cada vez, o último valor terá o valor de 9999 e não deverá ser incluído no cálculo.
• Construir um algoritmo em portugol para calcular as raízes de uma equação de segundo grau, sendo que os valores dos coeficientes A, B, C serão fornecidos pelo teclado todos de uma única vez.
• Sendo ,fazer um algoritmo em portugol para gerar o número H. O número N será lido a partir do teclado.
Para cada algoritmo fazer o teste de mesa e entregar com no mínimo 10 interações.
Entregar via e-mail na data xx/xx/xx
nH
1...
5
1
4
1
3
1
2
11
120120120120120120120120
PORTUGOL
• Teste de mesa• Desafio 29 – valor xx pontos – Fazer dentro de sala.
• Calcular o Imposto de renda de um grupo de contribuintes considerando:• Os dados de cada contribuinte será informado via teclado com as seguintes
informações: cpf, número de dependentes, renda anual.• Os dados do último contribuinte terá cpf igual a zero e não deve ser
considerado.• Para cada contribuinte será feito um desconto de R$6.000,00 por dependente.• Imprimir cpf, renda, número de dependentes e o imposto de renda.• Os valores da alíquota para cálculo do imposto são:
Fazer o teste de mesa e entregar com no mínimo 2 exemplos para cada faixa.
Entregar via e-mail na data xx/xx/xx
Renda líquida alíquotaAté R$ 20.000,00 isentoDe R$ 20.000,01 a R$ 50.000,00 5%De R$ 50.000,01 a R$ 100.000,00 10%Acima de R$ 100.000,00 15%
121121121121121121121121
PORTUGOL
• Teste de mesa• Desafio 30 – valor xx pontos – Fazer dentro de sala.
• Escrever um algoritmo em portugol que calcule o fatorial de um número informado pelo teclado e o imprima na tela;
• Elaborar um algoritmo que leia um número real via teclado e calcule o somatório dos 20 primeiros termos da série
• Elaborar um algoritmo em portugol para um programa que leia os seguintes dados do teclado, código (1= Masc e 2=Feminino) e a altura da pessoa, e no final, quando for informado o código 0 que indica o final, imprimir:
• A maior e a menor altura da turma;• A média da altura das mulheres;• A média da altura dos homens;• A média da altura da turma;• Número de mulheres na turma;• Número de homens na turma;• Total de alunos da turma.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
!20...
!4!3!2!1
XXXXXXS
122122122122122122122122
PORTUGOL
• Teste de mesa• Desafio 31 – valor xx pontos – Fazer dentro de sala.
• Escrever um algoritmo que leia a partir do teclado o número do aluno e a sua nota, o último aluno terá o seu número 99 que não deve ser incluído no processamento. Depois imprimir na tela para aquele aluno que obteve a maior nota o seu número com a respectiva nota o mesmo para o aluno que obteve a menor nota.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
123123123123123123123123
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – VETORES
Elabore um algoritmo em portugol que leie o nome e o telefone de uma pessoa a partir do teclado e imprima o nome e telefone.
InicioCharacter: NomeInteiro: TelefoneLeia(Nome, Telefone)Enquanto Telefone <> 0 faça imprima (“Nome:”,Nome,” Telefone: Telefone);Fimenquantofim
124124124124124124124124
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – VETORES
• Altere o algoritmo anterior para ler 2 números de telefones para a mesma pessoa ao invés de apenas 1;
• Agora altere o mesmo algoritmo para ler 5 números;• Agora altere para ler 10 números;• Agora altere para ler 50 números;• Agora altere para ler 100 números;• Agora altere para ler 500 números;
• Quais os inconvenientes que surgiram com as alterações acima ?
__________________________________________________
125125125125125125125125
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – VETORES
• O quê as 500 variáveis criadas no algoritmo anterior têm em comum ?
• _________________;
• _________________.
• Qual é então o grande desafio ?
• O Desafio é arrumar uma maneira sintética (que se escreva pouco) para representar todas estas variáveis de forma que mantenha a mesma semântica e permita a manipulação das variáveis de uma forma natural.
126126126126126126126126
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – VETORES
• Vetores:
• É uma coleção (uma quantidade) de uma determinada variável do mesmo tipo (primitiva ou composta) com a mesma semântica e que é referenciada por um único nome com a utilização de um índice.
Telefone
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
127127127127127127127127
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – VETORES
• Vetores:
• Cada quadrado representa uma variável que por sua vez representa um telefone• Pode-se ter tantos telefones quanto forem necessários• Cada variável telefone é do mesmo tipo• Cada variável carrega a mesma semântica “número do telefone”• Pode-se ter uma única variável representando vários tipos ao mesmo tempo, esta
estrutura será vista mais adiante.
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
telefone
128128128128128128128128
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – VETORES
• Vetores:
• Como seria a definição da variável telefone no portugol ?
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
telefone
129129129129129129129129
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – VETORES
• Vetores:
• Como seria a definição da variável telefone no portugol para definir os 500 telefones do algoritmo ?
Tipo v = vetor[1:500] inteiro v: telefone
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
telefone
Definição de novos tiposIndica a definição de um tipo de dados chamado vetor com 500 ocorrências
Representação gráfica de como a variável iria ficar na memória
do computador
130130130130130130130130
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 32 – valor xx pontos – Fazer dentro de sala.
• Definir os seguintes vetores:• Um vetor telefone do tipo inteiro de 1000 ocorrências• Um vetor Nome do tipo caracter de 10 ocorrências• Um vetor NúmeroDiaDaSemana• Um vetor NomeDoDiaDaSemana• Um vetor NomeDosMeses• Um vetor NúmeroDosMeses• Um vetor Nota do tipo real de 12 ocorrências• Um vetor Lógico de 10 ocorrências (Verdadeiro ou Falso)• Faça 4 sugestões de vetores informando o seu nome, tipo e número de
ocorrências. Defina cada uma das sugestões usando a sintaxe do portugol.
Entregar via e-mail na data xx/xx/xx
131131131131131131131131
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – VETORES
• Vetores:
• Como seria a manipulação(atribuir, fornecer, participar em expressões matemáticas e lógicas) da variável telefone no portugol?
• Tipo telefone = vetor[1:500] inteiro
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
Este é um telefone
telefone
Indica a quantidade de variáveis telefone do tipo inteiro
Representação gráfica de como a variável iria ficar na memória
do computador
132132132132132132132132
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – VETORES
• Vetores:
Tipo v = vetor[1:500] inteiro v: telefone
• Como seria a manipulação(atribuir, fornecer, participar em expressões matemáticas e lógicas) da variável telefone no portugol?
• Atribuição
var1 <- telefone(1);
var1 <- telefone(indice);
Atribuindo a primeira ocorrência do vetor telefone para a variável var1. A variável var1 tem que te o mesmo tipo do vetor telefone.
Atribuindo a ocorrência indicada pelo valor da variável índice do vetor telefone para a variável var1. A variável var1 tem que ter o mesmo tipo do vetor telefone.
133133133133133133133133
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – VETORES
• Vetores:
Tipo v = vetor[1:500] inteiro v: telefone
• Atribuição
var1 <- telefone(índice);
telefone(5) <- var1;
telefone(x) <- var2;
A variável índice tem que ser obrigatoriamente do tipo inteiro. Não existe indexador fracionário.
Atribuindo o valor da variável var1 para a quinta ocorrência do vetor telefone.
134134134134134134134134
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – VETORES
• Vetores:
Tipo v = vetor[1:500] inteiro v: telefone
• Condição
Se telefone(3) = var1 entãoc1;c2;
Senãoc3;c4;
Fimse;
enquanto telefone(índice) = var1 façac1;c2;c3;c4;
Fimenquanto;
135135135135135135135135
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 33 – valor xx pontos – Fazer dentro de sala.
• Dado o seguinte vetor:
• Responda:• A variável nota deve ser definida com qual tipo ?• A variável nota é um array ? Explique a sua resposta• Se for um array qual é o número de ocorrências da
variável nota ?• A variável nota pode ser envolvida em uma expressão ?
Entregar via e-mail na data xx/xx/xx
nota
136136136136136136136136
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 34 – valor xx pontos – Fazer dentro de sala.
• Dado o seguinte vetor:• Faça o que se pede:
• Defina a variável nota como um vetor;• Atribua o valor 5 a última ocorrência para a variável nota;• Defina uma variável xpto com o mesmo tipo da variável nota;• Atribua a ocorrência 5 do vetor nota para a variável xpto;• Verifique se a ocorrência 1 da variável nota é igual à variável
definida;• Elabore um algoritmo para ler dois valores do teclado de cada vez,
o primeiro é o índice indicando em qual ocorrência o segundo valor será colocado. A entrada dos valores deverá terminar quando todo o vetor estiver preenchido. Depois de entrar os últimos valores o algoritmo deverá imprimir o conteúdo do vetor, indicando a ocorrência e o valor da ocorrência.
Continua na próxima transparência.
Entregar via e-mail na data xx/xx/xx
137137137137137137137137
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 34 – valor xx pontos – Fazer dentro de sala.
Entrada:
1, 2 (o valor 2 deverá ser colocado na ocorrência 1 do vetor)5, 3 (o valor 3 deverá ser colocado na ocorrência 5 do vetor)
Saída:
ocorrência 1 – valor 2 ocorrência 2 - valor x
Entregar via e-mail na data xx/xx/xx
138138138138138138138138
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• REPETIÇÃO COM TESTE NO FINAL
• Comando repita:
repitac1;c2;...cn;
Até <condição>cx;Cy;
Comando de repetição com teste no final. Os comandos c1, c2,...,cn serão executados pelo menos uma vez. O teste é feito e se a condição for verdadeira o controle é retornado para o comando repita, repetindo os comandos, caso o teste seja falso o programa continua a execução no comando cx.
139139139139139139139139
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• REPETIÇÃO COM TESTE NO FINAL
repitac1;c2;...cn;
Até <condição>cx;cy;
Estes comandos serão executados pelo menos uma única vez.
A condição é testada no final dos comandos, caso seja verdadeira o controle é retornado ao comando repita e os comandos são executados novamente.
Estes comandos serão executados quando a condição for falsa.
140140140140140140140140
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• REPETIÇÃO COM TESTE NO FINAL
Exemplo: Considere o algoritmo do desafio 33inicio
tipo v = vetor [1:10] real;v: notas;inteiro: indice, valorrepita
leia(indice, valor)se indice > 10 ou indice < 1 ou indice =/= -1
então escreva “indice fora do intervalo do vetor”; escreva “entre novamente”;
senão nota(indice)<- valor;
fimseaté indice =/= -1
fim
Faça um teste de mesa no algoritmo ao lado de forma que o teste preencha todas as ocorrências dos vetor. Observe e anote as anomalias apresentadas pelo algoritmo.
141141141141141141141141
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• REPETIÇÃO COM TESTE NO FINAL
• Em relação ao exemplo do slide anterior responda:• Qual vetor temos definido no algoritmo ?• Qual o tipo do vetor ?• Quantas ocorrências ?• Qual é a condição para que o algoritmo termine ?• Foi necessário fazer uma leitura antes para fazer o processamento,
como era feito no comando enquanto ?• O que poderia acontecer se não houvesse a consistência no algoritmo
perguntando se o índice está entre 1 e 10 e diferente de -1 ?• O algoritmo preenche o vetor de uma forma uniforme, ou seja, uma
ocorrência após a outra ? Explique a sua resposta.• O vetor é obrigatoriamente preenchido ? Explique sua resposta.• Pode-se sobrepor ocorrências do vetor ? Explique.• Pode-se usar o comando enquanto no lugar do comando repita ?
142142142142142142142142
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• REPETIÇÃO COM VARIÁVEL DE CONTROLE
• Comando para
Para v de i até l passo p façac1;c2;...cn;
Fim paracx;cy;
Comando de repetição com variável de controle. A repetição se iniciará colocando a variável v com o mesmo valor de i, a variável v variará de i até l sendo incrementada ou decrescida de 1. Na primeira interação do loop, é feito o teste para verificar se a variável v chegou em l, caso não seja verdadeiro, os comandos serão executados até fim para, quando o controle é retornado ao comando para, da segunda vez em diante a variável v é decrescida ou incrementada pela variável p, o teste volta a ser feito, se o teste for falso, ou seja, p não atingiu l, os comandos são executados novamente, caso v tenha chegado até l, o programa pula para após fo fim para.
143143143143143143143143
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• REPETIÇÃO COM VARIÁVEL DE CONTROLE
Para v de i até l passo p façac1;c2;...cn;
Fim paracx;cy;
“v” deve ser obrigatóriamente uma variável do tipo inteira e é a variável sob a qual está baseado o controle do loop. O ideal, é que esta variável não seja modificada nos comandos c1, c2, ..., cn. Caso isso ocorra, corre-se o risco de v nunca atingir l.
“i” pode ser uma variável ou uma constante numérica inteira ou uma expressão. Ela indica o valor com o qual a variável v será iniciada. Só é utilizada na primeira interação da repetição.
“l” é uma variável ou constante ou uma expressão numérica que indica o valor final que a variável “v” deve atingir para que a repetição seja finalizada. Em toda a interação um teste é feito para ver se o valor de “v” chegou até o valor de “l”, se o teste for verdadeiro a repetição é terminada, caso contrário a repetição continua.
“p” variável ou constante numérica ou uma expressão que indica o valor que será adicionado ou subtraído da variável de controle.Esta variável não é usada na primeira interação da repetição.
144144144144144144144144
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• REPETIÇÃO COM VARIÁVEL DE CONTROLE
144144144144144144144144
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
Para v de i até l passo p façac1;c2;...cn;
Fim paracx;cy;
Comandos a serem executados caso o teste da variável “v” sobre a variável “l” seja falso, ou seja, se a variável “v” não atingiu o valor da variável “l”
Separador ou terminador do comando de repetição “para”. Quando o teste da variável de controle for falso, os comandos internos a estrutra de repetição “para” são executados até este marcador, quando o teste for verdadeiro a execução do algoritmo continua com os comandos após o marcador.
145145145145145145145145
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• REPETIÇÃO COM VARIÁVEL DE CONTROLE
• Considere o seguinte algoritmo:
InicioInteiro: x;Para x de 1 até 10 passo 1 faça
c1;c2;...cn;
Fim paracx;cy;
1. Quais os valores que fazem o papel das seguintes variáveis ?a. v;b. i;c. l;d. p;
2. Explique como funcionará a estrutura de repetição “para”.
3. Quando os comandos cx e cy serão executados ?
4. Quando os comandos c1,c2,...,cn serão executados ?
5. Quantas vezes a estrutura de repetição será executada ?
146146146146146146146146
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• REPETIÇÃO COM VARIÁVEL DE CONTROLE
• Considere o seguinte algoritmo:
InicioInteiro: x;w,z,yPara x de z até w passo y faça
c1;c2;...cn;
Fim paracx;cy;
1. Quais as variáveis que fazem o papel das seguintes variáveis ?a. v;b. i;c. l;d. p;
2. Explique o papel de cada uma das variáveis no comando “para”.
3. Considere os seguintes valores para as varia´veis x,w,z e y. Explique como funcionará o comando “para” para cada uma das configurações.a. x=100,z=1,w=5,y=1;b. x=0,z=6,w=5,y=1;c. x=?,z=5,w=5,y=-1;d. x=?,z=0,w=-5,y=-1;e. x=?,z=-6,w=-7,y=1;f. x=?,z=-6,w=-6,y=-1;g. x=0,z=6,w=5,y=-1;h. x=0,z=0,w=10,y=2;
147147147147147147147147
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• REPETIÇÃO COM VARIÁVEL DE CONTROLE
• Considere o seguinte algoritmo:
InicioInteiro: x;w,z,yPara x de z até w passo y faça
c1;c2;...cn;
Fim paracx;cy;
1. Indique os valores de x,w,y,z para atender as seguintes especificações de como deve funcionar a repetição descrita no comando “para” ao lado.a. Os comandos dentro do comando
“para” não devem ser executados nenhuma vez;
b. O comando “para” deve ser executado 20 vezes e terminar com o valor de “x” em 100 executando os comandos internos ao “para” 5 vezes;
c. Os comandos dentro do comando “para” devem ser executados apenas uma única vez;
d. O comando “para” deve ser executado 20 vezes e terminar com o valor de “x” em 100 e come;ar em 200 executando os comandos internos ao “para” 5 vezes.
148148148148148148148148
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• O COMANDO ABANDONE
• O comando “abandone” é um comando imperativo que pode ser usado dentro de qualquer estrutura de repetição “enquanto”, “para” e “repita” ou ate mesmo dentro do bloco “inicio e fim” de um algoritmo. Ele forca o termino da estrutura de repetição incondicionalmente. Quando encontrado fora de uma estrutura de repetição mas dentro de um bloco “inicio e fim” ele termina o programa.
InicioInteiro: x;w,z,yPara x de z até w passo y faça
c1;c2;.abandone;.cn;
Fim paracx;cy;
149149149149149149149149
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 35 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
InicioInteiro: i;Tipo v = vetor [1:6] inteiro;Tipo c = vetor [1:6] caracter;v:VE; c:CAVE[1]<-1;VE[2]<-2;VE[3]<-3;VE[4]<-4;VE[5]<-5;CA[1]<-”SEG”;CA[1]<-”TER”;CA[1]<-”QUA”;CA[1]<-”SEX”;CA[1]<-”SAB”;Para i de 1 até 6 paso 2 faça imprima(CA[VE[i]])Fim para;Imprima(CA[VE[VE[3]]]);fim
Faça o teste de mesa no algoritmo ao lado e mostre o que será impresso.
150150150150150150150150
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 36 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
Inicioreal: X;tipo v = vetor [1:6] real;v: V;inteiro: i;V[1]<-1;V[2]<-2;V[3]<-3;V[4]<-4;V[5]<-5;X <- V[1] + V[5];imprima(X);X <- V[2] – V[5];imprima(X);X <- V[4] * V[1]-X;imprima(X);I <-3;X<-V[i];imprima(X);X <- V[i] /V[V[1]];imprima(X);fim
Faça o teste de mesa no algoritmo ao lado e mostre o que será impresso.
151151151151151151151151
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 37 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
Um professor tem uma turma de 80 alunos e deseja calcular e imprimir a nota de cada aluno seguida da média da turma. O número do aluno juntamente com as notas são fornecidos em cartão, um por aluno.
Entrada:NotaNotaNota...Nota (octagésima)
Faça o teste de mesa no algoritmo ao lado e mostre o que será impresso.
SaídaNúmero aluno, Nota, média...Número aluno, Nota, média
152152152152152152152152
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 38 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
Dado o vetor de caracteres abaixo, qual será a sua configuração depois de executados os comandos ?
Faça o teste de mesa no algoritmo ao lado e mostre o que será impresso.
U! TO ER AC
para i de 2 até 4 passo 1 façaAUX <- CRR[i];CRR[8- i + 1];CRR[8 – i + 1] <- AUX;
fim paraAUX <- CRR[1];CRR [1] <- CRR[8];CRR[8] <- AUX;
153153153153153153153153
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 39 – valor xx pontos – Fazer dentro de sala.
Dados dois vetores R[1:10] e S[1:20], escreva um algoritmo que:
Leia os vetores R e S a partir de cartões e:• Gere o vetor X correspondente à união dos vetores R e
S;• Gere o vetor Y com os elementos comuns de R e S;• Gere o vetor Z com os elementos de R que não estão
em S;
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
154154154154154154154154
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 40 – valor xx pontos – Fazer dentro de sala.
Um armazém trabalha com 100 mercadorias diferentes identificadas pelos números inteiros de 1 a 100. O dono do armazém anota a quantidade de cada mercadoria vendida durante o mês. Ele tem uma tabela que indica para cada mercadoria o preço de venda. Escreva o algoritmo para calcular o faturamento mensal do armazém, isto é:
FATURAMENTO =
As tabelas de preço e de quantidade são fornecidas separadamente e deverão ser lidas a partir do teclado.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
100
1
)*( PREÇOQUANTIDADE
155155155155155155155155
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 40 – valor xx pontos – Fazer dentro de sala.
ENTRADA:
QUANTIDADE
PRECO
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
3
2,00 30,00 5,00 15,00 1,00 25
20 35 100 3 21 25
156156156156156156156156
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 41 – valor xx pontos – Fazer dentro de sala.
Elaborar um algoritmo para classificar um vetor numérico de 20 elementos em ordem crescente.
A idéia e comparar os elementos dois a dois e ir jogando os elementos de mais alto valor para as ultimas posições do vetor ate obter o vetor classificado.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
157157157157157157157157
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 41 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
5 4 3 2 6 1
4 5 3 2 6 1
4 3 5 2 6 1
4 3 2 5 6 1
Stop no 5
4 3 2 5 1 6
4 3 2 5 6 1
3 4 2 5 1 6
4 2 3 5 1 6
158158158158158158158158
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 41 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
4 2 3 5 1 6
4 2 3 1 5 6
2 4 3 1 5 6
2 4 3 1 5 6
2 3 1 4 5 6
2 3 4 1 5 6
2 1 3 4 5 6
1 2 3 4 5 6
159159159159159159159159
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 42 – valor xx pontos – Fazer dentro de sala.
1. Dar o número de elementos de cada um dos vetores dados abaixo:a) VET [-5: +5]b) NOME [0:10]c) OC [1:10]d) ARR [0:N]
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
160160160160160160160160
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 43 – valor xx pontos – Fazer dentro de sala.
Dado o vetor VET definido por:tipo v = vetor[1:100] inteiro;v = VET;
1. Elabore um algoritmo para preencher o vetor com o valor inteiro 30 e depois imprimir as ocorrências pares com o indicador da ocorrência e o valor contido nela.
2. Preenche-lo com os valores inteiros 1 a 100 e depois imprimir cada ocorrência ímpar com o índice da ocorrência e o seu conteúdo.
3. Preencher o vetor VET[i] se i for um quadrado perfeito e com zero nos demais casos.
4. Preencher o vetor VET[i] com 0 se i for par, nos demais casos preencher com 1.Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
161161161161161161161161
PORTUGOL
• Teste de mesa – Tipos de dados Vetores• Desafio 44 – valor xx pontos – Fazer dentro de sala.
• Qual será a configuração do vetor acima depois de executados os seguintes comandos ?
Entregar via e-mail na data xx/xx/xx
3 2 4 1 2 5 8 3
para i de 8 até 5 passo -1 faça AUX <- VET[i]; VET[I] <- VET[8-i+1]; VET[8-i+1] <- AUX;fim para;VET[3] <- VET[1];VET[VET[3]]<-VET[VET[2]];
162162162162162162162162
PORTUGOL• Teste de mesa – Tipos de dados
Vetores• Desafio 44 – valor xx pontos – Fazer dentro de sala.
• Construir um algoritmo para imprimir a soma de dois vetores do mesmo tamanho e do mesmo tipo.
• O que pode estar errado com o algoritmo a seguir ?
Entregar via e-mail na data xx/xx/xx
Iníciointeiro: A,B,I,L,P,C;A <- 1;B <- 1;leia(L,P);Para I de 1 até L passo P faça
C <- A + B;
imprima(C);A <- B;B <- C;
fim para;fim
163163163163163163163163
PORTUGOL• Teste de mesa – Tipos de dados
Vetores• Desafio 45 – valor xx pontos – Fazer dentro de sala.
• Escreva um algoritmo, em portugol, para um programa que:• Leia um conjunto A de 100 elementos reais;• Construa e imprima um outro conjunto B
formado da seguinte maneira:• Os elementos de ordem (índice) par são os
correspondentes de A dividido por 2;• Os elementos de ordem ímpar são os
correspondentes de A multiplicados por 3.
Entregar via e-mail na data xx/xx/xx
164164164164164164164164
PORTUGOL• Teste de mesa – Tipos de dados
Vetores• Desafio 46 – valor xx pontos – Fazer dentro de sala.
• Dado o seguinte vetor de caracteres:
Qual será a sua configuração após serem executados os comandos a seguir ?
Entregar via e-mail na data xx/xx/xx
T R X S E O B A !
AUX <- VET[6];VET[6] <- VET[9];VET[9] <- <- AUX;Para I de 1 até 4 passo 1 faça AUX <- VET [I]; VET[I] <- VET[9-i]; VET[9-i] <- AUX;fim paraVET[6] <- VET [2];
165165165165165165165165
PORTUGOL• Teste de mesa – Tipos de dados
Vetores• Desafio 47 – valor xx pontos – Fazer dentro de sala.
• Elaborar um algoritmo para calcular o número de alunos que tiveram nota acima da média da turma. As notas são fornecidas em cartão e são 40 alunos na turma.
Entregar via e-mail na data xx/xx/xx
166166166166166166166166
PORTUGOL• Teste de mesa – Tipos de dados
Vetores• Desafio 48 – valor xx pontos – Fazer dentro de sala.
• Escreva um algoritmo em portugol que:• Leia um conjunto A de 20 elementos, um de cada
vez. • Calcule e imprima o valor de S onde:
Entregar via e-mail na data xx/xx/xx
21011
2183
2192
2201 )(...)()()( AAAAAAAAs
221
10
1)( ii i AAS
167167167167167167167167
PORTUGOL• Teste de mesa – Tipos de dados
Vetores• Desafio 49 – valor xx pontos – Fazer dentro de sala.
• Escreva um algoritmo em portugol que:• Leia um conjunto A de 20 elementos, um de cada
vez. • Calcule e imprima o valor de S onde:
Entregar via e-mail na data xx/xx/xx
21011
2183
2192
2201 )(...)()()( AAAAAAAAs
221
10
1)( ii i AAS
168168168168168168168168
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS - MATRIZES
169169169169169169169169
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – MATRIZES
As aulas da disciplina de fundamentos de Programação acontecem no primeiro semestre letivo do Curso de Ciência da Computação. Todos os dias de cada mês do semestre são ministradas duas aulas e em todos os dias é aplicada uma avaliação valendo 10 pontos. Elabore um algoritmo para ler as notas de cada das avaliações aplicadas e depois imprima a média das notas de cada mês.
170170170170170170170170
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – MATRIZES• Definição do Tipo Matriz
171171171171171171171171
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – MATRIZES• Definição de uma variável do tipo Matriz
172172172172172172172172
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – MATRIZES• Representação de uma variável associada a um tipo Matriz na
memória do computador
173173173173173173173173
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – MATRIZES• Usando uma variável do tipo matriz em uma estrutura de repetição
condicional com variável de controle “para”
174174174174174174174174
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – MATRIZES• Acesso aos elementos de uma variável do tipo matriz
175175175175175175175175
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – MATRIZES• Colocando informações dentro de uma variável do tipo matriz
176176176176176176176176
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – MATRIZES• Atribuindo informações de dentro de uma variável do tipo matriz
para uma variável qualquer
177177177177177177177177
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – MATRIZES• Usando uma variável do tipo matriz em uma estrutura condicional
178178178178178178178178
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• COMANDO ESCOLHA
179179179179179179179179
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• COMANDO ESCOLHA
180180180180180180180180
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• COMANDO ESCOLHA
181181181181181181181181
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• COMANDO ESCOLHA
182182182182182182182182
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• COMANDO ESCOLHA
183183183183183183183183
PORTUGOL
• Teste de mesa – Tipos de dados Matrizes• Desafio 50 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
184184184184184184184184
PORTUGOL
• Teste de mesa – Tipos de dados Matrizes• Desafio 51 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
185185185185185185185185
PORTUGOL
• Teste de mesa – Tipos de dados Matrizes• Desafio 52 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
186186186186186186186186
PORTUGOL
• Teste de mesa – Tipos de dados Matrizes• Desafio 53 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
187187187187187187187187
PORTUGOL
• Teste de mesa – Tipos de dados Matrizes• Desafio 54 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
188188188188188188188188
PORTUGOL
• Teste de mesa – Tipos de dados Matrizes• Desafio 55 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
189189189189189189189189
PORTUGOL
• Teste de mesa – Tipos de dados Matrizes• Desafio 56 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
190190190190190190190190
PORTUGOL
• Teste de mesa – Tipos de dados Matrizes• Desafio 57 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
191191191191191191191191
PORTUGOL
• Teste de mesa – Tipos de dados Matrizes• Desafio 58 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
192192192192192192192192
PORTUGOL
• Teste de mesa – Tipos de dados Matrizes• Desafio 59 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
193193193193193193193193
PORTUGOL
• Teste de mesa – Tipos de dados Matrizes• Desafio 60 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
194194194194194194194194
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – REGISTRO
As aulas da disciplina de fundamentos de Programação acontecem no primeiro semestre letivo do Curso de Ciência da Computação. Todos os dias de cada mês do semestre são ministradas duas aulas e em todos os dias é aplicada uma avaliação valendo 10 pontos. Elabore um algoritmo para ler as notas de cada das avaliações aplicadas e depois imprima a média das notas de cada mês.
195195195195195195195195
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – REGISTRO• Definição do Tipo Registro
196196196196196196196196
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – REGISTRO• Definição de uma variável do tipo Registro
197197197197197197197197
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – REGISTRO• Representação de uma variável associada a um tipo Registro na
memória do computador
198198198198198198198198
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – REGISTRO• Lendo uma variável do tipo registro
199199199199199199199199
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – REGISTRO• Acesso aos elementos de uma variável do tipo registro
200200200200200200200200
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – REGISTRO• Colocando informações dentro de uma variável do tipo registro
201201201201201201201201
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – REGISTRO• Atribuindo informações de dentro de uma variável do tipo registro
para uma variável qualquer
202202202202202202202202
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• TIPO DE DADOS – REGISTRO• Usando uma variável do tipo registro em uma estrutura
condicional
203203203203203203203203
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• Teste de mesa – Tipos de dados Registro• Desafio 60 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
204204204204204204204204
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• Teste de mesa – Tipos de dados Registro• Desafio 61 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
205205205205205205205205
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• Teste de mesa – Tipos de dados Registro• Desafio 62 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
206206206206206206206206
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• Teste de mesa – Tipos de dados Registro• Desafio 63 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
207207207207207207207207
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• Teste de mesa – Tipos de dados Registro• Desafio 64 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
208208208208208208208208
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• Teste de mesa – Tipos de dados Registro• Desafio 65 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
209209209209209209209209
PROCEDIMENTOS E FUNÇÕES
• BLOCOS
210210210210210210210210
PROCEDIMENTOS E FUNÇÕES
• BLOCOS
211211211211211211211211
PROCEDIMENTOS E FUNÇÕES
• BLOCOS
212212212212212212212212
PROCEDIMENTOS E FUNÇÕES
• BLOCOS
213213213213213213213213
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• Teste de mesa – Blocos• Desafio 66 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
214214214214214214214214
PROCEDIMENTOS E FUNÇÕES
• ESCOPO DE VARIÁVEIS
215215215215215215215215
PROCEDIMENTOS E FUNÇÕES
• ESCOPO DE VARIÁVEIS
216216216216216216216216
PROCEDIMENTOS E FUNÇÕES
• ESCOPO DE VARIÁVEIS
217217217217217217217217
PROCEDIMENTOS E FUNÇÕES
• ESCOPO DE VARIÁVEIS
218218218218218218218218
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• Teste de mesa – Escopo de Variáveis• Desafio 67 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
219219219219219219219219
PROCEDIMENTOS E FUNÇÕES
• PROCEDIMENTOS
220220220220220220220220
PROCEDIMENTOS E FUNÇÕES
• PROCEDIMENTOS
221221221221221221221221
PROCEDIMENTOS E FUNÇÕES
• PROCEDIMENTOS
222222222222222222222222
PROCEDIMENTOS E FUNÇÕES
• PROCEDIMENTOS
223223223223223223223223
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• Teste de mesa – Procedimentos• Desafio 68 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
224224224224224224224224
PROCEDIMENTOS E FUNÇÕES
• FUNÇÃO
225225225225225225225225
PROCEDIMENTOS E FUNÇÕES
• FUNÇÃO
226226226226226226226226
PROCEDIMENTOS E FUNÇÕES
• FUNÇÃO
227227227227227227227227
PROCEDIMENTOS E FUNÇÕES
• FUNÇÃO
228228228228228228228228
PROCEDIMENTOS E FUNÇÕES
• FUNÇÃO
229229229229229229229229
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• Teste de mesa – Função• Desafio 69 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx
230230230230230230230230
PROCEDIMENTOS E FUNÇÕES
• FUNÇÃO RECURSIVA
231231231231231231231231
ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS
• Teste de mesa – Recursividade• Desafio 70 – valor xx pontos – Fazer dentro de sala.
Apresentar o teste de mesa para cada algoritmo..
Entregar via e-mail na data xx/xx/xx