Mostrando postagens com marcador Programacao. Mostrar todas as postagens
Mostrando postagens com marcador Programacao. Mostrar todas as postagens

24 maio 2011

.NET ou Java?

0 comentários

.NET não é uma linguagem de programação, mas sim uma máquina virtual e um conjunto de bibliotecas sobre as quais você pode usar uma linguagem de sua escolha. Vou assumir que você quer saber se vale a pena se especializar no ecossistema .NET, geralmente dominado por C# e (infelizmente) Visual Basic, ou no ecossistema Java no qual a linguagem Java (Oh really?) é a mais utilizada.

Antes de tudo, devo dizer que não vejo porque se restringir a uma única linguagem ou ecossistema. Os conhecimentos de programação não funcionam só pra uma linguagem X ou Y. Não sei se faz sentido ser um mestre de Java e não saber nada de C#, Python, C, ou qualquer outra linguagem que pode lhe ser útil.

Nesse caso em especial, o mais inteligente seria estudar ambos os ecossistemas: boa parte das oportunidades do mercado gira em volta deles. Melhor ainda seria se manter sempre atualizado quanto a outras linguagens, não só pra conseguir emprego, mas também porque linguagens diferentes geralmente te fazem aprender a pensar de maneiras diferentes, o que é fundamental pra se tornar um bom programador.

Alguém que, por exemplo, já programou em linguagens funcionais como Lisp, vai conseguir aproveitar muito melhor os recursos funcionais de Python do que alguém que nunca as conheceu.
Um expert em Python que conhece .NET e Java pode ser muito útil, já que projetos como IronPython (Python sobre .NET) e JPython (Python sobre Java) vem sendo adotados por muitos como alternativas para melhor produtividade.

É estranho escrever tudo isso pra responder uma pergunta com outra pergunta, mas vou fazê-lo mesmo assim: será que é mais inteligente querer ser um bom programador .NET ou Java, ou um bom programador? Se eu fosse você, o que eu faria era escolher entre C# e Java (não faz muita diferença qual, pode até decidir na sorte  ), aprender um pouco, e depois aproveitar o conhecimento adquirido na outra já que ambas são tão parecidas. Mas definitivamente não pare por aí: aprender uma linguagem funcional como eu já citei, ou qualquer outra de algum paradigma que te faça pensar de maneiras diferentes, é fundamental pra ser um bom programador: depois disso, linguagens e bibliotecas são detalhes.


No momento estou no C++, mas ai apenas citei o que eu pesquisei, amigos meus falando , entre outras fontes.

22 maio 2011

ALGOL

0 comentários
Quem ai já ouviu falar sobre ALGOL ? se não ouviu ainda , neste post vou falar um pouco sobre ela e um pouco de sua história .


O Algol ou ALGOL ( a forma de escrita depende da forma de consulta) , é uma família de linguagens de programação de alto nível , usadas principalmente em aplicações científicas. A origem do seu nome vem de "ALGOrithmic Language"  .
Várias linguagens razoavelmente diferentes receberam o nome de ALGOL ou Algol, adicionando ao nome letras ou números, por descenderem diretamente do ALGOL original.

Um pouco de História 


A linguagem começou a ser formulada em 1957, na Europa, por um grupo internacional de cientistas de computação que finalmente, em 1960, definiram o Algol 60 através de um documento curto, conciso e preciso, o "Revised Report on the Algorithmic Language Algol 60", que foi publicado em 1963 na revista Communications of the ACM.
ALGOL especifica três sintaxes diferentes: uma sintaxe de referência, uma sintaxe de publicação e uma sintaxe de implementação. O uso de três sintaxes distintas permitia usar palavras chaves diferentes e convenções para pontos decimais (ou vírgulas decimais) de acordo com diferentes costumes nacionais.
A primeira versão da linguagem foi criada em 1958 e teve o nome original de International Algorithmic Language, mais tarde sendo conhecida por ALGOL 58
John Backus desenvolveu a Forma Normal de Backus, conhecido como BNF, para descrever ALGOL 58. O método foi revisado e expandido por Peter Naur, recebendo então o nome de Forma de Backus-Naur, e mantendo a sigla.
C.A.R. Hoare disse de ALGOL 60: "Aqui está uma linguagem tão a frente de seu tempo, que não foi uma melhoria sobre seus predecessoras, mas também a quase todas suas sucessoras". Essa fala foi também uma crítica velada a ALGOL 68, uma linguagem considerada inchada demais por muitos de seus críticos (e que não teve praticamente nenhum sucesso comercial).


Suas características 



As duas características principais do Algol são: a clareza e a elegância da sua estrutura baseada nos blocos e o estilo de sua definição, que usa uma linguagem metalingüística para definir de forma concisa e relativamente completa a sua sintaxe.
A linguagem continuou sendo desenvolvida e enriquecida com novas construções e novos comandos que aumentaram seu potencial.
Existem outras versões do Algol, como, por exemplo, o Algol 68, o Algol W voltado para máquinas IBM e o Algol 6000/7000 da Burroughs.

21 maio 2011

O que é .NET [ dot net ]

0 comentários

O que é .NET


.NET (lê se: dot-net) é uma plataforma de software que conecta informações, sistemas, pessoas e dispositivos. A plataforma .NET conecta uma grande variedade de tecnologias de uso pessoal e de negócios, de telefones celulares a servidores corporativos, permitindo o acesso a informações importantes, onde e sempre que forem necessárias.
Desenvolvido sobre os padrões de Web Services XML,.NET possibilita que sistemas e aplicativos, novos ou já existentes, conectem seus dados e transações independente do sistema operacional, tipo de computador ou de dispositivo móvel que sejam utilizados, ou que linguagem de programação tenha sido utilizada na sua criação.
O .NET é um "ingrediente" presente em toda a linha de produtos Microsoft, oferecendo a capacidade de desenvolver, implementar, gerenciar e usar soluções conectadas através de Web Services XML, de maneira rápida, barata e segura. Essas soluções permitem uma integração mais rápida e ágil entre os negócios e o acesso a informações a qualquer hora, em qualquer lugar e em qualquer dispositivo.
Comentem o que voces acham , amanha postarei sobre .NET X Java . 



10 maio 2011

Seqüência de Fibonacci

0 comentários
O matemático Leonardo Pisa, conhecido como Fibonacci, propôs no século XIII, a seqüência numérica abaixo:


(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …)
Essa seqüência tem uma lei de formação simples: cada elemento, a partir do terceiro, é obtido somando-se os dois anteriores. Veja: 1+1=2, 2+1=3, 3+2=5 e assim por diante.
Desde o século XIII, muitos matemáticos, além do próprio Fibonacci, dedicaram-se ao estudo da seqüência que foi proposta, e foram encontradas inúmeras aplicações para ela no desenvolvimento de modelos explicativos de fenômenos naturais.




Uma das seqüencias recursivas mais famosas é, certamente, a Sucessão de Fibonacci, definida assim:

F(1)=F(2)=1,
F(n+2)=F(n+1)+F(n) para n>0.

Isto já nos da um programinha recursivo:

No arquivo recursivo_fibonacci.c:



#include

int fibonacci_recursivo(int n){

int fib;/*para guardar os números de Fibonacci*/

if(n==1){
fib=1;
}
else{
if (n==2){
fib=1;
}
else{
fib=fibonacci(n-1)+fibonacci(n-2);
}
}
return fib;
}

int main(void){

printf("Digite o número!");
scanf("%d",n);
printf("fibonacci(%d)=%d",n,fibonacci_recursivo(n))

return 0;
}

Agora vamos construir uma versão não-recursiva. Primeiro, como fazer isso? Vamos pensar. Quando estamos fazendo as contas na mão, seguimos este procedimento para calcular F(10):


F(1)=1
F(2)=1
F(3)=F(2)+F(1)=1+1=2
F(4)=F(3)+F(2)=2+1=3
F(5)=F(4)+F(3)=3+2=5
F(6)=F(5)+F(4)=5+3=8
F(7)=F(6)+F(5)=8+5=13
F(8)=F(7)+F(6)=13+8=21
F(9)=F(8)+F(7)=21+13=34
F(10)=F(9)+F(8)=34+21=55


Que idéia estamos usando? Simples: a cada momento, pegamos os dois valores anteriores e somamos (sem nem se preocupar com as contas anteriores!). Em um computador, podemos pensar assim: reservar três variáveis (digamos, baixo_f, alto_f e fib) e a cada momento somar as duas primeiras e jogar na terceira, sem esquecer de gravar as duas posições anteriores! Parece meio complicado, não? Então, vamos implementar a coisa para ver como funciona!


No arquivo iterativo_fibonacci.c
#include

int fibonacci_iterativo(int n){

int baixo_f=0,alto_f=0,fib=1;

for(i=1;i<=n;i++){ baixo_f=alto_f; alto_f=fib; fib=baixo_f+alto_f; } return fib; } int main(void){ printf("Digite o número!"); scanf("%d",n); printf("fibonacci(%d)=%d",n,fibonacci_iterativo(n)) return 0; }



Observe que a versão interativa perde um pouco da clareza, comparado com a versão recursiva, mas a rapidez compensa algumas dessas perdas

09 maio 2011

Diferença entre as linguagens C, C++ e C Sharp

0 comentários
* C: A mais antiga de todas. Todo sistema operacional vem com um compilador por padrão para ela. Essa linguagem tem um alto poder computacional (performance). Ela permite operações de baixo nível, como manipular memória diretamente ou hardware em geral. Você tem que saber exatamente o que está fazendo, por exemplo: Voce tem que usar o comendo free() para liberar uma memória alocada senão a linguagem não faz isso para você.


*C++, A orientação objeto chegando ao C. Essa é uma evolução da linguagem C. A orientação à objeto é aceita e classes para manipulação de string são criadas para facilitar a vida do programador. Muito usada hoje para a criação de jogos, ou outras aplicações que exijam performance. Eu mesmo estava desenvolvendo um joguinho estilo worms para nintendo DS usando C++.

e Finalmente: C#:
Essa é feita pela microsoft, ou seja é uma linguagem proprietária. É uma cópia da linguagem JAVA que só funciona no windows, com algumas classes a mais, que facilitam ou atrapalham a vida. Lembrando que C/C++ são multiplataformas, só os código fontes precisam ser recompiladas no Sistema operacional usado.

Quanto ao ambiente (voce deve usar windows):
Baixe o Devcpp (ou Dev C++)  -> uma IDE + compilador de código C/C++



Diferença entre C e C++

2 comentários
Vou falar hoje sobre a diferença entre "C" e "C++" , e falar um pouco sobre os tópicos a seguir:


1- O que eu faço no C que eu não consiga fazer no C++ e vice- versa.
2-Como eu diferencio uma linguagem da outra.

3-Qual é a mais legal e Fácil de Aprender.

__________________________________________________________________________________


São linguagens bem diferentes, mas com sintaxes parecidas, por isso apresentam muita semelhança.

Quando C++ foi desenvolvida, C já era um grande sucesso. Daí, para facilitar a aprendizagem da nova linguagem, e para facilitar a conversão de programas em C, a sintaxe de C++ foi projetada para ser bem parecida com a do C.

E o nome, "C++", sugere que seria um C com "algo mais" (em C e em C++ o operador "++" soma 1 a um valor, o que se chama incremento, daí a idéia de "C incrementada" ou "melhorada").

A grande diferença entre as duas está nos paradigmas usados: enquanto que C é uma linguagem funcional, C++ é para programação orientada para objetos (além de funcional). E devido à semelhança de sintaxes, se não forem usados objetos em um programa, um código C++ pode (mas nem sempre) se tornar igual a um código C, até podendo ser compilado por um compilador C.

Mas, além dos objetos, há outras diferenças.

Quanto aos tópicos

1- Com C não dá para usar objetos, que não existem em C, mas existem em C++.

2- Verificando a extensão do programa-fonte: ".c" para C e ".cpp" (de "C plus plus") para C++ ou procurando no código a ocorrência de coisas que só existem em uma das linguagens, como objetos, operadores (como "<<") ou instruções (como "out") específicas.

3- C tem menos coisas, e isso facilita o aprendizado, mas para certos casos (como programas grandes e complexos), C++ torna o trabalho mais fácil.

26 abril 2011

Frases de programador

0 comentários
  • "Programas e Catedrais são feitos da mesma forma: primeiro construimos, depois rezamos"
  • "Existem 10 tipos de pessoas, as que entendem números binários e as que não entendem."
  • "Deus é Real, menos se declarado Integer"  – J. Allan Toogood, programador FORTRAN
  • "Sem o C nós só teríamos Pasal, Obol e BASI."
  • "C programmers never die. They are just cast into void."
  • "Programadores de verdade decoram telefones em binários." 

23 abril 2011

22 abril 2011

Linguagens de Programação - Programação #13

0 comentários
A linguagem humana comum não é directamente entendida pelas máquinas, pelo que qualquer ordem que se pretenda que o computador execute, terá de ser traduzida para uma linguagem que estes entendam e possam executar directamente. 

Os programas são escritos utilizando linguagens de programação que permitem que o algoritmo (resolução do problema) definido em linguagem comum de uma forma ordenada e programada, venha a ser transformado num conjunto de instruções que possam vir a ser entendidas e executadas pelo computador.

Existem três tipos de linguagens:
  • .Linguagem máquina - directamente inteligíveis pela máquina, quer dizer que as ordens escritas são directamente entendidas e executadas pela máquina. Estas instruções são cadeias binárias (0 e 1) que determinam as operações a realizar e as posições de memória a partir das quais se devem executar. As instruções dependem directamente da máquina que se pretende programar.  Estes programas designam-se por Programa Objecto.
  • Linguagem Assembler - São linguagens próximas da linguagem máquina em que as instruções são menmónicas que indicam a acção a realizar e a posição de memória a partir da qual se devem executar.  Nestas, a programação depende também da máquina que se pretende programar.  A máquina não entende directamente estas instruções e torna-se necessário traduzir estas instruções para linguagem máquina através de um programa assemblador. A construção de um programa passa por três fases.  Inicialmente é criado o programa fonte através da linguagem assembler, este é depois utilizado por um programa tradutor ou assemblador para que se transforme num programa objecto.
  • Linguagens de alto nível - São linguagens próximas da linguagem humana, criadas a partir de um assemblador ou compilador, num processo idêntico ao anterior. A programação é feita através de declarações e funções que realizam uma operação complexas já implementada na linguagem de programação.  A máquina não pode entender estas declarações e necessita de um programa tradutor e linkador (que traduza as declarações do programa fonte num programa objecto, ligando as funções necessárias)  para que a máquina possa executar estas operações.  Estas linguagens são por exemplo o Pascal, Visual Basic, C, C++, Modula 2, Java, etc.

Fluxogramas - Programação #7

2 comentários
Os símbolos gerais mais utilizados são:

Terminal: Inicio e fim
Processo;: Execução de operações
Entrada e saída de dados
Decisão
Preparação
Conexão de página

Consideremos agora o exemplo apresentado na criação de algoritmos por pseudo código.


Soma de dois números reais lidos a partir do teclado.

O respectivo fluxograma será:


Como pode verificar, existe uma correspondência directa entre cada linha do pseudo código e do fluxograma, pelo que podemos converter directamente um no outro.

Este fluxograma poderia ainda ser reescrito utilizando símbolos mais específicos assumindo o seguinte aspecto:



Veja o significado dos símbolos introduzidos, e outros que utilizaremos em situações futuras, e que podem ser utilizados na elaboração de algoritmos.

Conexão
Convolução
Processo alternativo
Subrotina
Documento
Muktidocumento
Introdução manual
Disco magnético
Monitor
Armazenamento interno
Operação manual
Dados armazenados
Adição
Adicionar
Ordenar
Extrair
Intercalar
Acesso sequencial
Acesso directo
Atraso
Cartão perfurado
Fita perfurada

Operadores Lógicos e Relacionais - Programação #12

0 comentários
Os operadores lógicos e relacionais são elementos que é fundamental conhecer dada a sua importância na elaboração de um programa.  Em todos os programas são utilizadas expressões relacionais e lógicas para a tomada de decisões e consequente  desvio do fluxo do programa.  Recorde as estruturas de programação.

Trataremos então dos seguintes aspectos:
  • Operadores Relacionais
  • Operadores lógicos
  • Expressões lógicas e relacionais
Em termos de nomenclatura, considera-se que o valor lógico Verdadeiro é representado por 1 e o valor lógico Falso por 0.  Por outro lado, o símbolo utilizada para a representação dos operadores varia de linguagem para linguagem, pelo que se apresentam aqui uma representação normalizada a utilizar apenas na elaboração de algoritmos, sendo apresentada posteriormente toda a simbologia referente àslinguagens de programação em estudo.


Operadores Relacionais

Apresenta-se de seguida uma tabela com todos os operadores relacionais.

Operador
maior
menor
maior ou igual
menor ou igual
igual
diferente
Símbolo
>
<
>=
<=
=
¹
Exemplo
a > b
a < b
a >= b
a <= b
a = b
¹ b
Resultado
1 se a maior que b, senão 0
1 se a menor que b, senão 0
1 se a maior ou igual a b, senão 0
1 se a menor ou igual a b, senão 0
1 se igual a b, senão 0
1 se diferente de b, senão 0


de notar que, em termos de precedência e associabilidade,  estes operadores têm uma precedência menor do que os operadores aritméticos. 

Nota importante
Não é eficaz comparar valores do tipo real com os operadores de igualdade em virtude da representação em virgula flutuante ser inexacta em alguns números.  Os exemplos que se seguem, sendo algebricamente verdadeira, são avaliadas como falsas na maioria dos computadores.

(1.0 / 3.0) + (1.0 / 3.0) + (1.0 / 3.0) = 1

Esta expressão é avaliada como falsa devido ao facto de 1.0 / 3.0 ter como resultado um valor  que contém número infinito de casas decimais (3.3333333...)  O computador é apenas capaz de capaz de utilizar um número finito de casas decimais e que portanto é feito um arredondamento do valor de 1/3 em cada ocorrência.
Para evitar os erros causados pela representação inexacta de valores reais, deve-se evitar utilizar as comparações de igualdade com números reais.




Operadores Lógicos

Operador
And
Or
Negação
Símbolo
Ù
Ú
~
Exemplo
Ù b
Ú b
~a
Resultado
1 se a e b forem não nulos, senão 0
1 se a ou b forem não nulos, senão 0
1 se a for zero, senão 0


Reveja as tabelas de verdade destes operadores

Operador AND - verdadeiro apenas se A e B forem verdadeiras


Operador Or - Verdadeiro se pelo menos um dos elementos for verdadeiro


Operador Not (negação) - Inversão do valor



Expressões Lógicas e Relacionais

Na maioria das linguagens de programação, os operandos das operações lógicas e relacionais podem ser valores inteiros ou reais, ou mesmo caracters pois são tratados como inteiros.

Os operadores lógicos e relacionais são geralmente os únicos operadores cuja ordem de avaliação dos operandos está definida, avaliando a expressão da esquerda para a direita

As expressões lógicas e relacionais complexas são usualmente utilizadas nas estruturas de selecção e repetição.  Nas estruturas de selecção, a utilização do operador AND é equivalente à utilização de estruturas Se  (if)  embutidas como no exemplo que se segue:

A expressão:

Se ( ( a < b ) AND ( b < C ) )
     declaração

è equivalente a:

Se ( a < B )
     Se ( b < c )
            declaração

Isto é verdade se não for utilizada a declaração senão. No exemplo que se segue a interpretação é feita de forma diferente:

Se ( ( a < b ) AND ( b < C ) )
     declaração 1
Senão
     declaração 2

não é o mesmo que:

Se ( a < B )
     Se ( b < c )
            declaração 1
Senão
            declaração 2

Para obter uma declaração equivalente deveríamos ter:

Se ( a < B )
     Se ( b < c )
            declaração 1
     Senão
            declaração 2
Senão
            declaração 2






Classes de operadores e respectivas precedências

Classe do operador
unários
multiplicativo
aditivo
relacionais
igualdade
AND
OR
atribuição
Operador
-    +   !
 *    /    Resto()
+   -
<   <=  >   >=
=   ¹
&&
||
=
Associatividade
direita / esquerda
Esquerda / direita
esquerda  / direita
esquerda / direita
esquerda / direita
esquerda / direita
esquerda / direita
direita / esquerda
Precedência
maior

menor


PseudoCodigos - Programação #6

0 comentários
Como foi referido anteriormente, o algoritmo em pseudo código tem como objectivo descrever o conjunto de passos necessários à resolução de um problema utilizando linguagem comum.

Um pseudo código começa com a indicação Inicio e termina com o termo Fim.  Entre ambos seguir-se-ão os passos necessários à resolução do problema. 
É boa prática em programação, que o conjunto de declarações sejam estruturados (utilizando um pequeno avanço),  por forma a que, com um olhar rápido, nos apercebamos da estrutura do programa,  como no exemplo que se segue.

Soma de dois números reais lidos a partir do teclado.


Inicio
     reais: x, y, z
    Apresenta "Introduza o valor de x - "
     ler x
    Apresenta "Introduza o valor de y - "
     ler y
     z = x + y
     Apresentar "A soma de ", x, "com " y, " = ", z
Fim


Interpretemos este algoritmo:

A primeira declaração Inicio especifica o inicio do programa

A segunda declaração especifica a criação das variáveis, xy e z do tipo real, ou seja, a preparação de três locais em memória, a que corresponderão os nomes x, y e z, onde serão guardados valores reais.

A terceira declaração Apresenta "Introduza o valor de x - " indica que será enviada para o ecrã a mensagem fixa que se encontra entre aspas.

A quarta declaração ler x, especifica que será lido um valor a partir do teclado,  que corresponderá ao valor a guardar na variável x.

A quinta declaração Apresenta "Introduza o valor de y - " indica que será enviada nova mensagem para o ecrã.

A sexta declaração ler y, especifica que será lido um valor a partir do teclado,  que corresponderá ao valor a guardar na variável y.

A sétima declaração z = x + y, especifica que os valores guardados nas variáveis x e y serão somados e o seu valor colocado na posição de memória correspondente à variável z.

A oitava declaração  Apresentar "A soma de ", x, "com " y, " = ", z, especifica a apresentação em ecrã de uma mensagem composta por uma sequência de mensagens fixas e valores das variáveis, respectivamente:

A soma de (valor da variável x) com (valor da variável y) = (valor da variável z).

A última mensagem Fim especifica o fim do programa.



Suponde que se executava este programa e se pretendiam somar os valores 1,5 e 3,75 então no ecrã teríamos a seguinte sequência:

Introduza o valor de x - 1,5                (1,5 é valor introduzido pelo operador)
Introduza o valor de y - 3,75             (3,75 é valor introduzido pelo operador)
A soma de 1,5 com 3,75 = 5,25      (mensagem de resposta)



O mesmo algoritmo poderia ser apresentado na forma de fluxograma  utilizando uma simbologia própria que nos permite uma visão gráfica rápida do algoritmo, muito eficaz em variadíssimas situações.

Um programa ótimo para desenvolver algoritmos em pseudo-códigos é o visualG

Estruturas - Programação #8

0 comentários
De acordo com que foi dito acerca da programação estruturada, as generalidade das linguagens de programação implementam um conjunto de estruturas padrão que tornam mais fácil a concepção de um programa e a sua análise.

Estas estruturas são:
  • Estrutura de sequência simples
  • Estruturas de selecção ou derivação
  • Estruturas de repetição ou iteração
  • Estrutura de salto
Vamos agora estudar estas estruturas, apresentando-as nas suas formas de pseudocódigo e fluxograma.  Posteriormente veremos a sua implementação em linguagens de programação, as linguagens C e C++.


Estrurura de sequência Simples

Numa estrutura de sequência simples, temos apenas um sequência de declarações que serão executadas sucessivamente.





Sequência
     declaração 1
     declaração 2
     declaração 3
fim sequência



Estruturas de Selecção ou derivação

Existem duas estruturas de selecção:
  • Estrutura de selecção simples   (estrutura Se ou If)
  • Estrutura de derivação   (estrutura Case)

Estrutura de Selecção simples

Na estrutura de selecção simples, a declaração a ser executada de seguida depende do resultado da condição.  Se a condição for verdadeira será executada a declaração A e se a condição for falsa será executada a declaração B.





Selecção
Se Condição então
        executa A
    senão
         executa B
fim selecção

Havendo necessidade de executar mais do que uma instrução em cada ramo, o algoritmo pode assinalar esse facto acrescentando as declarações de inicio e fim para delimitar o grupo de declarações a serem executadas.



Se (condiçãoentão
     inicio
          ...    
          declarações
          ...
     fim
Senão
     inicio
          ...    
          declarações
          ...
     fim


Estrutura de Derivação (CASE)

Na estrutura de derivação ou estrutura Case se a variável for igual ao valor V1, então será executada a declaração A, se for igual ao valor V2 será executada a declaração B e assim sucessivamente.




Derivação
Caso E igual A
     V1:  executa A
     V2:  executa B
     V3:  executa C
     V4:  executa D
fim derivação


Note que também nesta estrutura, se tivermos de executar uma sequência de declarações, podemos utilizar os delimitadores, inicio e fim.





Existem três estruturas de repetição ou iteração:
  • Estrutura de repetição FOR
  • Estrutura de repetição WHILE DO
  • Estrutura de repetição  DO UNTIL


Estrutura de repetição FOR

Esta estrutura permite criar um ciclo de repetição controlado por uma variável,, que assumirá todos os valores entre um valor inicial e um valor final, incrementando-se ou decrementando-se a si própria de um valor passo x.




Ciclo For
Para  variável = valor inicial  até  valor final  compasso x faz
      declaração A
fim ciclo


Também nesta estrutura, se tivermos de executar uma sequência de declarações, podemos utilizar os delimitadores, inicio e fim.




Estrutura de repetição While Do

Nesta estrutura, enquanto a condição permanecer verdadeira, são executadas as declarações A e B, sendo que quando não for satisfeita sai do ciclo e continua o programa.
De notar que, se a condição nunca for satisfeita, nunca serão executadas as declarações do ciclo.




Iteração While
     enquanto Condição faz
         inicio
           declaração A;
           declaração B;
         fim
fim iteração





Estrutura de repetição Do Until

Nesta estrutura, as declarações A e B até que a condição seja satisfeita.   Neste caso, contrariamente ao anterior, as declarações serão executadas pelo menos uma vez.
De notar também, que algumas linguagens como a C e C++, a condição é invertida e as declarações são executadas enquanto a condição for verdadeira, (Do While).




Iteração Until
     inicio
         declaração A;
         declaração B;
     fim
     até Condição
fim iteração




Estrutura de salto (condicional)

Nesta estrutura o fluxo normal do programa é desviado para o ponto designado por X, quando satisfeita a condição, caso contrário continuará com a execução das declarações A e B.




Salto
     Se condição vai para X
        inicio
           declaração A;
           declaração B;
        fim
fim iteração


A propósito de cada uma das estruturas referidas, existem exercícios de aplicação que deve analisar cuidadosamente para entender o âmbito da sua aplicação.

Cadastre-se

Receba atualizações por email .

Copyright © 2011 PortalTecch.net, Todos os direitos reservados.