Você está na página 1de 24

Algoritmos e Lógica de Programação

Prof. Ivan Fontainha


ivan.alvarenga@pitagoras.com.br
Algoritmos e Lógica de Programação
Teremos um grupo de discussão para a disciplina:

▪ Link do grupo do WhatsApp 2023-1:

https://chat.whatsapp.com/JzDPIvijlvxEHYT1Jwrkzw

2
Bibliografia

• ARTERO, Marcio Aparecido; SCHEFFER, Vanessa


Cadan. Algoritmos e Técnicas de programação.
Londrina: Editora e Distribuidora Educacional S.A.,
2018.

• FORBELLONE, A. L., EBERSPACHER, H., Lógica de


Programação, Makron Boorks, 1993.

• MANZANO, José Augusto N. G. & OLIVEIRA, Jayr


Figueiredo de, Algoritmos e Lógica para
Desenvolvimento de Programação de
Computadores, Érica, 1997.

3
Representação de Algoritmos

▪ Nas aulas passadas vimos o que é lógica de


programação e fundamentos de algoritmos, com
seus operadores, variáveis e constantes.

▪ Hoje veremos as representações das linguagens que


servirão de base para futuras programações.

4
Representação de Algoritmos
Linguagem natural

▪ Segundo Santos (2001), a linguagem natural, na


definição geral, é uma forma de comunicação entre
as pessoas de diversas línguas, podendo ser falada,
escrita e gesticulada.

▪ A linguagem natural tem uma grande contribuição


quando vamos desenvolver uma aplicação
computacional, pois pode direcionar de forma
simples e eficiente as descrições dos problemas e
suas soluções.

5
Representação de Algoritmos
Linguagem natural

▪ Para reforçar os conceitos de linguagem natural,


vamos tomar como exemplo a operação de dois
valores utilizando os quatros operadores básicos da
matemática.

▪ Problema:
▪ o usuário deverá entrar com dois valores, e o
computador retornará o resultado com cada uma
das operações aritméticas (soma, subtração,
multiplicação e divisão).

6
Representação de Algoritmos
Linguagem natural

▪ Existem várias formas de se resolver, vamos ver uma:


1. Início.
2. Entrar com o primeiro valor.
3. Entrar com o segundo valor.
4. Realizar a soma utilizando o primeiro valor mais o segundo.
5. Realizar a subtração utilizando o primeiro valor menos o
segundo.
6. Realizar a multiplicação utilizando o primeiro valor vezes o
segundo.
7. Realizar a divisão utilizando o primeiro valor dividido pelo
segundo.
8. Mostrar na tela o resultado da soma.
9. Mostrar na tela o resultado da subtração.
10. Mostrar na tela o resultado da multiplicação.
11. Mostrar na tela o resultado da divisão.
12. Fim. 7
Representação de Algoritmos
Linguagem natural

▪ Transcrever a linguagem natural em linguagem


computacional necessita de um prévio entendimento,
que posteriormente poderá sofrer transformações em
forma de:

▪ algoritmos,

▪ diagrama de blocos ou

▪ pseudocódigos.

8
Representação de Algoritmos
Diagrama de Blocos (fluxograma)

▪ Segundo Manzano (2015), podemos caracterizar


diagrama de blocos como um conjunto de símbolos
gráficos em quecada um desses símbolos representa
ações específicas a serem executadas pelo
computador.

▪ O diagrama de blocos ou fluxograma determina a


linha de raciocínio utilizada pelo programador para
resolver problemas.

9
Representação de Algoritmos
Diagrama de Blocos (fluxograma)

▪ Ao escrever um fluxograma, o programador deve


estar ciente de que os símbolos utilizados devem
estar em harmonia e ser de fácil entendimento.

▪ Para que os diagramas de blocos tenham certa


coerência, os seus símbolos foram padronizados
pelo ANSI (Instituto Norte-Americano de
Padronização).

10
Representação de Algoritmos
Diagrama de Blocos (fluxograma)

▪ Vamos ver a definição dos principais símbolos


utilizados em um diagrama de blocos ou fluxograma:

Representa o inicio ou o fim


Terminal de um fluxo lógico. Em alguns
casos definem a sub-rotinas.

Entrada manual Determina a entrada manual


de dados, geralmente através
de um teclado.

Representa a execução de
Processamento
ações de processamento.

11
Representação de Algoritmos
Diagrama de Blocos (fluxograma)

▪ Vamos ver a definição dos principais símbolos


utilizados em um diagrama de blocos ou fluxograma:

Mostra o resultado de uma


Exibição ação, geralmente através da
tela de um computador.
Representa os desvios
condicionais nas operações
Decisão de tomada de decisão e laços
de repetição de trechos do
programa.
Representa a execução de
Preparação um laço incondicional que
permite a modificação 12de
instruções de laço.
Representação de Algoritmos
Diagrama de Blocos (fluxograma)

▪ Vamos ver a definição dos principais símbolos


utilizados em um diagrama de blocos ou fluxograma:

Define um grupo de
Processo definido operações relacionadas a
uma sub-rotina.
Representa pontos de
conexões entre trechos de
Conector programas, que podem ser
apontados em outras partes
do diagrama de bloco.
Representa os vínculos
Linha existentes entre os símbolos
em um diagrama de blocos.13
Representação de Algoritmos
Diagrama de Blocos (fluxograma)

▪ A partir do momento que for utilizando os símbolos


com as instruções deles, você vai aprendendo e
desenvolvendo cada vez mais a lógica deles em
relação aos problemas.

▪ Segundo Souza (2011), os profissionais da área de


Exatas fazem uso de fluxogramas devido à sua
familiaridade com diagramas esquemáticos, com
linguagem matemática, bem como com as
expressões gráficas.

▪ Isso ocorre por causa do apelo visual que os


fluxogramas têm na formação desses profissionais.
14
Representação de Algoritmos
Diagrama de Blocos (fluxograma)

▪ Vamos realizar um fluxograma que resolva o cálculo


de dois valores exibindo sua soma, subtração,
multiplicação e divisão.
O símbolo terminal deu início
ao diagrama de blocos.

O símbolo de processamento
definiu as variáveis que serão
utilizadas no diagrama de
blocos: valor1, valor2, soma,
subt, multi e divi.

O símbolo exibição mostra na


tela o que o usuário deve
fazer.
15
Representação de Algoritmos
Diagrama de Blocos (fluxograma)

O símbolo de entrada manual


libera para o usuário entrar
com o primeiro valor.

O símbolo exibição mostra na


tela o que o usuário deve
fazer.

O símbolo de entrada manual


libera para o usuário entrar
com o segundo valor.

16
Representação de Algoritmos
Diagrama de Blocos (fluxograma)

O símbolo de processamento
é realizado com as atribuições
os valores calculados para
suas respectivas variáveis.

O símbolo exibição mostra na


tela o resultado de cada valor
calculado.

Finaliza o programa. 17
Representação de Algoritmos
Diagrama de Blocos (fluxograma)

18
Representação de Algoritmos
Diagrama de Blocos (fluxograma)

▪ Vale observar alguns pontos de atenção para a


construção de um fluxograma:

1. Estar atento aos níveis.

2. O fluxograma deve começar de cima para baixo


e da esquerda para a direita.

3. Cuidado para não cruzar as linhas,


principalmente as linhas de fluxos de dados.

19
Representação de Algoritmos
Diagrama de Blocos (fluxograma)

▪ Veja agora uma


situação de uma
operação lógica em
que a finalidade é
entrar com uma
senha no sistema.
▪ Temos um loop
descrito neste
diagrama.

20
Representação de Algoritmos
Pseudocódigo

▪ Segundo Aguilar (2011), o pseudocódigo é


considerado uma ferramenta que pode auxiliar a
programação.
▪ Pode ser escrito em palavras similares ao inglês ou
ao português para facilitar a interpretação e o
desenvolvimento de um programa.
▪ Podemos caracterizar os algoritmos como um
pseudocódigo.
▪ Existem várias formas de representar um
pseudocódigo, mas o mais importante é que ele
apresente a solução do problema proposto.
▪ Veja agora o pseudocódigo (portugol) para resolver o
problema das operações aritméticas citadas
anteriormente.
21
Representação de Algoritmos
Pseudocódigo

1. calculo_operadores;
2. var;
3. valor1, valor2, soma, subt, multi, divi: real;
4. Início;
5. escreva (“Digite o valor 1”);
6. leia valor1;
7. escreva (“Digite valor 2”);
8. leia valor2;
9. soma ← valor1 + valor2;
10. subt ← valor1 - valor2;
11. multi ← valor1 * valor2;
12. divi ← valor1 / valor2;
13. escreva (“a soma é:”, soma);
14. escreva (“a subtração é:”, subt);
15. escreva (“a multiplicação é:”, multi);
16. escreva (“a divisão é:”, divi); 22
17. Fim.
Representação de Algoritmos
Pseudocódigo

▪ É importante estar atento para algumas regras


básicas quando utilizar pseudocódigos:
▪ Escolher um nome.
▪ Avaliar as variáveis, dar atenção aos seus tipos e
às suas características.
▪ Descrever de forma clara o que será armazenado
e se as variáveis destinadas a essa informação
estão corretas.
▪ Verificar se as instruções fazem sentido e se têm
uma sequência lógica.
▪ Avaliar o resultado e, quando pertinente, mostrar
na tela.
▪ Finalizar o algoritmo.
23
Algoritmos
Exercícios

Escreva um algoritmos para cada problema abaixo.


(escreva em forma de fluxograma e em forma de
pseudocódigos)

1. Algoritmos que receba 3 números digitados pelo


usuário e retorne a some e média destes
números. Cuide para que estes números sejam
positivos.

2. Algoritmo que receba o salário de um funcionário


e caso seja menor que R$ 1.500,00 faça um
reajuste de 35 %.
24

Você também pode gostar