GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Como criar um algoritmo portugues estruturado


#1

Fala galera olha eu denovo com minha ignorância, estou com o seguinte problema de como criar um algoritmo em portugues estruturado ou diagrama de bloco, aonde eu receba uma data ex:(2008-10-01) e depois deverei trocar as posições assim(01-10-2008), em java eu sei como faz mas o problema é na hora de passar para um algoritmo que possa ser usado para implementar em qualquer linguagem.
Desde já agradeço pela ajuda!


#2

Se você sabe como é que se faz em Java, experimente fazer o seguinte: escreva em Java mesmo, e vá trocando "if" por "se", etc.
Não é tão difícil quanto parece.


#3

basicamente tudo o que vc tem que fazer é substituir as palavras reservadas da linguagem por palavras em portugues que expressem bem o que esta sendo feito, que um programador de outra linguagem intenda o que é aquilo, por exemplo:
int i=1;
int x=1
do{

  x*=i;
  i++;

}while(i<5);

em portugues estruturado ficaria:

inteiro i = 1;
inteiro x = 1;

faça

  x = i * x
  i  = i+1

enquanto i < 5

nosso exemplo calcula um fatorial...

talvez tenha um padrão, mais as vezes varia de uma pessoa pra outra, tem gente que escreve int, tem gente que escreve inteiro, vc pode escrever String ou mesmo texto... o importante é colocar de jeito que um programador de qualquer linguagem intenda...


#4

Normalmente o nome das variaveis é ainda o padrão para não causar confunsão, eu pelomenos via desta forma na faculdade, mais não seria o "do" antes do "while"?


#5

"Português estruturado" não tem muitas regras.

Veja algum exemplo na apostila ou livro que você está usando na faculdade - sabe como é que é, professores são meio enjoados com isso, e se você fizer muito diferente da apostila e o algoritmo estiver claramente errado você ter problemas.

Se é o "do" antes do "while"? Eu não sei - no meu tempo o Português Estruturado era uma versão traduzida do Pascal ou do Algol, e se fazia assim:

repetir
    comandos;
enquanto não se esgotarem as alternativas;

ou coisa parecida.


#6

Galera omiti alguns fatos essa data que receberei está em um inteiro de 8, e o resultado eu poderia colocar em um ou mais inteiros de qualquer tamanho.
Um abraço para todos que estão ajudando!


#7

Pois bem, poste aqui seu programa Java (testado e funcionando, é claro), que o pessoal terá prazer em lhe ajudar.


#8

Em java uso os recursos pertencentes a linguagem ou seja os metodos de conversão e formatação para transformar a entrada em data e depois formatar como quiser.


#9

Mesmo assim, poste o programa como ficaria em Java. Qual é o problema?


#10

Existe o While e o do While =)


#11

Bom dia colegas !

No meu tempo o portugues estruturado vinha antes do programa real...

[]s


#12

Até hoje é desse jeito, mas muita gente aqui sabe programar (sabe é modo de dizer), mas está aprendendo programação formalmente só agora, e tem de aprender a mexer com o tal "português estruturado".
Para esse tipo de gente (entre os quais eu me incluía - he he he) eu indico o processo ao contrário - fazer o programa, e traduzi-lo para português.
Depois você acaba se acostumando e segundo a ordem correta, que é a de ter o algoritmo antes da implementação.


#13

Ai galera deslculpe a demora é que estou sem net em casa, em java fica assim mas o que complica na hora de passar para algoritmo é como descreveria os metodos ex:charAt(),toString(),parseInt()

Valeu pela força.

public int mist(int i){
		String s=Integer.toString(i);
		String s1="",s2="",s3="";
		for (int c=0;c<4;c++){
			s1+=s.charAt(c);
		}
		for (int c=4;(c>3)&&(c<=5);c++){
			s2+=s.charAt(c);
		}
		for (int c=6;(c>=6)&&(c<8);c++){
			s3+=s.charAt(c);
		}
		s=s3+s2+s1;
		i=Integer.parseInt(s);
		return i;
}

#14

String s = Integer.toString(i)
seria algo como:

variável s: Cadeia;
converter o valor i para sua representação decimal, e atribuí-lo a s;

ou sei lá como é que seu professor prefere. Não sei qual é o estilo de "português estruturado" dele; veja na sua apostila algum exemplo mais elaborado.


#15

O nome disso não era pseudocódigo?


#16

Cada um dá um nome para isso - já vi "portugol" e outra coisas mais esquisitas.


#17

Pseudocódigo é mais genérico. Não existe regra pra escrever um algoritmo. As "regras" do Portugol é só para o aluno se acostumar com uma linguagem de verdade...


#18

INICIO
   LEIA data
   ano = EXTRACAO(data,1,4)
   mes = EXTRACAO(data,6,2)
   dia = EXTRACATO(data,9,2)
   novadata = dia + "-" + mes + "-" + ano
   IMPRIMA novadata
FIM

Variações sobre o mesma tema:
Se na sua disciplina, o livro recomendado for os baseados no Guimarães e Lages (http://www.siciliano.com.br/livro.asp?tema=2&tipo=2&clsprd=L&id=16540&orn=SGDL) então crie uma seção de definição de variáveis antes do código:

Programa X
Variável
   data,ano,mes,dia,novadata : texto

Essa infeliz notação do Guimarães que se espalho no Brasil foi baseado no código Pascal, para as boas e más coisas.... de qualquer forma, observe que o algoritmo no brasil é ensino com o foco de programação estruturada (não conheço nenhum autor que comece a explicar lógica de programação com português estruturado no paradigma orientado a objetos).
Sobre os paradigmas, veja um ótimo artigo:
http://www.nied.unicamp.br/publicacoes/separatas/Sep3.pdf

Com relação ao uso da função de EXTRACAO, ela é fictícia, está relacionada as operações que podemos fazer com textos, apenas relembrando as operações:
a) concatenação z = "AA" + "BB"
b) tamanho z = tamanho("AAA") // ou seja 3
c) pesquisa(parte,todo) - verifica se a parte esta contida ou não
d) posica(parte,todo) - busca pela posição de uma parte de um texto em outro texto
e) extracao(texto,posicao_inicial,qtos_caracteres) - cópia da parte do texto

Não cabe discussões no nível de abstração do algorítmos sobre varipações de caixa, codificação de caracterres etc.

fw

Ps: eu sou um dos que passaram pela experiência do thigol... e garanto é péssima, no início temos muitos vícios... na minha época tinhamos o goto e o gosub do basic ... arg.


#19