Você está na página 1de 8

ALGORITMOS NA RESOLUÇÃO DE PROBLEMAS

Licenciatura em Comunicação e Multimédia


2023/2024

 Introdução
 Algoritmo
 Instruções, Operadores e Símbolos
 Instruções Elementares
 Estruturas de Controlo
 Decisão
 Seleção
 Repetição
 Princípios Gerais de Programação Estruturada
 Exercícios

1
 É identificada a necessidade de resolução de um problema.

PROBLEMA

ALGORITMO

SOLUÇÃO

Algoritmo:
uma sequência de passos, ou operações elementares que
aplicadas sobre determinada informação inicial permite dela
obter em tempo finito e de modo não ambíguo uma dada
informação (resultado).

• A destacar as características:
• Sequência de passos
• Tempo finito
• Modo não ambíguo

2
 A programação de computadores é uma disciplina da área das ciências
da computação e refere-se essencialmente ao estudo de estruturas
de dados e à sua manipulação para a resolução de problemas em
diversos domínios do conhecimento;
 Um programa de computador envolve a definição de um algoritmo para
a resolução de um problema;
 As estruturas de dados representam, de modo simbólico, entidades e
objetos do mundo real e definem a parte estática de um algoritmo;
 A manipulação das estruturas de dados através de declarações e
instruções precisas de controlo definem a parte dinâmica de um
algoritmo.
 Este conjunto de estruturas de dados e de controlo constituem
formalmente um algoritmo para a resolução de problemas.

 A resolução de um problema através de um algoritmo, e


consequente programa computacional, refere-se ao processo de
identificar e analisar um problema do mundo real e
desenvolver a sua solução de modo eficiente;
 Este processo é constituído pelas seguintes fases:
(1) identificação e compreensão do problema (e objetivos);
(2) conceptualização da solução;
(3) definição do algoritmo para a resolução do problema;
(4) implementação (codificação) da solução através de um
programa computacional.

3
 Alguns exemplos de algoritmos informais

 Alguns exemplos de algoritmos informais

4
 São formas simples de código pronto;
 O objetivo é mostrar de antemão a lógica usada na solução de um problema
(algoritmo).

Pseudo-código
 Não é um código real, mas um código “imaginário” que faz lembrar o
código de programação.
 Muito utilizado em cursos de programação para apresentar a lógica
algorítmica de forma mais simples, sem ter que se preocupar muito com o
aspeto técnico das linguagens formais.
 Não segue um padrão definido, portanto, cada pessoa pode
(Em princípio)
escrever o seu próprio pseudo-código da forma que bem entender. O
importante é ser capaz de transmitir a ideia central da lógica da programação.
(nesta UC utilizaremos a Sintaxe do Portugol Studio)

Fluxogramas
 mesmo objetivo do pseudo-código, a única diferença é que os fluxogramas são
representações gráficas;
 Apresentam como principal vantagem, o facto de, contrariamente ao pseudo-
código, utilizarem símbolos universais (ou seja, cada símbolo representa uma
ação específica);
 Os vários elementos (símbolos) são ligados através de linhas, definindo, assim, o
caminho que deve ser seguido.

5
Fluxogramas (Exemplo)

Algoritmo de domingo

(1) Acordar.
(2) Tomar o café.
(3) Se estiver sol vou à praia senão leio o jornal.
(4) Almoçar.
(5) Ir ao cinema.
(6) Fazer uma refeição.
(7) Ir dormir.
(8) Final do domingo.

6
 Exercícios

* somar dois números

* calcular a área de um retângulo

* calcular o perímetro de um retângulo

* calcular xy, com 0y6

(1) Entradas
 Quantidades inicialmente especificadas (por exemplo, através de instruções de
leitura).
(2) Saídas
 Uma ou mais saídas (habitualmente por instruções de escrita)

(3) Finitude
 A execução deve terminar sempre num número finito de passos.

(4) Precisão
 Todos os passos do algoritmo devem ter um significado preciso e não ambíguo,
especificando exatamente o que deve ser feito. Para evitar a ambiguidade das
linguagens humanas (linguagens naturais), linguagens especiais (denominadas
linguagens de programação) foram criadas para exprimir algoritmos.

(5) Eficácia
 Os passos devem conduzir à resolução do problema proposto. Devem ainda ser
executáveis numa quantidade finita de tempo e com uma quantidade finita de
esforço.

(6) Eficiência
 Em muitos casos colocam-se questões de eficiência a um algoritmo.

7
 Neste curso, iremos utilizar o PORTUGOL STUDIO
(simulador de linguagem algorítmica
desenvolvido para apoio às aulas de Introdução à
Programação) [descarregar em]

http://lite.acad.univali.br/portugol/

Ou então:

Você também pode gostar