Pesquisar aqui

Mostrar mensagens com a etiqueta Algoritmia. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Algoritmia. Mostrar todas as mensagens

quarta-feira, 22 de janeiro de 2020

Python - Algoritmia (Parte 2)

NA PUBLICAÇÃO PASSADA FALEI DE ALGUMAS BASES DE ALGORITMIA, NESTA IREI DAR UM EXEMPLO DO USO DOS DOIS TIPOS DE REPRESENTAÇÃO QUE FALEI PARA MELHOR EXPLICAR E MOSTRAR A SUA CORRETA UTILIZAÇÃO!

Problema: Dados dois números, inteiros, inseridos pelo utilizador, dizer qual é o maior, ou então se são iguais.

Fluxograma:

Vamos resolver o problema anterior segundo o algoritmo tradicional: análise caso-a-caso:

- Se num1 é maior que num2, mostra num1…
- Caso contrário, se num2 é que é maior que num1, então mostra num2…
- Por fim, se num1 não é o maior e num2 também o não é, conclui-se que só podem ser iguais.

Um fluxograma respeita uma norma geral que pode ser adaptada por cada pessoa. A imagem seguinte mostra o algoritmo de resolução do problema que eu proponho seguindo a norma geral dos fluxogramas. No canto superior direito da imagem está uma pequena legenda, que inclui símbolos não incluídos no esquema, mas que podem ser utilizados em problemas mais avançados:

Pseudo-código:


Início Programa
    Ler num1
    Ler num2
    Se (num1>num2) Então
       Escrever "O maior é: " & num1
    Senão
       Se (num1<num2) Então
          Escrever "O maior é: " & num2
       Senão
          Escrever "São iguais."
       Fim Se   
    Fim Se
 Fim Programa

No pseudo-código demonstrado acima é esquematizado o problema de uma maneira muito simples em forma de linhas em cascata, ou seja, as linhas de código que começam mais para a direita, ocorrem apenas se as linhas acima que comecem mais à esquerda ocorram, assim como o código em programação em Python por exemplo com condições.

Assim demonstrei os dois tipos e representação de algoritmos, ambos podem ser bastante úteis, mas pessoalmente prefiro pseudo-código por que fluxogramas pode tornar-se bastante confuso em alguns programas.



Referências:



segunda-feira, 20 de janeiro de 2020

Python - Algoritmia (Parte 1)

EM PYTHON, COMO EM TODAS AS LINGUAGENS DE PROGRAMAÇÃO, É NECESSÁRIO RECORRER A ALGORITMOS NA RESOLUÇÃO DE PROBLEMAS E PROGRAMAS DE MAIOR COMPLEXIDADE!

A imagem acima pode ser espanhola mas dá para perceber perfeitamente os conceitos de algoritmia lá apresentados: primeiro analisamos o problema em questão, depois fazer um desenho, ou esquema ou texto com o que pretendemos fazer, o algoritmo, a seguir programa-mos de acordo com o algoritmo e testamos o programa para verificar a existência de erros!

Definição:
Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço finita. Ou seja, um algoritmo é um caminho bem definido para se resolver um determinado problema.

Representação:
Um algoritmo tem uma representação para que possa ser facilmente interpretado. Antes de se programar, os problemas devem ser estudados para se chegar a um algoritmo-solução. Este será representado num esquema, chamada Fluxograma, ou então escrito na linguagem-mãe (no nosso caso, Português) ou numa mistura desta com a linguagem de programação a que nos propomos resolver o dito problema, a isso chamamos Pseudo-código.

Na próxima publicação irei falar sobre os dois tipos de representação de algoritmos e irei dar um exemplo utilizando ambas as maneiras! Até lá, boa programação!


Referências:


quinta-feira, 24 de outubro de 2019

Algoritmos - O que são?

Os algoritmo é a base da programação. Eles são utilizados diariamente na vida de qualquer pessoa, seja para cozinhar, para arranjar algum objecto, ou outros muitos casos.
Para começar um algoritmo é uma espécie de "receita" que leva à execução do nosso objectivo.
Por exemplo:
O meu telefone não liga.
-Tem bateria?
=>Se tiver bateria então levar o telemóvel para ver o problema.
Fim-se.
=>Se não tiver bateria pôr a carregar.
-ligou?
=>Se ligou então o problema foi resolvido.
Fim-se.
=>Se não ligou então levar o telemóvel para ver o problema.
Fim-se.
Fim.

Um algoritmo não deve ser infinito pois assim a tarefa nunca seria executada como previsto.
Como se verificou no exemplo anterior, o algoritmo divide-se em vários cenários, sendo cada um deles uma maneira diferente de resolver o problema do telemóvel, neste caso.