Você está na página 1de 231

CURSO ENGENHARIAS ELTRICA E MECNICA ALGORITMO E PROGRAMAO

Mardem Barbosa de Anchieta Rosa PITGORAS/CONTAGEM AGO/2012


1

FUNDAMENTOS DE PROGRAMAO
Objetivo do Curso Objetivo da Disciplina Introduo ao conceito de algoritmo e programao
Conceitos bsicos Conceito de Algoritmo Estruturas Bscias de Controle Estruturas de Dados As Melhores prticas na construo de programas
Manutenibilidade Flexibilidade Documentao A fora e destruio do GOTO

Algoritmos Baseados em Estruturas de Dados Homogneas (vetores)


Repetio com Teste no Final Repetio com Varivel de Controle O Comando Abandone

Algoritmos Baseados em Estruturas de Dados Homogneas (Matrizes)


Alternativa de Mltiplas Escolhas Definio do Tipo Matriz Definio de Novos Tipos

Portugol
Introduo Declarao de Variveis Tipos Bsicos Comandos Bsicos Blocos Comandos de Entrada e Sada

Algoritmos Baseados em Estruturas de Dados Heterogneas (Matrizes)


Tipo registro Registros usando Vetores e Matrizes

Teste de Mesa Operadores

Procedimentos e Funes
Modularizao
2

O QUE MOVE O MUNDO SO AS PERGUNTAS E NO AS RESPOSTAS.

Objetivo Curso

ENGENHARIAS:
MECNICA O curso de Engenharia Mecnica tem como objetivo formar profissionais com uma slida formao tcnico-cientfica e profissional geral que o capacite a absorver e desenvolver tecnologias, estimulando a sua atuao crtica e criativa na identificao e resoluo de problemas de Engenharia Mecnica, considerando seus aspectos poltico-econmicos, sociais, ambientais e culturais, com viso tica e humanstica, em atendimento s demandas da sociedade. O engenheiro mecnico responsvel pelo projeto, produo, operao e manuteno de mquinas, equipamentos e componentes mecnicos. Ele responde pela segurana, qualidade e eficincia operacional e energtica de tais equipamentos e componentes. Alm disso, gerencia equipes de trabalho, acompanha custos, prazos, cumprimento das normas de segurana, sade e meio ambiente e ainda os padres de 4 qualidade.

Objetivo Curso

ENGENHARIAS:
ELTRICA

O Curso de Engenharia Eltrica tem como objetivo formar engenheiros eletricistas capacitados a atender s diferentes solicitaes profissionais, com uma viso crtica, criativa e inovadora, atravs de uma slida formao bsica, geral e humanstica, associada sua formao profissional especfica.

Objetivo da Disciplina

Algoritmo e Programao Desenvolver nos alunos a competncia e as habilidades necessrias para a concepo de solues computacionais aplicadas aos problemas relativos engenharia.

AVALIAO

Algoritmo e Programao

Avaliaes parciais Exerccios Provas Trabalhos Desafios Partipaes

AVALIAO

Algoritmo e Programao
Valor das avaliaes: Parcial 0 a 10 pontos Oficial (1 por bimestre) 0 a 10 pontos Composio:

(Terico/prtico)

Avaliao oficial = 70% da nota bimestral Avaliao parcial = 30% da nota bimestral
8

AVALIAO

Algoritmo e Programao
Composio:

(Prtica)

Avaliao oficial = 0% da nota bimestral Avaliao parcial = 100% da nota bimestral

AVALIAO

Algoritmo e Programao
Nota do bimestre
Notadobimestre (avaliao oficialx 0,7) avaliaoparcialx 0,3

( Nota do primeiroBimestre Nota do segundoBimestre ) Nota Final 2

10

AVALIAO

Algoritmo e Programao
Exame final Nota final < 6

( Mdiabimestral Nota exame final ) Nota Final 2 Reprovao Mdia bimestral < 4 Mdia com exame final < 6 11

AVALIAO

Algoritmo e Programao

12

AVALIAO

Algoritmo e Programao
Frequncia 75% de frequncia 60 horas aulas Mximo de 15 faltas.
13

AVALIAO

Algoritmo e Programao
2 chamada Vlida para as avaliaes oficiais 1 por semestre Falta nas duas avaliaes oficiais Primeira = 0 Segunda = Nota da 2 chamada (Toda a disciplina vista no semestre) 14

PROGRAMAO DAS AULAS

Algoritmo e Programao

programao

15

ENTREGA DE DESAFIOS
Entrega de trabalhos Trabalhos entregues por e-mail mardem.barbosa@pitagoras.com.br No campo ASSUNTO DO E-MAIL digitar as seguintes informaes:
PIT-EW-AP-2012s1-DESAFIO XXDD/DD/AAAA-SEU NOME Onde: W: M Mecnica, E Eltrica XX: Nmero do desafio; DD: dia em que foi aplicado o desafio; MM: Ms em que foi aplicado o desafio; AAAA: Ano em que foi aplicado o desafio;

16 16

Qual a misso desta ferramenta?


AR VENTO

FRIO CALOR

Possibilitar a representao e o tratamento dos objetos do nosso mundo real.

Comos esses objetos so representados no computador?


AR
VENTO

FRIO CALOR

Atravs das suas caractersticas, propriedades, Atributos.

Comos esses objetos so representados no computador? Como esses conceitos so tratados no computador?
Carro Pessoa Fogo

AR

VENTO

A luz Sol

Vento e sua direo e velocidade

Atravs das suas caractersticas, propriedades, Atributos. Atravs dos programas

Comos esses objetos so tratados no computador? Como esses conceitos so tratados no computador?
Carro Pessoa Fogo

AR

VENTO

A luz Sol

Vento e sua direo e velocidade

Atravs de programas Atravs dos programas de computador.

NIVELAMENTO CONCEITOS BSICOS

1 lei Mardeniana. Tudo na informtica termina em IFs e MOVEs.

Introduo ao conceito de algoritmo e programao

Conceitos Bsicos
Concreto
Algo que tem existncia prpria

Abstrato
Algo que tem dependncia de existncia

Abstrao
Foco na essncia

Ao
um evento que ocorre num perodo de tempo finito, estabelecendo um efeito intencionado e bem definido.
Exemplo: -Levantar o p;
-Deslocar o p levantado para frente; -Abaixar o p levantado.
22

Introduo ao conceito de algoritmo e programao

Conceitos Bsicos
Atividade
a execuo de uma tarefa ou ao.

Tarefa
Conjunto de aes. (Veja definio de ao) No exemplo sobre ao 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 ? _____________
23

Introduo ao conceito de algoritmo e programao

Conceitos Bsicos
Problema
um resultado indesejado

Dado Um valor qualquer Informao Valor com significado

24

Introduo ao conceito de algoritmo e programao

Conceitos Bsicos
Relacione as Figuras com Atividade, Ao, tarefa e Processo.

____ ____ ____

____ ____ ____

____ ____ ____


25

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo

O que um algoritmo ?
a DESCRIO de um PADRO de COMPORTAMENTO, expresso em termos de um repertrio BEM DEFINIDO e FINITO de AES primitivas , das quais damos por certo que elas podem ser executadas.
26

Conceito de Algoritmo

Introduo ao conceito de algoritmo e programao

Identifique os padres de comportamento abaixo que os objetos sugerem. Sugestes dos alunos
Fritar Ovos________ _________________ _________________ _________________ _________________ _________________ _________________
27

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
Identifique os padres de comportamento abaixo que os objetos sugerem. 1,5,9,13,17,21 Sugestes dos alunos
_________________ _________________ _________________ _________________ _________________ _________________ _________________
28

Conceito de Algoritmo

Introduo ao conceito de algoritmo e programao

Identifique os padres de comportamento abaixo que os objetos abaixo sugerem. Sugestes dos alunos
_________________ _________________ _________________ _________________ _________________ _________________ _________________
29

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
Responda as perguntas abaixo: 1.Os padres de comportamentos identificados nos slides anteriores so algoritmos ? Explique. 2.O que necessrio para que sejam um algoritmo ? 3.Tudo que est ao nosso redor pode ser entendido como tendo um padro de comportamento ? Explique.
30

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
Boas lembranas
1.Um objeto no um padro de comportamento, mas ele sofre ou sugere um padro de comportamento 2.Padro 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

31

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
Descrever o padro de comportamento FRITAR OVOS
1. 2. 3. 4. Abrir a geladeira; Pegar ovo na geladeira; Fechar a geladeira; Colocar o ovo em cima da mesa; 5. Abrir o armrio; 6. Pegar uma frigideira; 7. Fechar o armrio; 8. Abrir a dispensa; 9. Pegar o sal; 10. Pegar o leo; 11. Ascender o fogo; 13. Colocar a frigideira no fogo; 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.
a DESCRIO de um PADRO de COMPORTAMENTO, expresso em termos de um repertrio bem DEFINIDO e FINITO de AES primitivas , das quais damos por certo que elas podem ser executadas.

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
Desafio 01 valor xx pontos Fazer dentro de sala. Escolha dois dos padres 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 Padro de comportamento Bem definido Finito 33

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
Baseando-se no exemplo de descrio do padro 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) ao(es) que no (so) bem definida(s) ? Indique qual(is). 4. Existe(m) alguma(s) ao(es) que no (so) finita(s) ? Indique qual(is). 5. 6. Indique no exemplo onde temos atividades. Como pode ser classificada Fritar ovos ? Como uma ao ? Como uma tarefa ? Como um processo ? Como uma atividade ? Explique a sua resposta.
34

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO
ASPECTO ESTTICO

Analisando o exemplo de algoritmo FRITAR OVOS, identifique elementos que so ESTTICOS, ou seja, independente da execuo do algoritmo, eles nunca mudaro. O texto que descreve os comandos A ordem dos comandos
35

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO ASPECTO ESTTICO Se alterarmos um dos verbos (no pelo seu sinnimo) que esto no incio do comando mudamos o _____________, mudando tambm o seu resultado final, o seu efeito.
1. Abrir a geladeira; (arredar, arrumar) 3. Fechar a geladeira;(virar, limpar) 5. Abrir o armrio;(fechar, tirar) 7. Fechar o armrio;(abrir, pintar) 9. Pegar o sal;(comprar, ensacar) 11. Ascender o fogo;(ligar, lavar) 2. Pegar um ovo na geladeira; 4. Colocar o ovo em cima da mesa; 6. Pegar uma frigideira; 8. Abrir a dispensa; 10. Pegar o leo; 12.Colocar a frigideira no fogo;
36

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO ASPECTO ESTTICO Se alterarmos a ordem dos comandos tambm mudamos o _____________, mudando o seu resultado final, o seu efeito.
1. Fechar a geladeira; 3. Colocar o ovo em cima da mesa; 5. Abrir o armrio; 7. Fechar o armrio; 9. Pegar o sal; 11. Ascender o fogo; 2. Pegar um ovo na geladeira; 4. Pegar uma frigideira; 6.Abrir a geladeira; 8. Abrir a dispensa; 10. Pegar o leo; 12.Colocar a frigideira no fogo;
37

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO ASPECTO ESTTICO Concluindo, o texto sob o qual o algoritmo criado, representa a parte esttica do mesmo. Este texto composto pelos comandos e a ordem em que eles esto dispostos.

38

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO ASPECTO DINMICO Analisando o exemplo de algoritmo FRITAR OVOS, identifique elementos que so DINMICOS, ou seja, podem mudar entre as execues dos algoritmos que o efeito desejado do mesmo no muda. Os objetos sob os quais os comandos agem sobre eles
39

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO ASPECTO DINMICO Se alterarmos os objetos (por objetos da mesma classe) que esto no incio do comando no mudamos o _____________, que continua produzindo o mesmo efeito desejado.
1. Abrir a geladeira; (arredar, arrumar) 3. Fechar a geladeira;(virar, limpar) 5. Abrir o armrio;(fechar, tirar) 7. Fechar o armrio;(abrir, pintar) 9. Pegar o sal;(comprar, ensacar) 11. Ascender o fogo;(ligar, lavar) 2. Pegar um ovo na geladeira; 4. Colocar o ovo em cima da mesa; 6. Pegar uma frigideira; 8. Abrir a dispensa; 10. Pegar o leo; 12.Colocar a frigideira no fogo;
40

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO
ASPECTO DINMICO

Concluindo, os objetos tratados, usados no algoritmo constituem a parte dinmica do mesmo. Ou seja, a cada execuo do algoritmo os objetos podem ser diferentes e as aes sobre eles mudam as suas caractersticas o seu estado, que no modifica o efeito final desejado. Um exemplo disso o ovo, uma vez frito, o prximo ovo a ser fritado, no o mesmo da vez anterior, e o efeito esperado o mesmo OVO FRITO......sacaram...?

41

Conceito de Algoritmo

Introduo ao conceito de Estruturas de Controle

Considere o seguinte RELATO de uma pessoa observando uma dona de casa: (EVENTO 1) DESCASCAR BATATAS PARA O JANTAR
1. 2. (R1) 3. 4. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Descascar as batatas; Devolver a cesta ao poro

42

Conceito de Algoritmo

Introduo ao conceito de Estruturas de Controle

No outro dia a dona de casa novamente realiza outro evento, relatado pelo mesmo observador: (EVENTO 2) DESCASCAR BATATAS PARA O JANTAR
1. 2. (R1) 3. 4. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Descascar as batatas; Devolver a cesta ao poro

43

Introduo ao conceito de algoritmo e programao

Conceito de Algoritmo
Desafio 02 valor xx pontos Fazer dentro de sala.
Os dois eventos Descascar batatas para o jantar so os mesmos ? Explique Os dois relatos descrevem os mesmos eventos ? Os dois relatos so os mesmos ? Explique usando o conceito de ESTTICO e DINMICO. O qu os dois eventos tem em comum ? Logo, os dois relatos descrevem o mesmo evento ? Ento os dois relatos podem ser transformados em um _____________.

Entregar via e-mail na data xx/xx/xx

44

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


SEQNCIA SIMPLES
Definida pelo smbolo ; que tem o objetivo de indicar o trmino de um comando e estabelecer a ordem de execuo dos comandos um aps o outro de acordo como aparecem no texto.

(A1)

1. 2. 3. 4.

Trazer a cesta com batatas do poro; Trazer a panela do armrio; Descascar as batatas; Devolver a cesta ao poro;

45

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


Desafio 03 valor xx pontos Fazer dentro de sala.
O que significa o smbolo ; em um algoritmo ? Indique a ordem em que o (A1) ser executado; O que garante que o comando Descascar as batatas; no seja executado antes de Trazer a panela do armrio; ? Qual comando em (A1) no finito ? Defina os aspectos dinmicos e estticos em (A1).

Entregar via e-mail na data xx/xx/xx


46

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR CONDICIONAL SE.....ENTO
Suponhamos que toda vez que a cozinheira for descascar batatas ela pe um avental. Modifique o (A1) para representar esta nova situao.

(A1)

1. 2. 3. 4. 5.

Trazer a cesta com batatas do poro; Trazer a panela do armrio; Descascar as batatas; Devolver a cesta ao poro;
47

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR CONDICIONAL SE.....ENTO
Com a introduo do comando Colocar avental;, temos um novo algoritmo, mesmo que o efeito final seja o mesmo, em funo do texto que eles apresentam so algoritmos diferentes.

(A1)

1. 2. 3. 4. 5.

Trazer a cesta com batatas do poro; Trazer a panela do armrio; Colocar o Avental; Descascar as batatas; Devolver a cesta ao poro;
48

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR CONDICIONAL SE.....ENTO
Agora, suponha que a cozinheira s colocar o avental se ela estiver com uma roupa clara.Modifique o (A2) para representar esta nova situao.
1. 2. 3. 4. 5. 6. Trazer a cesta com batatas do poro; Trazer a panela do armrio;

(A2)

Descascar as batatas; Devolver a cesta ao poro;


49

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR CONDICIONAL SE.....ENTO
Esta nova estrutura de controle, chamada conector condicional SE...ENTO, permite ao algoritmo decidir sob determinadas condies e executar os comandos se a condio for verdadeira, ou no executar os comandos se a condio for falsa. (A3)
1. 2. 3. 4. 5. 6. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental; Descascar as batatas; Devolver a cesta ao poro;
50

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


Condio a ser testada.

SE condio ENTO comando 1; Comando 2; Comando 3;


Se a condio for falsa, os comandos imediatamente aps a palavra ENTO sero pulados at o ponto e vrgula e os comandos aps o ponto e vrgula sero executados.

Se a condio for verdadeira, os comandos imediatamente aps a palavra ENTO sero executados.

51

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR CONDICIONAL SE.....ENTO
O que acontecer se a cozinheira no estiver com uma saia clara ?
1. 2. 3. 4. 5. 6. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental; Descascar as batatas; Devolver a cesta ao poro;
52

(A3)

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR CONDICIONAL SE.....ENTO
Quando o comando Colocar avental; ser executado ? E o comando Descascar batatas; ? Quais comandos no esto sob condio ? O que acontecer com estes comandos que no esto sob nenhuma condio quando o algoritmo for executado ? (A3)
1. 2. 3. 4. 5. 6. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental; Descascar as batatas; Devolver a cesta ao poro;

53

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


Desafio 04 valor xx pontos Fazer dentro de sala.
Escreva um comando Se...Ento. Na estrutura de controle SE (condio) ENTO indique o que esttico e o que dinmico no comando. Quando a condio na estrutura de controle condicional for verdadeira o que acontece na execuo do algoritmo ? Quando a condio na estrutura de controle condicional for falsa o que acontece na execuo do algoritmo ? Como pode ser interpretado a utilizao das estruturas de controle simples com a condicional ?

Entregar via e-mail na data xx/xx/xx

54

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR REPETITIVO
O comando descascar batatas; descaracteriza o algoritmo por no ser finito. Vamos torn-lo finito limitando o nmero de batatas que ser descascadas.

(A4)

1. 2. 3. 4. 5. 6.

Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental; Descascar uma batata; Devolver a cesta ao poro;
55

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR REPETITIVO
Quais os inconvenientes no algoritmo (A4) ? _______________________________ _______________________________ _______________________________ _______________________________ (A4)
1. 2. 3. 4. 5. 6. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental; Descascar uma batata; Devolver a cesta ao poro;

56

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR REPETITIVO
Qual(is) as soluo(es) para tornar o algoritmo (A4) vivel ?
1. 2. 3. 4. 5. 6. 7. 8. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental;

(A4)

Devolver a cesta ao poro;


57

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR REPETITIVO
Qual(is) as soluo(es) para tornar o algoritmo (A4) vivel ? SOLUO 1
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental; Descascar uma batata; Descascar uma batata; Descascar uma batata; ... Descascar uma batata; Devolver a cesta ao poro;

(A5)

58

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR REPETITIVO
Quais os inconvenientes no algoritmo (A5) ? _______________________________ _______________________________ _______________________________ _______________________________
(A5)
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental; Descascar uma batata; Descascar uma batata; Descascar uma batata; ... Descascar uma batata; Devolver a cesta ao poro;

59

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR REPETITIVO
Qual(is) as soluo(es) para tornar o algoritmo (A5) vivel ? SOLUO 2
1. 2. 3. 4. 5. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental; Se nmero de batatas descascadas no for suficiente Ento Descascar uma batata; Devolver a cesta ao poro;
60

(A6)

6. 7.

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR REPETITIVO
Quais os inconvenientes no algoritmo (A6) ? _______________________________ _______________________________ _______________________________ _______________________________
(A6) 1. 2. 3. 4. 5. 6. 7. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental; Se nmero de batatas descascadas no for suficiente Ento Descascar uma batata; Devolver a cesta ao poro;

61

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR REPETITIVO
Qual(is) as soluo(es) para tornar o algoritmo (A6) vivel ? SOLUO 3
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental; Se nmero de batatas descascadas no for suficiente Ento Descascar uma batata; Se nmero de batatas descascadas no for suficiente Ento Descascar uma batata; Se nmero de batatas descascadas no for suficiente Ento Descascar uma batata; Se nmero de batatas descascadas no for suficiente Ento Descascar uma batata; ... Devolver a cesta ao poro;

(A7)

62

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR REPETITIVO
Quais os inconvenientes no algoritmo (A7) ? _______________________________ _______________________________
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental; Se nmero de batatas descascadas no for suficiente Ento Descascar uma batata; Se nmero de batatas descascadas no for suficiente Ento Descascar uma batata; Se nmero de batatas descascadas no for suficiente Ento Descascar uma batata; Se nmero de batatas descascadas no for suficiente Ento Descascar uma batata; ... Devolver a cesta ao poro;

(A7)

63

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR REPETITIVO
Qual(is) as soluo(es) para tornar o algoritmo (A7) vivel ? SOLUO 4
1. 2. 3. 4. 5. 6. 7. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental; ENQUANTO nmero de batatas descascadas no for suficiente FAA Descascar uma batata; Devolver a cesta ao poro;

(A8)

64

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


CONECTOR REPETITIVO
Parte esttica do comando
ENQUANTO condio FAA comando1; comando2; . . . comando n;
Separador da parte de comandos que sero executados quando a condio for positiva dos que sero executados quando a condio for negativa

Parte dinmica do comando


Comandos a serem executados caso a condio seja verdadeira
65

Introduo ao conceito de algoritmo e programao

Estruturas Bsicas de Controle


Desafio 05 valor xx pontos Fazer dentro de sala.
Escreva um comando ENQUANTO...FAA. Na estrutura de controle ENQUANTO (condio) FAA indique o que esttico e o que dinmico no comando. Quando a condio na estrutura de controle repetitiva for verdadeira o que acontece na execuo do algoritmo ? Quando a condio na estrutura de controle repetitiva for falsa o que acontece na execuo do algoritmo ? Como pode ser interpretado a utilizao das estruturas de controle simples com a repetitiva ? Tanto na estrutra de controle condicional quanto na repetitiva, quando as suas condies so verdadeiras, que tipo de estrutura de controle pode vir na parte verdadeira ?

Entregar via e-mail na data xx/xx/xx


66

Introduo ao conceito de algoritmo e programao

Estruturas de Dados
O que vamos aprender a fazer nessa disciplina representar objetos do mundo real dentro do computador e descrever os padres de comportamento que agem sobre estes objetos.
Temos ento um enorme desafio. Como representar os objetos abaixo dentro de um computador ?

67

Introduo ao conceito de algoritmo e programao

Estruturas de Dados
Como reconhecemos estes objetos no nosso mundo real ? ___________
Carro
Mas computadores no entendem formas

Ferro de passar Casa

Sala de aula, alunos e professor

Ento como faramos para representar estes objetos de forma que o computador pudesse reconhec-los ?
68

Introduo ao conceito de algoritmo e programao

Estruturas de Dados
Reconhea os objetos abaixo:
Nmero da conta corrente Saldo Agncia Banco

Nome Peso Altura Endereo Cart. Ident. CPF

Marca Cor Ano Modelo Combustvel Nmero de passageiros

Usamos as caractersticas (atributos) dos objetos para represent-los dentro do computador. Como para cada objeto as mesmas caractersticas mudam(dinmica), chamaremos estas 69 caractersticas de VARIVEIS.

Introduo ao conceito de algoritmo e programao

Estruturas de Dados
As caractersticas(atributos) dos objetos representados internamente em um computador, e processados atravs de um algoritmo representam a parte dinmica do mesmo. 1. Se tipo_conta = Poupana ENTO 2. Somar valor do depsito em saldo_poupana; 3. Se tipo_conta = Corrente ENTO 4. Somar valor do depsito em saldo_corrente;
Qual o objeto que estamos processando nesse trecho do algoritmo ? _______________________ Destaque as partes dinmicas das estticas e justifique a separao . _________________, _____________, ___________________, _____________, ________ O que significa uma palavra estar entre aspas duplas igual a Poupana e Corrente. 70 __________________________________________________________________________

Introduo ao conceito de algoritmo e programao

Estruturas de Dados
Desafio 06 valor xx pontos Fazer dentro de sala.
Descreva atravs das suas caractersticas o objeto ALUNO; Descreva atravs das suas caractersticas o objeto PROFESSOR; Descreva atravs das suas caractersticas o objeto FILME Descreva atravs das suas caractersticas o objeto LIVRO Dentro de um algoritmo as suas caractersticas so tratadas como ______________e representam a parte ______________ do mesmo. Porqu usamos o termo DINMICA para as variveis ? Os objetos, as coisas do mundo real sao representados dentro do computador atraves das suas _____________.

Entregar via e-mail na data xx/xx/xx


71

PORTUGOL

Introduo
At momento usamos a lngua portuguesa para expressar os
algoritmos A liberdade de expresso essencial para o desenvolvimento da criatividade A lngua portuguesa d margem para: Dupla interpretao (impreciso): 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 expresso x Notao formal
Soluo: Uma linguagem que no restrinja a liberdade de expresso e que seja formal para eliminar ambiguidades.

72

PORTUGOL

Introduo
O Portugol (simbiose de Portugus com Pascal ou Algol) uma pseudolinguagem de programao (usada para descrever padres de comportamentos - algoritmos) que permite projetos de algoritmos independentes da tecnologia, alm de ser concisa e determinstica.
Sintaxe x Semntica: Sintaxe a regra para a formao de uma frase; Semntica o sentido que a frase possui.

73

PORTUGOL

Declarao de variveis
Identificador: Nome dado aos comandos e as variveis.
Sintaxe para formao de identificadores

LETRA LETRA

DGITO
74

PORTUGOL

Declarao de variveis
Desafio 07 valor xx pontos Fazer dentro de sala.
Atravs do diagrama para formao de nomes de comandos e atributos, siga o diagrama para formar ts nomes de sua sugesto. Marque dentre as opes abaixo quais os identificadores que ferem a regra atravs do diagrama proposto. Abcdefgijklmenopzrqz124589advadladaldasldaddla1 Xicara 1pessoa #conta_bancria Com ta Pea NOME NmerO
75

Entregar via e-mail na data xx/xx/xx

PORTUGOL

Declarao de variveis
Tipos bsicos: o conjunto domnio dos valores que cada varivel simbolizada por um identificador pode receber. Domnios permitidos
Inteiro: Conjunto dos nmeros inteiros, isso quer dizer que o identificador declarado com este tipo, s pode conter valores do seu domnio. Real: Conjunto dos nmeros reais (inteiros negativos, nmeros racionais negativos, zero, inteiros positivos, nmeros racionais positivos) Lgico: S permite conter os valores verdadeiro ou falso
76

PORTUGOL

Declarao de variveis
SINTAXE PARA DECLARAO DE VARIVEIS

inteiro real caracter lgico

IDENTIFICADOR

77

PORTUGOL

Declarao de variveis
Desafio 08 valor xx pontos Fazer dentro de sala.
Declare os identificadores abaixo de acordo com a declarao de tipos, atribuindo a eles os tipos mais adequados. Siga o rigor da sintaxe para declarao de tipos. Nome-aluno - Tipo-conta(poupana ou corrente) Nmero-matrcula - Sexo(feminino ou Masculino) sexo Nota Peso Altura Cdigo-disciplina Carteira-Identidade Cpf Endereo; Declare como vari[aveis as caracteristicas dos objetos do desafio 06 Declare as variveis que existem em uma folha de cheque

Entregar via e-mail na data xx/xx/xx

78

PORTUGOL

Comandos Bsicos
Comandos imperativos
Comandos que determinam uma ao independente de qualquer condio.

79

PORTUGOL

Comandos Bsicos
Comandos imperativos
Comando de atribuio
Para atribuirmos o valor de expresso a uma varivel. EXPRESSO ;

IDENTIFICADOR

O QUE UMA EXPRESSO ?


80

PORTUGOL

Comandos Bsicos
Comandos imperativos
Comando de atribuio
O QUE UMA EXPRESSO ?
EXPRESSO uma combinao de variveis, smbolos, operadores (aritmticos, lgicos, relacionais), nmeros, smbolos grficos ((,),[,],{,}) que se transforma em valor.
81

PORTUGOL

Comandos Bsicos
Desafio 09 valor xx pontos Fazer dentro de sala.
Quais so os operadores aritmticos ? Quais so os operadores lgicos ? Quais so os operadores relacionais ? Indique abaixo aquelas que podem ser consideradas expresses e classifique-as: Tipo-conta - Tipo-conta no 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 * frequncia 2 - Tipo-conta sexo Tipo-conta e sexo - Tipo-conta sexo Tipo-conta ou sexo - Tipo-conta sexo
82

Entregar via e-mail na data xx/xx/xx

PORTUGOL

Comandos Bsicos
Desafio 10 valor xx pontos Fazer dentro de sala.
Considere as seguintes variveis: Saldo Nota Nmero-acadmico Nome Telefone Sexo (lgico - verdade se mulher, falso se homem) Tipo-conta (lgico verdade corrente, falso poupana) Qtde-estoque Tipo-material frequncia

Entregar via e-mail na data xx/xx/xx


83

PORTUGOL

Comandos Bsicos
Desafio 10 valor xx pontos Fazer dentro de sala.
Marque os identificadores invlidos se houver; Declare cada uma das variveis do slide anterior; Elabore uma expresso (aritmtica, lgica e relacional) com cada uma das variveis; Atribua varivel saldo o valor dela mesmo mais 10; Atribua varivel nota o valor de 10; Atribua varivel nmero-acadmico o valor de 12345; Atribua varivel nome a constante literal Jos Antnio; Atribua varivel telefone a constante literal 33-35395827; Atribua varivel sexo o valor verdadeiro; Atribua varivel tipo-conta o valor falso; Atribua varivel qtde-estoque a raiz quadrada de 300; Atribua varivel tipo material a letra A; Atribua varivel frequncia o nmero 20;
84

Entregar via e-mail na data xx/xx/xx

PORTUGOL

Blocos
Um bloco um conjunto de comandos com uma funo bem definida.
Ele serve tambm para definir os limites onde as variveis declaradas em seu interior so reconhecidas. Inicialmente, um bloco corresponder a um programa ou a um algoritmo ou a uma descrio de comportamento. Pode haver blocos dentro de blocos Sintaxe para a definio de um bloco

Inicio Declarao de variveis comandos fim

85

PORTUGOL

Blocos
Exemplo1 de um algoritmo
Elaborar um algoritmo que realiza a soma dos nmeros de 1 a 10. inicio inteiro : soma; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; fim
86

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 varivel soma quando o mesmo chegar ao fim. O valor da varivel soma o que foi proposto no enunciado do algoritmo ? Explique. Proponha uma alterao no algoritmo de forma que ele cumpra o proposto no seu enunciado.

Entregar via e-mail na data xx/xx/xx

87

PORTUGOL

Blocos
Execuo do exemplo1 (Teste de Mesa)
Elaborar um algoritmo que realiza a soma dos nmeros de 1 a 10. inicio inteiro : soma; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; fim

soma
1

88

PORTUGOL

Blocos
Execuo do exemplo1 (Teste de mesa)
Elaborar um algoritmo que realiza a soma dos nmeros de 1 a 10.

Inteiro : soma; Soma 1 Soma 2 Soma 3 Soma 4 Soma 5 Soma 6 Soma 7 Soma 8 Soma 9 Soma 10

; ; ; ;

soma

;
; ; ; ; ;

89

PORTUGOL

Blocos
Execuo do exemplo1 correto (Teste de ms)
Elaborar um algoritmo que realiza a soma dos nmeros de 1 a 10.

Inteiro : soma; Soma Soma Soma Soma Soma Soma Soma Soma Soma Soma
Soma Soma Soma Soma Soma Soma Soma Soma Soma Soma + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 10 ; ; ; ; ; ; ; ; ; ; 55

1
3 6 10

soma

15
21 28 36 45 90

PORTUGOL

Comandos Bsicos
Comandos condicionais
Alternativa Simples
A condio qualquer expresso(relacional ou lgica) que devolva o valor verdadeiro ou falso.

Caso o valor da expresso seja falso a execuo desviada para o primeiro comando que segue a palavra fim se

Se <condio> Ento c1; c2; c3; Fim se; c4; c5;

Se o valor da expresso for verdadeiro os comandos entre as palavras Ento e Fim se sero executados continuando a execuo dos comandos depois da palavra fim se

91

PORTUGOL

Comandos Bsicos
Desafio 12 valor xx pontos Fazer dentro de sala.
Seja o seguinte trecho do algoritmo Responda: Inicio 1) Quais os comandos que sero executados? Inteiro A, B; 2) Se o valor de A fosse 16 e B fosse 15, quais os A 10; comandos que seriam executados ? B 15; 3) Quando o comando c3 ser executado ? Se A > B Ento 4) Que tipo de expresso A > B ? 5) Se a expresso fosse A + b, quais os comandos seriam c1; executados ? Explique. c2; 6) A varivel A pode receber o valor 15,5 ? Explique. Fim se; 7) Os comandos c1 e ou c2 podem ser outros comandos c3; condicionais ? Fim. 8) Os comandos c1 e c2 sero sempre executados ?

Entregar via e-mail na data xx/xx/xx

92

PORTUGOL

Comandos Bsicos
Desafio 13 valor xx pontos Fazer dentro de sala.
Seja o seguinte trecho do algoritmo
Inicio
Lgico B1, B2; B3; Se B1 Ento c1; Se B2 ento Se B3 ento c2; c3 Fim se; Fim se; Fim se; Responda: 1) Se B1=Verdadeiro, B2=Verdadeiro e B3=Verdadeiro, quais comandos sero executados ? 2) Se B1=Verdadeiro, B2=Verdadeiro e B3=Falso, quais comandos sero executados ? 3) Se B1=Verdadeiro, B2=Falso e B3=Falso, quais comandos sero executados ? 4) Se B1=Falso, B2=Falso e B3=Falso, quais comandos sero executados ? 5) Se B1=Falso, B2=Verdadeiro e B3=Verdadeiro, quais comandos sero executados ? 6) Se B1=Falso, B2=Falso e B3=Verdadeiro, quais comandos sero 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 ?

Fim.

Entregar via e-mail na data xx/xx/xx

93

PORTUGOL

Comandos Bsicos
Comandos condicionais
Alternativa Composta
Se <condio> Ento c1; c2; c3; SE no c4; c5; Caso o valor da expresso Fim se; seja falso a execuo desviada para o primeiro c6; comando que segue a palavra Se no c7
A condio qualquer expresso(relacional ou lgica) que devolva o valor verdadeiro ou falso.

Seqncia simples que independente da condicional. Sempre ser executada depois que for encontrado o Fim se

Se o valor da expresso for verdadeiro os comandos entre as palavras Ento e Se no sero executados continuando a execuo dos comandos depois da palavra fim se

94

PORTUGOL

Comandos Bsicos
Desafio 14 valor xx pontos Fazer dentro de sala.
Seja o seguinte trecho do algoritmo
Inicio
Lgico B1, B2; B3; Se B1 Ento c1; Se nao Se B2 ento Se B3 ento c2; Se nao c3; Fim se; Fim se; Fim se;

Responda: 1) Se B1=Verdadeiro, B2=Verdadeiro e B3=Verdadeiro, quais comandos sero executados ? 2) Se B1=Verdadeiro, B2=Verdadeiro e B3=Falso, quais comandos sero executados ? 3) Se B1=Verdadeiro, B2=Falso e B3=Falso, quais comandos sero executados ? 4) Se B1=Falso, B2=Falso e B3=Falso, quais comandos sero executados ? 5) Se B1=Falso, B2=Verdadeiro e B3=Verdadeiro, quais comandos sero executados ? 6) Se B1=Falso, B2=Falso e B3=Verdadeiro, quais comandos sero 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 condies ?

c4;
Fim.

Entregar via e-mail na data xx/xx/xx

95

PORTUGOL

Comandos Bsicos
Desafio 15 valor xx pontos Fazer dentro de sala.
Seja o seguinte trecho do algoritmo
Inicio Lgico : A,B,C; real : X,Y; Inteiro : V, L;

Responda: 1) Qual o valor de L depois da execuo do algoritmo ?

A Falso; B Verdadeiro; C Falso; X 1,5; Y 32; X X+1; Se C ou ( (X + Y > 5) ou (no A e B) ENTO L 0; Se no L 1; Fim se; Fim.

Entregar via e-mail na data xx/xx/xx

96

PORTUGOL

Comandos Bsicos
Comandos condicionais
Repetio
Enquanto <condio> Faa c1; c2; c3; c4; c5; Fim enquanto; c6; c7
A condio qualquer expresso(relacional ou lgica) que devolva o valor verdadeiro ou falso.

Seqncia simples que independente da condicional. Sempre ser executada depois que for encontrado o Fim enquanto

Se o valor da expresso for verdadeiro os comandos entre as palavras Faa e Fim enquanto sero executados continuando a execuo dos comandos depois da palavra fim enqu

97

PORTUGOL

Comandos Bsicos
Desafio 16 valor xx pontos Fazer dentro de sala.
Elaborar os seguintes algoritmos: Soma dos nmeros inteiros de 1 a 1.000.000 Soma dos nmeros inteiros pares de 1 a 1.000.000 Soma dos nmeros inteiros mpares de 1 a 1.000.00 Some os nmeros inteiros mltiplos de 3 de 1 a 1.000.000 98 Entregar via e-mail na data xx/xx/xx

PORTUGOL

Comandos Bsicos
Comandos imperativos
Comandos de entrada e sada
Elaborar um algoritmo que receba dois nmeros inteiros e faa a soma dos nmeros inteiros contidos entre esses dois nmeros. No final, imprimir o valor somado.

99

PORTUGOL

Comandos Bsicos
Comandos imperativos
Comandos de entrada e sada
At o momento elaboramos programas que utilizaram informaes geradas ou codificadas internamente. necessrio que a linguagem d condies de que o programa receba informaes 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.
100

PORTUGOL

Comandos Bsicos
Comandos imperativos
Comandos de entrada e sada
Comando para leitura: , Leia ( IDENTIFICADOR

101

PORTUGOL

Comandos Bsicos
Comandos imperativos
Comandos de entrada e sada
Comando para sada: , Imprima ( IDENTIFICADOR EXPRESSO CARACTER
102

PORTUGOL

Comandos de entrada e sada


Desafio 17 valor xx pontos Fazer dentro de sala.
Elaborar os seguintes algoritmos:
Ler trs nmeros simultaneamente e imprimir a soma dos trs nmeros; Ler um nmero de cada vez, e imprimir a soma desses nmeros. O ltimo nmero dever ser 999 que indicar o fim do fornecimento dos nmeros e no 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


103

PORTUGOL

Teste de mesa
Desafio 18 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio inteiro VALOR, SOMA; SOMA 0; Leia (VALOR); enquanto VALOR -1 faa 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.
104

Entregar via e-mail na data xx/xx/xx

PORTUGOL

Teste de mesa
Desafio 19 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio inteiro VALOR, MENOR; Leia (VALOR); MENOR VALOR; enquanto VALOR -1 faa se VALOR < MENOR ento 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.
105

Entregar via e-mail na data xx/xx/xx

PORTUGOL

Teste de mesa
Desafio 20 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio inteiro VALOR, MENOR,MAIOR; Leia (VALOR); MENOR VALOR; MAIOR VALOR; enquanto VALOR -1 faa se VALOR >MAIOR ento MAIOR VALOR; seno se VALOR < MENOR ento 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.
106

Entregar via e-mail na data xx/xx/xx

PORTUGOL

Teste de mesa
Desafio 21 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio inteiro VALOR, MENOR,MAIOR; Leia (VALOR); MENOR VALOR; MAIOR VALOR; enquanto VALOR -1 faa se VALOR >MAIOR ento MAIOR VALOR; seno se VALOR < MENOR ento 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.
107

Entregar via e-mail na data xx/xx/xx

PORTUGOL

Teste de mesa
Desafio 22 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio inteiro A,B,C; Leia (A,B,C); se A < B +C e B < A + C e C < A + B emto se A = B e B = C emto imprima (TRINGULO EQUILTERO); se no se A = B ou A = C ou C = B emto imprima (TRINGULO ISCELES); se no imprima (TRINGULO ESCALENO); fim se; fim se; imprima(NO TRINGULO); fim se; Fim.

Dados trs valores A, B, C, verificar se eles podem ser valores dos lados de um tringulo e, se for, se tringulo eqiltero, isceles ou escaleno. Definir qual o objetivo do algoritmo.
108

Entregar via e-mail na data xx/xx/xx

PORTUGOL

Teste de mesa
Desafio 23 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio real VOLUME, PI,R; PI 3,1416 PI 3,1416 Enquanto R < 6 faa VOLUME 4/3 * PI * (R ** 3); imprima (R, VOLUME); R R + 2; Fim enquanto;

Complemente os valores que sero impressos: R VOLUME 0 0 2 33,51 Qual o objetivo do algoritmo ?

Entregar via e-mail na data xx/xx/xx

109

PORTUGOL

Teste de mesa
Desafio 23 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio real VOLUME, PI,R; PI 3,1416 PI 3,1416 Enquanto R < 6 faa VOLUME 4/3 * PI * (R ** 3); imprima (R, VOLUME); R R + 2; Fim enquanto;

Complemente os valores que sero impressos: R VOLUME 0 0 2 33,51 Qual o objetivo do algoritmo ?

Entregar via e-mail na data xx/xx/xx

110

PORTUGOL

Teste de mesa
Desafio 24 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio real VOLUME, PI,R; PI 3,1416 PI 3,1416 Enquanto R < 6 faa VOLUME 4/3 * PI * (R ** 3); imprima (R, VOLUME); R R + 2; Fim enquanto;

Complemente os valores que sero impressos: R VOLUME 0 0 2 33,51 Qual o objetivo do algoritmo ?

Entregar via e-mail na data xx/xx/xx

111

PORTUGOL

Operadores
Operadores so smbolos ou palavras que representam aes a serem aplicadas entre um ou mais de seus operandos, obtendo um nico resultado, permitindo dessa forma a formao de expresses.
+, Simboliza a operao de adio sobre os dois operandos (nmeros ou variveis); -, Simboliza a operao de subtrao sobre os dois operandos (nmeros ou variveis);
112

PORTUGOL

Operadores
Operadores: div, retorna o resultado da operao de diviso entre dois inteiros. Esses inteiros podem ser constantes numricas ou variveis.
Ex: sejam A e B duas variveis inteiras com os valores 5 e 2 respectivamente. C = A div B retornar 2 em C que o resultado da diviso de 16 por 6.
113

PORTUGOL

Operadores
Operadores: mod, retorna o resto inteiro da operao de diviso entre dois inteiros. Esses inteiros podem ser constantes numricas ou variveis.
Ex: sejam A e B duas variveis inteiras com os valores 16 e 6 respectivamente. C = A mod B retornar 4 em C que o resto da diviso de 5 por 2.
114

PORTUGOL

Teste de mesa
Desafio 25 valor xx pontos Fazer dentro de sala.
Determine os valores que sero impressos depois da execuo do algoritmo abaixo:
Incio inteiro NMERO,D1, D2, D3, D4; NMERO 1.362 D4 NMERO mod 10; D3 (NMERO div 100) mod 10; D2 NMERO mod 10; D1 (NMERO div 1000) mod 10; Imprima(D4,D3,D2,D1); Fim enquanto;

D1 D2 D3 D4

Entregar via e-mail na data xx/xx/xx

115

PORTUGOL

Teste de mesa
Desafio 26 valor xx pontos Fazer dentro de sala.
Quais os resultados produzidos pelo algoritmo que se segue ?
Incio lgico X; inteiro Y; Y 0; X falso; enquanto Y 6 faa X no X; Y y + 1; se X ento imprima(Y); Se no imprima( - Y); Fim se Fim enquanto; Fim;

X Y

Entregar via e-mail na data xx/xx/xx

116

PORTUGOL

Teste de mesa
Desafio 27 valor xx pontos Fazer dentro de sala.
O que est de errado no algoritmo abaixo ?
Incio inteiro N, PAR, X; leia(N); X N mod 2; Se x = 0 ento PAR verdadeiro; Se no PAR falso; Fim;

N PAR X

Entregar via e-mail na data xx/xx/xx


117

PORTUGOL

Teste de mesa
Desafio 28 valor xx pontos Fazer dentro de sala.
O que ser impresso depois do algoritmo ?
Incio caracter QUALE; inteiro NUM; leia(NUM); Se NUM > 0 ento QUALE Nmero positivo; Se no QUALE Zero; Fim se Fim;

Fazer para NUM 10, 0 e -45

NUM QUALE

Entregar via e-mail na data xx/xx/xx

118

PORTUGOL

Teste de mesa
Desafio 28 valor xx pontos Fazer dentro de sala.
Elaborar um algoritmo em portugol par fazer a soma de vrios 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 mdia de um conjunto de valores inteiros que sero fornecidos a partir do teclado um de cada vez, o ltimo valor ter o valor de 9999 e no dever ser includo no clculo. Construir um algoritmo em portugol para calcular as razes de uma equao de segundo grau, sendo que os valores dos coeficientes A, B, C sero fornecidos pelo teclado todos de uma nica1 vez. 1 1 1 1 H 1 ... 2 3 4 5 n Sendo ,fazer um algoritmo em portugol para gerar o nmero H. O nmero N ser lido a partir do teclado.

Para cada algoritmo fazer o teste de mesa e entregar com no mnimo 10 interaes.

Entregar via e-mail na data xx/xx/xx

119

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 informaes: cpf, nmero de dependentes, renda anual. Os dados do ltimo contribuinte ter cpf igual a zero e no deve ser considerado. Para cada contribuinte ser feito um desconto de R$6.000,00 por dependente. Imprimir cpf, renda, nmero de dependentes e o imposto de renda. Os valores da alquota para clculo do imposto so: Renda lquida alquota At R$ 20.000,00 isento De 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%

Fazer o teste de mesa e entregar com no mnimo 2 exemplos para cada faixa.

Entregar via e-mail na data xx/xx/xx

120

PORTUGOL

Teste de mesa
Desafio 30 valor xx pontos Fazer dentro de sala.
Escrever um algoritmo em portugol que calcule o fatorial de um nmero informado pelo teclado e o imprima na tela; Elaborar um algoritmo que leia um nmero real via teclado e calcule o somatrio dos 20 primeiros termos da srie S X X X X X ... X
1 ! 2! 3! 4! 20!

Elaborar um algoritmo em portugol para um programa que leia os seguintes dados do teclado, cdigo (1= Masc e 2=Feminino) e a altura da pessoa, e no final, quando for informado o cdigo 0 que indica o final, imprimir:
A maior e a menor altura da turma; A mdia da altura das mulheres; A mdia da altura dos homens; A mdia da altura da turma; Nmero de mulheres na turma; Nmero de homens na turma; Total de alunos da turma.
121

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

PORTUGOL

Teste de mesa
Desafio 31 valor xx pontos Fazer dentro de sala. Escrever um algoritmo que leia a partir do teclado o nmero do aluno e a sua nota, o ltimo aluno ter o seu nmero 99 que no deve ser includo no processamento. Depois imprimir na tela para aquele aluno que obteve a maior nota o seu nmero 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

122

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


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. Inicio Character: Nome Inteiro: Telefone Leia(Nome, Telefone) Enquanto Telefone <> 0 faa imprima (Nome:,Nome, Telefone: Telefone); Fimenquanto fim
123

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS VETORES Altere o algoritmo anterior para ler 2 nmeros de telefones para a mesma pessoa ao invs de apenas 1; Agora altere o mesmo algoritmo para ler 5 nmeros; Agora altere para ler 10 nmeros; Agora altere para ler 50 nmeros; Agora altere para ler 100 nmeros; Agora altere para ler 500 nmeros; Quais os inconvenientes que surgiram com as alteraes acima ? __________________________________________________
124

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS VETORES O qu as 500 variveis criadas no algoritmo anterior tm em comum ? _________________; _________________. Qual ento o grande desafio ? O Desafio arrumar uma maneira sinttica (que se escreva pouco) para representar todas estas variveis de forma que mantenha a mesma semntica e permita a manipulao das variveis de uma forma natural. 125

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS VETORES Vetores: uma coleo (uma quantidade) de uma determinada varivel do mesmo tipo (primitiva ou composta) com a mesma semntica e que referenciada por um nico nome com a utilizao de um ndice.
Este um telefone Este um telefone Este um telefone Este um telefone

Telefone
Este um telefone

Este um telefone
126

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS VETORES Vetores:
Este um telefone
Este um telefone

Este um telefone

Este um telefone

telefone
Este um telefone Este um telefone

Cada quadrado representa uma varivel que por sua vez representa um telefone Pode-se ter tantos telefones quanto forem necessrios Cada varivel telefone do mesmo tipo Cada varivel carrega a mesma semntica nmero do telefone Pode-se ter uma nica varivel representando vrios tipos ao mesmo tempo, esta estrutura ser vista mais adiante.
127

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS VETORES Vetores: Como seria a definio da varivel telefone no portugol ?

Este um telefone

Este um telefone

Este um telefone

Este um telefone

telefone
Este um telefone

Este um telefone
128

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS VETORES Vetores: Como seria a definio da varivel telefone no portugol para definir os 500 telefones do algoritmo ? Definio de novos tipos Tipo v = vetor[1:500] inteiro Indica a definio de um tipo de dados chamado vetor com 500 ocorrncias v: telefone
Este um telefone Este um telefone Este um telefone Este um telefone

telefone
Representao grfica de como a varivel iria ficar na memria do computador Este um telefone

Este um telefone
129

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 ocorrncias Um vetor Nome do tipo caracter de 10 ocorrncias Um vetor NmeroDiaDaSemana Um vetor NomeDoDiaDaSemana Um vetor NomeDosMeses Um vetor NmeroDosMeses Um vetor Nota do tipo real de 12 ocorrncias Um vetor Lgico de 10 ocorrncias (Verdadeiro ou Falso) Faa 4 sugestes de vetores informando o seu nome, tipo e nmero de ocorrncias. Defina cada uma das sugestes usando a sintaxe do portugol.
130

Entregar via e-mail na data xx/xx/xx

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS VETORES Vetores: Como seria a manipulao(atribuir, fornecer, participar em expresses matemticas e lgicas) da varivel telefone no Indica a quantidade de portugol? variveis telefone do tipo inteiro Tipo telefone = vetor[1:500] inteiro
Este um telefone Este um telefone Este um telefone Este um telefone

telefone
Representao grfica de como a varivel iria ficar na memria do computador Este um telefone

Este um telefone
131

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS VETORES Vetores: Tipo v = vetor[1:500] inteiro v: telefone Como seria a manipulao(atribuir, fornecer, participar em expresses matemticas e Atribuindo a primeira ocorrncia do vetor lgicas) da varivel telefone no telefone para a varivel var1. A varivel portugol?

Atribuio
var1 <- telefone(1);

var1 tem que te o mesmo tipo do vetor telefone.

Atribuindo a ocorrncia indicada pelo valor da varivel ndice do vetor telefone para a varivel var1. A varivel var1 tem que ter o mesmo tipo do vetor telefone.
132

var1 <- telefone(indice);

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS VETORES Vetores: Tipo v = vetor[1:500] inteiro v: telefone Atribuio var1 <- telefone(ndice); telefone(5) <- var1; telefone(x) <- var2;
133

A varivel ndice tem que ser obrigatoriamente do tipo inteiro. No existe indexador fracionrio. Atribuindo o valor da varivel var1 para a quinta ocorrncia do vetor telefone.

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS VETORES Vetores: Tipo v = vetor[1:500] inteiro v: telefone Condio

Se telefone(3) = var1 ento c1; c2; Seno c3; c4; Fimse;

enquanto telefone(ndice) = var1 faa c1; c2; c3; c4; Fimenquanto;


134

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 33 valor xx pontos Fazer dentro de sala. Dado o seguinte vetor:
nota
Responda: A varivel nota deve ser definida com qual tipo ? A varivel nota um array ? Explique a sua resposta Se for um array qual o nmero de ocorrncias da varivel nota ? A varivel nota pode ser envolvida em uma expresso ?

Entregar via e-mail na data xx/xx/xx

135

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 34 valor xx pontos Fazer dentro de sala. Dado o seguinte vetor:
Faa o que se pede:
Defina a varivel nota como um vetor; Atribua o valor 5 a ltima ocorrncia para a varivel nota; Defina uma varivel xpto com o mesmo tipo da varivel nota; Atribua a ocorrncia 5 do vetor nota para a varivel xpto; Verifique se a ocorrncia 1 da varivel nota igual varivel definida; Elabore um algoritmo para ler dois valores do teclado de cada vez, o primeiro o ndice indicando em qual ocorrncia 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 contedo do vetor, indicando a ocorrncia e o valor da ocorrncia. Continua na prxima transparncia.

Entregar via e-mail na data xx/xx/xx

136

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 ocorrncia 1 do vetor) 5, 3 (o valor 3 dever ser colocado na ocorrncia 5 do vetor) Sada:

ocorrncia 1 valor 2 ocorrncia 2 - valor x


Entregar via e-mail na data xx/xx/xx
137

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


REPETIO COM TESTE NO FINAL Comando repita:

repita
c1; c2; . . . cn; At <condio> cx; Cy;

Comando de repetio com teste no final. Os comandos c1, c2,...,cn sero executados pelo menos uma vez. O teste feito e se a condio for verdadeira o controle retornado para o comando repita, repetindo os comandos, caso o teste seja falso o programa continua a execuo no comando cx.
138

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


REPETIO COM TESTE NO FINAL

repita
c1; c2; . . . cn; At <condio> cx; cy;

Estes comandos sero executados pelo menos uma nica vez. A condio testada no final dos comandos, caso seja verdadeira o controle retornado ao comando repita e os comandos so executados novamente.
Estes comandos sero executados quando a condio for falsa.
139

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


REPETIO COM TESTE NO FINAL Exemplo: Considere o algoritmo do desafio 33
inicio tipo v = vetor [1:10] real; v: notas; inteiro: indice, valor repita leia(indice, valor) Faa um teste de mesa no se indice > 10 ou indice < 1 ou indice =/= -1 ento algoritmo ao lado de forma escreva indice fora do intervalo do que o teste preencha todas vetor; as ocorrncias dos vetor. escreva entre novamente; Observe e anote as seno anomalias apresentadas nota(indice)<- valor; pelo algoritmo. fimse at indice =/= -1 140 fim

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


REPETIO COM TESTE NO FINAL Em relao ao exemplo do slide anterior responda:
Qual vetor temos definido no algoritmo ? Qual o tipo do vetor ? Quantas ocorrncias ? Qual a condio para que o algoritmo termine ? Foi necessrio fazer uma leitura antes para fazer o processamento, como era feito no comando enquanto ? O que poderia acontecer se no houvesse a consistncia 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 ocorrncia aps a outra ? Explique a sua resposta. O vetor obrigatoriamente preenchido ? Explique sua resposta. Pode-se sobrepor ocorrncias do vetor ? Explique. Pode-se usar o comando enquanto no lugar do comando repita ?
141

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


REPETIO COM VARIVEL DE CONTROLE Comando para
Comando de repetio com varivel de controle. A repetio se iniciar colocando a varivel v com o mesmo valor de i, a varivel v variar de i at l sendo incrementada ou decrescida de 1. Na primeira interao do loop, feito o teste para verificar se a varivel v chegou em l, caso no seja verdadeiro, os comandos sero executados at fim para, quando o controle retornado ao comando para, da segunda vez em diante a varivel v decrescida ou incrementada pela varivel p, o teste volta a ser feito, se o teste for falso, ou seja, p no atingiu l, os comandos so executados novamente, caso v tenha chegado at l, o programa pula para aps fo fim para.

Para v de i at l passo p faa c1; c2; . . . cn; Fim para cx; cy;

142

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


REPETIO COM VARIVEL DE CONTROLE
v deve ser obrigatriamente uma varivel do tipo inteira e a varivel sob a qual est baseado o controle do loop. O ideal, que esta varivel no seja modificada nos comandos c1, c2, ..., cn. Caso isso ocorra, corre-se o risco de v nunca atingir l.

Para v de i at l passo p faa c1; c2; . . . cn; Fim para cx; cy;

i pode ser uma varivel ou uma constante numrica inteira ou uma expresso. Ela indica o valor com o qual a varivel v ser iniciada. S utilizada na primeira interao da repetio. l uma varivel ou constante ou uma expresso numrica que indica o valor final que a varivel v deve atingir para que a repetio seja finalizada. Em toda a interao um teste feito para ver se o valor de v chegou at o valor de l, se o teste for verdadeiro a repetio terminada, caso contrrio a repetio continua. p varivel ou constante numrica ou uma expresso que indica o valor que ser adicionado ou subtrado da varivel de controle.Esta varivel no usada na primeira interao da repetio. 143

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


REPETIO COM VARIVEL DE CONTROLE

Para v de i at l passo p faa c1; c2; . . . cn; Fim para cx; cy;

Comandos a serem executados caso o teste da varivel v sobre a varivel l seja falso, ou seja, se a varivel v no atingiu o valor da varivel l

Separador ou terminador do comando de repetio para. Quando o teste da varivel de controle for falso, os comandos internos a estrutra de repetio para so executados at este marcador, quando o teste for verdadeiro a execuo do algoritmo continua com os comandos aps o marcador.

144

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


REPETIO COM VARIVEL DE CONTROLE

Considere o seguinte algoritmo:


Inicio Inteiro: x; Para x de 1 at 10 passo 1 faa c1; c2; . . . cn; Fim para cx; cy;
1. Quais os valores que fazem o papel das seguintes variveis ? a. v; b. i; c. l; d. p; Explique como funcionar a estrutura de repetio para. Quando os comandos cx e cy sero executados ? Quando os comandos c1,c2,...,cn sero executados ? Quantas vezes a estrutura de repetio ser executada ?
145

2. 3. 4.

5.

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


REPETIO COM VARIVEL DE CONTROLE

Considere o seguinte algoritmo:


Inicio Inteiro: x;w,z,y Para x de z at w passo y faa c1; c2; . . . cn; Fim para cx; cy;
1. Quais as variveis que fazem o papel das seguintes variveis ? a. v; b. i; c. l; d. p; Explique o papel de cada uma das variveis no comando para. Considere os seguintes valores para as variaveis x,w,z e y. Explique como funcionar o comando para para cada uma das configuraes. 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; 146 h. x=0,z=0,w=10,y=2;

2. 3.

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


REPETIO COM VARIVEL DE CONTROLE

Considere o seguinte algoritmo:


Inicio Inteiro: x;w,z,y Para x de z at w passo y faa c1; c2; . . . cn; Fim para cx; cy;
1. Indique os valores de x,w,y,z para atender as seguintes especificaes de como deve funcionar a repetio descrita no comando para ao lado. a. Os comandos dentro do comando para no 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. 147

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


O COMANDO ABANDONE O comando abandone um comando imperativo que pode ser usado dentro de qualquer estrutura de repetio enquanto, para e repita ou ate mesmo dentro do bloco inicio e fim de um algoritmo. Ele forca o termino da estrutura de repetio incondicionalmente. Quando encontrado fora de uma estrutura de repetio mas dentro de um bloco inicio e fim ele termina o programa.
Inicio Inteiro: x;w,z,y Para x de z at w passo y faa c1; c2; . abandone; . cn; Fim para cx; cy;

148

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 35 valor xx pontos Fazer dentro de sala.
Inicio Inteiro: i; Tipo v = vetor [1:6] inteiro; Tipo c = vetor [1:6] caracter; v:VE; c:CA VE[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 faa imprima(CA[VE[i]]) Fim para; Imprima(CA[VE[VE[3]]]); fim

Faa o teste de mesa no algoritmo ao lado e mostre o que ser impresso.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

149

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 36 valor xx pontos Fazer dentro de sala.
Inicio real: 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

Faa o teste de mesa no algoritmo ao lado e mostre o que ser impresso.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

150

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 37 valor xx pontos Fazer dentro de sala.
Um professor tem uma turma de 80 alunos e deseja calcular e imprimir a nota de cada aluno seguida da mdia da turma. O nmero do aluno juntamente com as notas so fornecidos em carto, um por aluno. Entrada: Nota Nota Nota . . . Nota (octagsima) Sada Nmero aluno, Nota, mdia . . . Nmero aluno, Nota, mdia

Faa o teste de mesa no algoritmo ao lado e mostre o que ser impresso.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

151

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 38 valor xx pontos Fazer dentro de sala.
Faa o teste de mesa no algoritmo ao lado e mostre o que ser impresso.

Dado o vetor de caracteres abaixo, qual ser a sua configurao depois de executados os comandos ?

U O T R E C A

para i de 2 at 4 passo 1 faa AUX <- CRR[i]; CRR[8- i + 1]; CRR[8 i + 1] <- AUX; fim para AUX <- CRR[1]; CRR [1] <- CRR[8]; CRR[8] <- AUX;

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

152

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 cartes e: Gere o vetor X correspondente unio 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 no esto em S;
Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

153

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 40 valor xx pontos Fazer dentro de sala. Um armazm trabalha com 100 mercadorias diferentes identificadas pelos nmeros inteiros de 1 a 100. O dono do armazm anota a quantidade de cada mercadoria vendida durante o ms. Ele tem uma tabela que indica para cada mercadoria o preo de venda. Escreva o algoritmo para calcular o faturamento mensal do armazm, isto :
FATURAMENTO = (QUANTIDADE
1 100

* PREO )

As tabelas de preo e de quantidade so fornecidas separadamente e devero ser lidas a partir do teclado.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

154

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 40 valor xx pontos Fazer dentro de sala.
ENTRADA: QUANTIDADE

3 20
PRECO

35

100 30,00

3 5,00

21 15,00

25 1,00 25

2,00

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx


155

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 41 valor xx pontos Fazer dentro de sala. Elaborar um algoritmo para classificar um vetor numrico de 20 elementos em ordem crescente.

A idia e comparar os elementos dois a dois e ir jogando os elementos de mais alto valor para as ultimas posies do vetor ate obter o vetor classificado.
Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

156

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 41 valor xx pontos Fazer dentro de sala.
5 4 3 2 6 1 4 3 2 5 6 1 4 3 2 5 1 6 3 4 2 5 1 6 4 2 3 5 1 6

4 5 3 2 6 1 4 3 5 2 6 1 4 3 2 5 6 1 Stop no 5

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

157

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 41 valor xx pontos Fazer dentro de sala.
4 2 3 5 1 6 2 3 4 1 5 6 2 3 1 4 5 6 2 1 3 4 5 6 1 2 3 4 5 6

4 2 3 1 5 6 2 4 3 1 5 6 2 4 3 1 5 6

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

158

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 42 valor xx pontos Fazer dentro de sala. 1. Dar o nmero 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


159

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.
2. 3. 4.

Elabore um algoritmo para preencher o vetor com o valor inteiro 30 e depois imprimir as ocorrncias pares com o indicador da ocorrncia e o valor contido nela. Preenche-lo com os valores inteiros 1 a 100 e depois imprimir cada ocorrncia mpar com o ndice da ocorrncia e o seu contedo. Preencher o vetor VET[i] se i for um quadrado perfeito e com zero nos demais casos. 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


160

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 44 valor xx pontos Fazer dentro de sala.
3 2 5 8 3 Qual 2 4 a1configurao do vetor acima depois de ser executados os seguintes comandos ?
para i de 8 at 5 passo -1 faa 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]];

Entregar via e-mail na data xx/xx/xx


161

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 ?
Incio inteiro: A,B,I,L,P,C; A <- 1; B <- 1; leia(L,P); Para I de 1 at L passo P faa C <- A + B; imprima(C); A <- B; B <- C; fim para;

Entregar via e-mail na data xx/xx/xx


fim 162

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 so os correspondentes de A dividido por 2; Os elementos de ordem mpar so os correspondentes de A multiplicados por 3.
Entregar via e-mail na data xx/xx/xx
163

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 46 valor xx pontos Fazer dentro de sala. Dado o seguinte vetor de caracteres:
Qual Rser a sua configurao aps serem executados os T X S E O B A ! comandos a seguir ?
AUX <- VET[6]; VET[6] <- VET[9]; VET[9] <- <- AUX; Para I de 1 at 4 passo 1 faa AUX <- VET [I]; VET[I] <- VET[9-i]; VET[9-i] <- AUX; fim para VET[6] <- VET [2];

Entregar via e-mail na data xx/xx/xx


164

PORTUGOL

Teste de mesa Tipos de dados Vetores


Desafio 47 valor xx pontos Fazer dentro de sala. Elaborar um algoritmo para calcular o nmero de alunos que tiveram nota acima da mdia da turma. As notas so fornecidas em carto e so 40 alunos na turma.

Entregar via e-mail na data xx/xx/xx


165

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:
s ( A1 A20 ) 2 ( A2 A19 ) 2 ( A3 A18 ) 2 ... ( A11 A10 ) 2

10

( A A21i ) i i 1

Entregar via e-mail na data xx/xx/xx


166

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:
s ( A1 A20 ) 2 ( A2 A19 ) 2 ( A3 A18 ) 2 ... ( A11 A10 ) 2

10

( A A21i ) i i 1

Entregar via e-mail na data xx/xx/xx


167

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS - MATRIZES

168

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS MATRIZES As aulas da disciplina de fundamentos de Programao acontecem no primeiro semestre letivo do Curso de Cincia da Computao. Todos os dias de cada ms do semestre so ministradas duas aulas e em todos os dias aplicada uma avaliao valendo 10 pontos. Elabore um algoritmo para ler as notas de cada das avaliaes aplicadas e depois imprima a mdia das notas de cada ms.

169

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS MATRIZES Definio do Tipo Matriz

170

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS MATRIZES Definio de uma varivel do tipo Matriz

171

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS MATRIZES Representao de uma varivel associada a um tipo Matriz na memria do computador

172

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS MATRIZES Usando uma varivel do tipo matriz em uma estrutura de repetio condicional com varivel de controle para

173

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS MATRIZES Acesso aos elementos de uma varivel do tipo matriz

174

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS MATRIZES Colocando informaes dentro de uma varivel do tipo matriz

175

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS MATRIZES Atribuindo informaes de dentro de uma varivel do tipo matriz para uma varivel qualquer

176

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS MATRIZES Usando uma varivel do tipo matriz em uma estrutura condicional

177

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


COMANDO ESCOLHA

178

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


COMANDO ESCOLHA

179

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


COMANDO ESCOLHA

180

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


COMANDO ESCOLHA

181

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


COMANDO ESCOLHA

182

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

183

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

184

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

185

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

186

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

187

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

188

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

189

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

190

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

191

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

192

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

193

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS REGISTRO As aulas da disciplina de fundamentos de Programao acontecem no primeiro semestre letivo do Curso de Cincia da Computao. Todos os dias de cada ms do semestre so ministradas duas aulas e em todos os dias aplicada uma avaliao valendo 10 pontos. Elabore um algoritmo para ler as notas de cada das avaliaes aplicadas e depois imprima a mdia das notas de cada ms.

194

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS REGISTRO Definio do Tipo Registro

195

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS REGISTRO Definio de uma varivel do tipo Registro

196

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS REGISTRO Representao de uma varivel associada a um tipo Registro na memria do computador

197

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS REGISTRO Lendo uma varivel do tipo registro

198

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS REGISTRO Acesso aos elementos de uma varivel do tipo registro

199

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS REGISTRO Colocando informaes dentro de uma varivel do tipo registro

200

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS REGISTRO Atribuindo informaes de dentro de uma varivel do tipo registro para uma varivel qualquer

201

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS


TIPO DE DADOS REGISTRO Usando uma varivel do tipo registro em uma estrutura condicional

202

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS

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

203

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS

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

204

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS

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

205

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS

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

206

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS

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

207

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS

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

208

PROCEDIMENTOS E FUNES
BLOCOS

209

PROCEDIMENTOS E FUNES
BLOCOS

210

PROCEDIMENTOS E FUNES
BLOCOS

211

PROCEDIMENTOS E FUNES
BLOCOS

212

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS

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

213

PROCEDIMENTOS E FUNES
ESCOPO DE VARIVEIS

214

PROCEDIMENTOS E FUNES
ESCOPO DE VARIVEIS

215

PROCEDIMENTOS E FUNES
ESCOPO DE VARIVEIS

216

PROCEDIMENTOS E FUNES
ESCOPO DE VARIVEIS

217

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS

Teste de mesa Escopo de Variveis


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

218

PROCEDIMENTOS E FUNES
PROCEDIMENTOS

219

PROCEDIMENTOS E FUNES
PROCEDIMENTOS

220

PROCEDIMENTOS E FUNES
PROCEDIMENTOS

221

PROCEDIMENTOS E FUNES
PROCEDIMENTOS

222

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS

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

223

PROCEDIMENTOS E FUNES
FUNO

224

PROCEDIMENTOS E FUNES
FUNO

225

PROCEDIMENTOS E FUNES
FUNO

226

PROCEDIMENTOS E FUNES
FUNO

227

PROCEDIMENTOS E FUNES
FUNO

228

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS

Teste de mesa Funo


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

229

PROCEDIMENTOS E FUNES
FUNO RECURSIVA

230

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGNEAS

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

231