Você está na página 1de 34

Engenharia Elétrica

Algoritmos e Lógica de Programação


2° Período
Algoritmos Computacionais

Prof. Wagner Elvio de Loiola Costa

Anhanguera São Luís


Engenharia Civil
28 de fevereiro de 2023

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 1 / 34


Agenda

1 Algoritmos

2 Estruturas de Algoritmos

3 Programas de computador

4 Linguagens de Programação

5 Pós-Aula

6 Conclusão

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 2 / 34


Algoritmos

Algoritmos

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 3 / 34


Algoritmos

Conceitos-01

Algoritmos:

1 As tarefas precisam ser executadas em uma ordem, para que haja


sucesso;
2 Um algoritmo precisa ter uma sequência lógica
3 Uma tarefa após a outra
4 Produzir o planejado.

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 4 / 34


Algoritmos

Conceitos-02

... Algoritmo é uma sequência de passos que visam atingir um objetivo


bem denido ... [CONCEITOS, 2009]
... Algoritmo é uma sequência nita de instruções ou operações cuja a
execução, em tempo nito, resolve um problema computacional,
qualquer que seja sua instância(SALVETTI,
1999)...[CONCEITOS, 2009]
... Algoritmo são regras formais para a obtenção de um resultado ou
da solução de um problema, englobando fórmulas de expressões
aritméticas. (MANZZANO,1997)[CONCEITOS, 2009]

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 5 / 34


Algoritmos

Denição formal03

Um Algoritmo deve possuir características necessárias para ser


elaborado com sucesso.
Um Algoritmo é uma sequência nita de passos com operações
capazes de serem executados em um computador em tempo nito.
1 Ser nito;

2 Ser exato;

3 Ter uma boa denição de entrada e saídas e

4 Ser efetivo.

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 6 / 34


Algoritmos

Denição formal04

Ser nito:
1 Sempre terminar após um número nito de passos.

2 Sempre terminar após uma quantidade nita de tempo.

3 Sempre deve ser executado com uma quantidade nita de recursos.

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 7 / 34


Algoritmos

Denição formal05

Ser exato:
1 O algoritmo deve ser denido com precisão.
2 A sequência dos passos deve ser bem determinada.
3 As instruções não podem ter duplo sentido. Exemplos:
1 Maria e José moram juntos. (Eles podem ser casados ou não)

2 Ok? (Precisa saber em qual contexto isso se refere)

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 8 / 34


Algoritmos

Interpretações

Figura: Interpretações
Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 9 / 34
Algoritmos

Denição formal06

Ter uma boa denição de entrada e saídas:

Entrada:
1 Um algoritmo pode eventualmente precisar de dados externos;
2 Os dados precisam ser fornecidos de maneira correta. (Se precisar de
um valor real (número com ponto decimal), não solicite valores inteiros)

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 10 / 34


Algoritmos

Denição formal07

Ter uma boa denição de entrada e saídas:

Saída:
1 Um algoritmo deverá fornecer a informação desejada, como algum
dado e/ou informação de acordo com o valor fornecido na entrada.

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 11 / 34


Algoritmos

Denição formal08

Ser efetivo:
1 Deve ser realizável;
2 As instruções devem ser:

1 O mais simples;

2 Necessárias para a resolução da questão

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 12 / 34


Estruturas de Algoritmos

Estruturas de Algoritmos

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 13 / 34


Estruturas de Algoritmos

Estruturas de Algoritmos01

Os algoritmos podem ser representado através de um Fluxograma


convencional ou uma descrição narrativa.

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 14 / 34


Estruturas de Algoritmos

Estruturas de Algoritmos02

Linguagem Natural

1 Rigidez Sintática
2 Rigidez Semântica

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 15 / 34


Estruturas de Algoritmos

Estruturas de Algoritmos01

Fluxograma

1 Rigidez Sintática

2 Rigidez Semântica

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 16 / 34


Estruturas de Algoritmos

Fluxograma

Figura: Fluxograma

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 17 / 34


Programas de computador

Programas de computador

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 18 / 34


Programas de computador

Programas de computador01

O que é um programa?
1 Em um programa suas operações são especicas para a máquina e
restrito ao conjunto de instruções que o processador pode
executar.[Medina e Fertig]
2 Um Conjunto de instruções são as operações que um processador,
microprocessador, microcontrolador, CPU ou outros periféricos
programáveis suporta, fornece ou disponibiliza para o programador, ou
seja, é a representação em mnemônicos do código de máquina.

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 19 / 34


Programas de computador

Programas de computador02

Esse conjunto de instruções é a primeira linguagem de programação


do computador (Conhecida como linguagem de máquina).

As linguagens de programação podem ser classicadas segundo sua


proximidade com a linguagem de máquina

Quanto maior semelhança com a linguagem de máquina mais baixo é


o nível da linguagem.

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 20 / 34


Programas de computador

Programas de computador03

As linguagens de programação mais semelhantes a linguagem de


maquina são conhecidas como linguagens de baixo nível.

E as linguagens de programação distantes da linguagem de maquina


são conhecidas como linguagens de alto nível.

As linguagens de alto nível são próximas da linguagem natural e


proporciona possuem pouca similaridade com a linguagem de maquina

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 21 / 34


Programas de computador

Programas de computadorLinguagem Assemby- 04

As linguagens de programação que um PC é capaz de compreender


Fazer algoritmos em linguagens de programação de um PC é um
processo complicado para os seres humanos. Fez-se necessário criar
um código (para facilitar a programação em PC) que relacionasse a
linguagem de máquina com uma linguagem mais fácil de
compreendida.

A linguagem de montagem assembly é um código que possui uma


instrução alfanumérica (ou mnemônica) para cada instrução numérica
em linguagem de maquina

O programa Assembler permite que um programa escrito em


linguagem de montagem possa ser executado pelo PC em linguagem
de máquina.

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 22 / 34


Programas de computador

CodigoFonteASSEMBLER

Código em linguagem de Código em linguagem de


Assembler
montagem máquina

Figura: Kernel do Linux

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 23 / 34


Linguagens de Programação

Linguagens de Programação

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 24 / 34


Linguagens de Programação

Programas de computador

Programas de computador
O que é um programa?
Execução de programas
Linguagens de programação e sistemas operacionais

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 25 / 34


Linguagens de Programação

Programas de computador

Um Programas de computador
O que é um programa?
Execução de programas
Linguagens de programação e sistemas operacionais

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 26 / 34


Linguagens de Programação

UCP

Unidade Central de
Barramento Memória
Processamento

Dispositivos de Entrada e
Saída
Conexões Externas
(Teclado, mouse e
monitor)

Figura: Kernel do Linux

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 27 / 34


Linguagens de Programação

UCP

Código fonte em Código em linguagem de


Compilador
linguagem de alto nível máquina

Figura: Kernel do Linux

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 28 / 34


Pós-Aula

Pós-Aula

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 29 / 34


Pós-Aula

Pós-Aula

Questões

1 Faça uma breve descrição sobre o algorimos.


2 Faça uma breve descrição sobre as características listadas abaixo e que
são necessárias para uma realização de um bom algoritmo.

Ser nito;

Ser exato;

Ter uma boa denição de entrada e saídas e

Ser efetivo.

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 30 / 34


Pós-Aula

Referências

Medina, Marco e Fertig, Cristina, (2023)


Algoritmos e Programação Teoria e Prtaica,2015

https://viewallnews.wordpress.com/2009/07/
Viewwallnew Morgana, (2023)
08/conceitos-basicos-de-algoritmos/
CONCEITOS BÁSICOS DE ALGORITMOS, 2022

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 31 / 34


Conclusão

Conclusão

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 32 / 34


Conclusão

Conclusão  Contato

E-mail : wagnerelvio@gmail.com

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 33 / 34


Conclusão

Conclusão

Obrigado !!!!

Wagner Elvio (Alg. e Lógica de Prog.) Algoritmos Computacionais 28 de fevereiro de 2023 34 / 34

Você também pode gostar