Webly: [Aula 8] Operadores, Teste de mesa e Diagrama de blocos - Webly

Ir para


  • (2 Páginas)
  • +
  • 1
  • 2

[Aula 8] Operadores, Teste de mesa e Diagrama de blocos

#1 Membro offline   FelipeMorais Ícone

  • Ícone
  • Grupo: Membro Amigo
  • Posts: 528
  • Cadastrado: 19-agosto 06

Postou 07 janeiro 2007 - 11:25

Olá pessoal, para nossa oitava aula temos algumas coisas interessantes para usarmos nos nossos algoritmos, depois disso vamos voltar a ver sobre operadores (relacionais e lógicos).

A primeira é chamada de Teste de Mesa, serve para testar nosso algoritmo seguindo as instruções de maneira precisa para verificar se o procedimento utilizado está correto ou não. Para isso apenas simulamos possíveis valores para as variáveis e vamos seguindo as instruções ate completarmos o algoritmo.

Existe na Internet uma explicação bem simples de como funciona o teste de mesa, clique aqui para ver (Teste criado por Alexandre M. Gomes).

A segunda é o Diagrama de Bloco, uma seqüência de símbolos, com significado bem definido, portanto, sua principal função é a de facilitar a visualização dos passos de um processamento.

O uso apenas do símbolo não nos dá entendimento da sua função no processamento, necessitando então de alguma descrição curta e direta, preferencialmente dentro do símbolo.
Abaixo, temos uma relação dos principais símbolos utilizados e suas funções (sinta-se à vontade para completar nossa relação).


Imagem



Exemplo:

Imagem


*Operadores Relacionais

Os operadores relacionais são utilizados para comparar String de caracteres e números. Os valores a serem comparados podem ser caracteres ou variáveis.

TOTAL = PRECO * QUANTIDADE
 1 + 7 * 2 ** 2 –1 = 28
 3 * (1 – 2) + 4 * 2 = 5


Estes operadores sempre retornam valores lógicos (verdadeiro ou falso/ True ou False)
Para estabelecer prioridades no que diz respeito a qual operação executar primeiro, utilize os parênteses.

Os operadores relacionais são:

Imagem

*Operadores Lógicos
Os operadores lógicos servem para combinar resultados de expressões, retornando se o
resultado final é verdadeiro ou falso.
Os operadores lógicos são:
Imagem

E / AND - Uma expressão AND (E) é verdadeira se todas as condições forem
verdadeiras
OR/OU - Uma expressão OR (OU) é verdadeira se pelo menos uma condição for
verdadeira
NOT - Um expressão NOT (NÃO) inverte o valor da expressão ou condição, se
verdadeira inverte para falsa e vice-versa.

Exemplos:
Suponha que temos três variáveis A = 5, B = 8 e C =1
Os resultados das expressões seriam:
Imagem

*Operações Lógicas
Operações Lógicas são utilizadas quando se torna necessário tomar decisões em um
diagrama de bloco.
Num diagrama de bloco, toda decisão terá sempre como resposta o resultado VERDADEIRO
ou FALSO.
Como no exemplo do algoritmo "CHUPAR UMA BALA". Imaginemos que algumas pessoas
não gostem de chupar bala de Morango, neste caso teremos que modificar o algoritmo para:

"Chupar uma bala".

· Pegar a bala
· A bala é de morango?
· · Se sim, não chupe a bala
· · Se não, continue com o algoritmo
· Retirar o papel
· Chupar a bala
· Jogar o papel no lixo

Operadores Aritméticos

Para realizar cálculos matemáticos com as informações que estamos manipulando é necessário sabermos qual a representação dos símbolos de operações matemáticas. Vejamos:

Imagem

Exercícios:
1) Ler um número e verificar se ele é par ou ímpar. Quando for par armazenar esse valor em P e
quando for ímpar armazená-lo em I. Exibir P e I no final do processamento.
2) Construa um diagrama de blocos para ler uma variável numérica N e imprimi-la somente se a
mesma for maior que 100, caso contrário imprimi-la com o valor zero

Desafio
1) Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um algoritmo e um diagrama de blocos que
calcule seu peso ideal, utilizando as seguintes fórmulas:
Para homens: (72.7*h) - 58
Para mulheres: (62.1*h) - 44.7 (h = altura)
Novidades em breve.
0

#2 Membro offline   shumi Ícone

  • Shumi
  • Grupo: Banidos
  • Posts: 1511
  • Cadastrado: 05-julho 06
  • Localização:São Paulo - SP
  • Interesses:TI em geral, publicidade e propaganda e crescimento

Postou 22 janeiro 2007 - 11:47

Fala galera blz?
Espero que gostem da aula e aproveitem o máximo!

Como falei na anterior ainda estamos com falhas no Grupo de Estudos, pois o pessoal está de férias ainda!

A mesma lógica que o Felipe postou acima aplicado nas linguagens:

ASP - http://forum.ievolut...?showtopic=6789
PHP - http://forum.ievolut...?showtopic=6791
Javascript - http://forum.ievolut...?showtopic=6793

Java - http://forum.ievolut...?showtopic=7662
.Net - será postada depois

Abraços
VALEU A TODOS!!!
0

#3 Membro offline   Thiago Rodrigues Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 48
  • Cadastrado: 22-dezembro 06
  • Interesses:Html + css + pradrões web + Php + Javascript + Ajax + Monetização

Postou 22 janeiro 2007 - 11:52

Valeu shumi.
Cada vez mais as aulas estão ficando interessantes.
Grande Abraço!
Conheça já:
NerdGames - Tecnologia com uma pitada de diversão
www.nerdgames.net/blog
0

#4 Membro offline   Thiago Rodrigues Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 48
  • Cadastrado: 22-dezembro 06
  • Interesses:Html + css + pradrões web + Php + Javascript + Ajax + Monetização

Postou 22 janeiro 2007 - 12:51

1)

INICIO
	 real (n, i, p);
	 ESCREVA ("Digite um número");
	 LEIA (n);
	 SE (n mod 2 = 0) ENTAO
		 p:=n;
	 SENAO
		 i:=n;
	 FIM-SE
	 ESCREVA ("P é igual a ",p ,"e I é igual a", i);
 FIM


2)
Imagem


Desafio:

INICIO
	 real (altura);
	 alfa (sexo);
	 ESCREVA ("Digite seu sexo, MASCULINO OU FEMININO");
		 LEIA(sexo);
	ESCREVA ("Digite a sua altura em centimetros");
		  LEIA(altura);
	SE SEXO="MASCULINO" ENTAO
		 CALCULE: (72.7*altura)-58;
	SE SEXO="FEMININO" ENTAO
		 CALCULE: (62.1*altura)-44.7;
	SENAO
		 ESCREVA ("Digite corretamente seu sexo");
	FIM-SE
 FIM

Essa da para quebrar o galho, hehehe.
Conheça já:
NerdGames - Tecnologia com uma pitada de diversão
www.nerdgames.net/blog
0

#5 Membro offline   Clecio Oliveira Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 7
  • Cadastrado: 19-janeiro 07
  • Localização:Goiania-GO

Postou 23 janeiro 2007 - 08:00

INICIO

REAL (n, x, p, i)

ESCREVA "Numero"
LEIA n
CALCULE (n MOD 2)
RECEBA x

LEIA x
 SE x = 0
RECEBA p
ESCREVA "O numero é par" 
 
 SENAO
RECEBA i
ESCREVA "O numero é impar"

FIM


O primeiro ta ae, quando tiver mais um tempinho faço os outros. Vlw galera, mto boas as aulas
0

#6 Membro offline   dupa31 Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 65
  • Cadastrado: 03-dezembro 06

Postou 24 janeiro 2007 - 12:04

Aproveitando para fazer duas perguntas 1º está correto meu Algorítimo ? 2º como aplico esse algorítimo no PHP ?
INICIO
	 REAL  (n, i, p);
	 ESCREVA   "Digite um número";
	 LEIA (n);
	 SE (n mod 2 = 0) ENTÃO
		 P:=n;
	 SENÃO
		 I:=n;
		  ESCREVA ("P é igual",p ,"e I é igual", i);
FIM

Eduardo Virginio - Desenvolvedor Web
http://www.tag-designer.com
Desenvolvimento e Hospedagem
0

#7 Membro offline   Thiago Rodrigues Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 48
  • Cadastrado: 22-dezembro 06
  • Interesses:Html + css + pradrões web + Php + Javascript + Ajax + Monetização

Postou 27 janeiro 2007 - 01:43

Já se passaram 5 dias da publicação desta aula - e falta 2 para a próxima - e até o momento nada do FelipeMorais ou de algum outro colaborador do forum corrigir os exercícios do pessoal.
Sei que o shumi me disse que a maioria do pessoal está de férias, então neste caso seria melhor ter prolongado as férias do grupo de estudos.
Desculpe-me se pareci meio chato.
Abraços!
Conheça já:
NerdGames - Tecnologia com uma pitada de diversão
www.nerdgames.net/blog
0

#8 Membro offline   shumi Ícone

  • Shumi
  • Grupo: Banidos
  • Posts: 1511
  • Cadastrado: 05-julho 06
  • Localização:São Paulo - SP
  • Interesses:TI em geral, publicidade e propaganda e crescimento

Postou 27 janeiro 2007 - 07:21

Ver postThiago Rodrigues, em 27/01/2007 - 02:43, disse:

Já se passaram 5 dias da publicação desta aula - e falta 2 para a próxima - e até o momento nada do FelipeMorais ou de algum outro colaborador do forum corrigir os exercícios do pessoal.
Sei que o shumi me disse que a maioria do pessoal está de férias, então neste caso seria melhor ter prolongado as férias do grupo de estudos.
Desculpe-me se pareci meio chato.
Abraços!


Thiago, está bem complicado manter o grupo nas férias mesmo, estamos pegando mais contribuidores para dar uma força maior, a idéia é ter 2 pessoas por linguagem, estamos reformulando o Grupo e peço desculpas a vcs!

Abraços
VALEU A TODOS!!!
0

#9 Membro offline   FelipeMorais Ícone

  • Ícone
  • Grupo: Membro Amigo
  • Posts: 528
  • Cadastrado: 19-agosto 06

Postou 27 janeiro 2007 - 10:11

Ver postThiago Rodrigues, em 27/01/2007 - 02:43, disse:

Já se passaram 5 dias da publicação desta aula - e falta 2 para a próxima - e até o momento nada do FelipeMorais ou de algum outro colaborador do forum corrigir os exercícios do pessoal.
Sei que o shumi me disse que a maioria do pessoal está de férias, então neste caso seria melhor ter prolongado as férias do grupo de estudos.
Desculpe-me se pareci meio chato.
Abraços!


Olá Thiago Rodrigues,

Respeitamos sua opniao e nos desculpamos pelo atraso.

Gostaria ainda de lembrar o que disse na primeira aula.
Os exercicios serao corrigidos até domingo.
Pode inclusive acessar clicando aqui.

Agradecemos sua compreensão.
Atenciosamente

Felipe Morais
Novidades em breve.
0

#10 Membro offline   Thiago Rodrigues Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 48
  • Cadastrado: 22-dezembro 06
  • Interesses:Html + css + pradrões web + Php + Javascript + Ajax + Monetização

Postou 27 janeiro 2007 - 11:04

Ver postFelipeMorais, em 27/01/2007 - 22:11, disse:

Gostaria ainda de lembrar o que disse na primeira aula.
Os exercicios serao corrigidos até domingo.


Me desculpe, foi falha minha. Realmente não havia me recordado deste tópico.
De qualquer forma, estão de parabéns pela iniciativa.
Abraços
Conheça já:
NerdGames - Tecnologia com uma pitada de diversão
www.nerdgames.net/blog
0

#11 Membro offline   FelipeMorais Ícone

  • Ícone
  • Grupo: Membro Amigo
  • Posts: 528
  • Cadastrado: 19-agosto 06

Postou 28 janeiro 2007 - 11:42

Que nada cara.. de boa..
è pq assim, todos nós trabalhamos durante a semana, então nem sempre dá pra gente corrigir os exercicios, fazemos isso com seriedade e não simplesmente por fazer. Preferimos esperar um tempo livre para ler com cuidado as respostas e ai sim respondermos.

Sabemos que nossa responsabilidade com vocês é grande quando decidimos ensinar alguma coisa.

Entao gostariamos que compreendessem caso nao possamos responder em tempo os exercicios.


Abraço ;)
Novidades em breve.
0

#12 Membro offline   luishenrique Ícone

  • Luís Henrique
  • Ícone
  • Grupo: Moderadores
  • Posts: 954
  • Cadastrado: 30-novembro 06
  • Sexo:Male
  • Localização:Minas Gerais
  • Interesses:Web Standards, Python, PHP, Software Livre, Blogosfera.

Postou 28 janeiro 2007 - 07:07

E aí Thiago, tudo bom?

O Felipe pediu pra corrigir o teu exercício, vamos la! :graduated:
Pensa comigo:

Se "n mod 2 = 0", é par, e vai armazenar em "p", senão, vai armazenar em "i". Certo?

O codigo é esse:
"ESCREVA ("P é igual a ",p ,"e I é igual a", i);"


Por exemplo, se n for igual a 8:

vai escrever: P é igual a 8 e I é igual a

sacou? "i" vai permanecer nula!

refaz aí o primeiro e depois a gente olha. Pode? :thumbsup:

Abraços.
Graduando em Ciência da Computação
UFLA - Universidade Federal de Lavras

Blog: http://luishenrique.org/blog
Identi.ca: @luish
Twitter: @lshenr

:)
0

#13 Membro offline   Thiago Rodrigues Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 48
  • Cadastrado: 22-dezembro 06
  • Interesses:Html + css + pradrões web + Php + Javascript + Ajax + Monetização

Postou 28 janeiro 2007 - 10:27

luishenrique, não entendi muito bem o que você propos, alterei o algoritimo de forma que ele vai exibir apenas p ou i e não os 2 como estava antes.
É isto?

INICIO
	  real (n, i, p);
	  ESCREVA ("Digite um número");
	  LEIA (n);
	  SE (n mod 2 = 0) ENTAO
		  p:=n;
		   ESCREVA ("P é igual a", p);
	  SENAO
		  i:=n;
		   ESCREVA ("I é igual a", i);
	  FIM-SE
 FIM


Abraços
Conheça já:
NerdGames - Tecnologia com uma pitada de diversão
www.nerdgames.net/blog
0

#14 Membro offline   luishenrique Ícone

  • Luís Henrique
  • Ícone
  • Grupo: Moderadores
  • Posts: 954
  • Cadastrado: 30-novembro 06
  • Sexo:Male
  • Localização:Minas Gerais
  • Interesses:Web Standards, Python, PHP, Software Livre, Blogosfera.

Postou 28 janeiro 2007 - 10:36

Exatamente! :joia:

O segundo exercício também está correto. :thumbsup:

Amanhã a gente olha o Desafio. Concorda?

Abraços!
Graduando em Ciência da Computação
UFLA - Universidade Federal de Lavras

Blog: http://luishenrique.org/blog
Identi.ca: @luish
Twitter: @lshenr

:)
0

#15 Membro offline   Thiago Rodrigues Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 48
  • Cadastrado: 22-dezembro 06
  • Interesses:Html + css + pradrões web + Php + Javascript + Ajax + Monetização

Postou 29 janeiro 2007 - 12:14

Ver postluishenrique, em 28/01/2007 - 22:36, disse:

Exatamente! :joia:

O segundo exercício também está correto. :thumbsup:

Amanhã a gente olha o Desafio. Concorda?

Abraços!


Oba! :clap:
A respeito do desafio já vou alertando que eu deveria usar alguma função que converte-se os caracteres que o cara digitou em letras minusculas, pois, da maneira que está lá o cara digita HoMeM o programa não funciona. Então mesmo se o cara escreve-se HoMeM, a função converteria para homem. Já vi esta função em php, mas acho que é cedo demais para colocar isto em lógica né, hehe.

E também não imprimi na tela o resultado, hehe.

Bom, mas depois você olha lá, claro que concordo.

Abraços
Conheça já:
NerdGames - Tecnologia com uma pitada de diversão
www.nerdgames.net/blog
0

  • (2 Páginas)
  • +
  • 1
  • 2


Resposta rápida

  

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)