Você está na página 1de 50

Unidade I

LINGUAGEM DE PROGRAMAÇÃO APLICADA

Prof. Rogério Gião


Algoritmos
Conceito e definições

 O processo de transferir para máquinas as tarefas que


normalmente são executadas pelo homem é o conceito que
conhecemos por automatização de processos.

 Os tipos de máquinas são os mais diversos possíveis, desde


máquinas mecânicas até eletrônicas, todas elas com os seus
graus de desenvolvimento e tecnologias embarcadas.

 Dentre as máquinas eletrônicas podemos considerar


computadores, telefones celulares, tablets e componentes
específicos para determinadas atividades tais como switches
e roteadores de rede.
Algoritmos
Conceito e definições

 Para que essas máquinas possam executar as tarefas


adequadamente dentro do que se espera em termos de
rapidez e qualidade é necessário que seja realizado um
determinado tipo de programação dentro delas, respeitando
as particularidades de cada uma.

 Para que essa programação possa ser eficiente é necessária


a elaboração da sequência das atividades que a máquina deve
realizar a fim de atingir o objetivo esperado.

 A sequência correta de atividades a ser executada por uma


máquina de forma que o objetivo seja atingido é o que
podemos chamar de algoritmo.
Algoritmos
Conceito e definições

 Definimos, então, um algoritmo como uma sequência de


passos, muito bem definidos, que devem ser seguidos
conforme planejado para atingir um determinado objetivo da
melhor forma possível.

 Em um algoritmo, o número de passos irá depender da


complexidade do problema, mas deve ser finito e ele deve ter
início e fim bem definidos.

 Todo algoritmo deve resultar em uma saída que deve


representar o resultado esperado para todo o raciocínio que
foi utilizado para desenvolvimento dele.
Algoritmos
Conceito e definições

 Sempre que um algoritmo é elaborado deve-se sempre


questioná-lo, ou seja, avaliá-lo de forma a determinar se ele
realmente é a melhor solução para um determinado problema;
se não for, devemos modificá-lo ou até mesmo refazê-lo.

Fonte: https://pt.depositphotos.com/11456401/stock-photo-3d-man-thinking.html
Algoritmos
Conceito e definições

 A elaboração de um bom algoritmo depende da aplicação


correta do raciocínio lógico que originou a sequência de
atividades para a resolução do problema. O raciocínio lógico
é uma particularidade de cada indivíduo. Por esse motivo,
para um mesmo problema, podemos encontrar
diferentes algoritmos.

Fonte: https://resumeask.info/psychology-powerpoint-templates-free.html
Algoritmos
Conceito e definições

Existem algumas regras para que possamos conseguir um


algoritmo eficiente, abaixo citamos:

 o número de atividades, ou passos, deve ser muito bem


definido;
 um passo deve ser preciso, ou seja, não deve de forma
alguma gerar dúvidas em relação ao que está sendo feito;
 deve possuir uma ou mais de uma saídas para uma
determinada situação;
 deve ter um ponto que determina o seu fim e esse deve ser
sempre atingido independente do caminho que tenha se
tomado ao longo do algoritmo.
Interatividade

Baseado nos conceitos e nas definições sobre algoritmos,


assinale a alternativa que não representa uma alternativa
verdadeira.

a) Algoritmo representa o raciocínio lógico elaborado por


alguém para a resolução de um determinado problema.
b) Nem sempre conseguimos atingir uma saída com a
elaboração de um algoritmo, mas isso não representa um
problema para o desenvolvimento de um programa
de computador.
c) O número de passos de um algoritmo deve ser finito.
d) Cada passo deve ser preciso.
e) Diferentes pessoas podem gerar diferentes algoritmos.
Algoritmos
Formas de representação

 Ao longo dos tempos foram desenvolvidas várias formas de


representação para algoritmos.

 Não podemos afirmar se uma é melhor ou pior do que as


outras, o que existe é aquela que mais se adequa a uma
determinada situação e também da preferência pessoal de
quem o está desenvolvendo.

 Para essa escolha não devemos esquecer qual nível de


detalhes que se deseja alcançar já que esse é um parâmetro
que muda de um tipo para outro de algoritmo.
Algoritmos
Formas de representação

As principais formas de representação de algoritmos são:

 Descrição narrativa;

 Fluxograma tradicional;

 Diagrama de Chapin;

 Pseudocódigo.
Algoritmos
Formas de representação
Descrição narrativa

 A forma de representação denominada como descrição


narrativa utiliza a mesma forma utilizada pelas pessoas para
explicar as situações em linguagem falada.

 Nesse caso deve-se considerar a língua utilizada para


sua descrição.
Algoritmos
Formas de representação
Descrição narrativa

Exemplo:
Para elaborar um bolo de fubá devemos executar as seguintes
atividades:

 separar os ingredientes: 200 g de fubá, 200 g de açúcar, três


xícaras de manteiga, 200 g de farinha de trigo, um copo de
leite, duas colheres de fermento químico;

 misturar todos os ingredientes em um recipiente;

 colocar a mistura em uma assadeira untada;


Algoritmos
Formas de representação
Descrição narrativa

Exemplo continuação:

 levar ao forno pré-aquecido;

 manter a mistura no forno por mais ou menos 35 minutos;

 retirar o bolo do forno e aguardar esfriar para poder consumir.


Algoritmos
Formas de representação
Descrição narrativa

Observações:

 A descrição narrativa não é a forma de utilização mais usual


para elaboração de algoritmos pelo fato de utilizar como base
a linguagem falada.

 A linguagem falada como base pode levar a condições


imprecisas ou que gerem várias interpretações.

 O algoritmo fica a mercê da utilização de particularidades de


cada linguagem falada, que depende da região em que
é elaborado.
Algoritmos
Formas de representação
Descrição narrativa

No exemplo anterior, podemos verificar várias situações de


dúvida em que diferentes pessoas podem entender a atividade
de forma diferente, tais como:

 Na primeira atividade, a definição de três xícaras de manteiga


e um copo de leite podem gerar dúvidas já que não se define o
tipo de xícara e o tamanho do copo.

 No quinto passo declara-se o tempo como mais ou menos 35


minutos, ou seja, não há uma precisão no que se deve fazer.
Algoritmos
Formas de representação
Fluxograma

 A representação de fluxograma convencional é a forma que


faz uso de formas geométricas para indicar quais são as
ações que devem ser executadas em cada um dos passos
do algoritmo.

 Essa forma de representação costuma ser muito utilizada,


pois a forma geométrica não deixa dúvidas em relação ao que
se deve fazer naquele passo.

 Além disso, a utilização de figuras facilita o entendimento


pelas pessoas que irão analisar o algoritmo.
Algoritmos
Formas de representação
Fluxograma

 Nesse tipo de
representação,
cada tipo de
atividade é
associado a uma
determinada
figura. O quadro
a seguir mostra
as principais
figuras com as
correspondentes
ações que irão
exercer.

Fonte: livro-texto
Algoritmos
Formas de representação
Fluxograma

 Uma representação do tipo fluxograma deve sempre começar


indicando o início dele por meio da utilização do símbolo de
início; em seguida, cada passo deve ser indicado pelo símbolo
correspondente a ele e, no final, o símbolo de fim.

 A sequência dos passos que deve ser seguida é representada


pelo símbolo da seta demonstrando a sequência lógica que o
algoritmo deve seguir.

 Sempre irá existir uma saída de um passo seguindo a lógica


até chegar ao final do algoritmo; chegando, dessa forma, ao
resultado esperado.
Algoritmos
Formas de representação
Fluxograma

 Exemplo de um fluxograma
para representar se o aluno
está aprovado ou
reprovado após o
cálculo da média.

Fonte: livro-texto
Algoritmos
Formas de representação
Diagrama de Chapin

 Esse tipo de representação, criada por Ned Chapin, tem a


intenção de criar um algoritmo que apresente uma visão de
hierarquia estruturada de uma determinada lógica para
resolução de um problema.

Exemplo de um diagrama de Chapin:

 Uma desvantagem
da utilização desse tipo
de representação
é a dificuldade
de se fazer uma alteração
no algoritmo quando necessário.
Fonte: livro-texto
Interatividade

Dado o algoritmo no próximo slide em fluxograma, analise a


sequência de passos e assinale dentre as alternativas abaixo a
que corresponde ao objetivo desse algoritmo.

a) Descobrir qual é o maior entre três números diferentes.


b) Estabelecer igualdade entre os números de entrada.
c) Verificar quais são os números iguais entre três entradas.
d) Descobrir qual é o menor entre três números diferentes.
e) Provar que os três números de entrada são diferentes.
Interatividade

Algoritmo
em fluxograma:

Fonte: livro-texto
Algoritmos
Formas de representação
Pseudocódigo

 Pseudocódigo, também conhecido como português


estruturado, é uma forma de representação de algoritmos que
tem como característica principal a semelhança com as
estruturas das linguagens de programação.

 É uma representação muito aceita pelos desenvolvedores e


possibilita a criação de algoritmos muito ricos em detalhes.

 Pela sua forma de representação permite que a migração para


uma linguagem de programação seja muito simples.
Algoritmos
Formas de representação
Pseudocódigo

 Um algoritmo em pseudocódigo deve respeitar uma estrutura


básica com os campos mínimos para sua confecção.

Estrutura básica de uma algoritmo:

Fonte: livro-texto
Algoritmos
Formas de representação
Pseudocódigo

 Algoritmo é o indicador que apresenta um novo algoritmo.


 <nome_do_algoritmo> representa a identificação simbólica do
algoritmo visando a sua identificação perante os demais
algoritmos.
 <declaração_de_variáveis> é a área dentro da estrutura do
algoritmo destinada à declaração das variáveis que serão
utilizadas ao longo do algoritmo.
 <subalgoritmos> é a área destinada à declaração de
subalgoritmos que auxiliam o desenvolvimento
do fluxo principal.
 Início e fim são os parâmetros que definem os pontos
de início e fim do corpo principal do algoritmo.
Algoritmos
Formas de representação
Pseudocódigo

Exemplo de um algoritmo elaborado em pseudocódigo:

Fonte: livro-texto
Algoritmos
Formas de representação
Pseudocódigo

 Um computador tem a função de manipular informações por


meio de instruções que são inseridas nos programas
de computador.

Podemos classificar as informações em dois grupos:

 Tipo instrução que define como os dados serão manipulados


pelo computador.

 Tipo dados que quantificam as informações que devem ser


processadas pelo sistema.
Algoritmos
Formas de representação
Pseudocódigo

Em relação aos dados, podemos classificá-los em alguns tipos:

 Inteiros: aqueles que são numéricos tanto positivos como


negativos não fracionários. Exemplo: 0, 10, -635.

 Reais: dados numéricos tanto positivos como negativos,


incluindo-se nesse grupo os fracionários.
Exemplo: 10, 0, 8.6, -635.
Algoritmos
Formas de representação
Pseudocódigo

 Caracteres: qualquer sequência que contenha números, letras


e caracteres especiais. Essas sequências devem ser utilizadas
sempre entre aspas, delimitando ao sistema o início e o fim.

 Lógicos: aqueles aos quais são atribuídos valores de


verdadeiro ou falso, não podendo receber qualquer outro
valor. Também conhecidos como dados booleanos.
Algoritmos
Formas de representação
Pseudocódigo

 Variáveis: o conceito de variáveis estipula tudo que pode


sofrer alterações, que é instável ou mutável.

 Computadores trabalham acessando os dados na memória.


Para que isso seja possível, eles precisam saber o tipo de
dados que ele está manipulando e saber onde começa e onde
termina a área de memória ocupada pelo dado.

 Para simplificar esse acesso aos dados criou-se o recurso de


utilização de variáveis que tem como objetivo armazenar o
conteúdo relativo a uma determinada informação.
Algoritmos
Formas de representação
Pseudocódigo

Uma variável possui três parâmetros fundamentais para que o


computador possa acessá-la corretamente, são eles:

 Um nome;
 O tipo de dado ao qual corresponde o seu conteúdo;
 O conteúdo que representa a informação nela contida.

Definição de variáveis em algoritmos: devemos definir as


variáveis em algoritmos na área específica para essa finalidade
da seguinte forma:

 VAR <nome_da_variável> : <tipo_da_variável>


Algoritmos
Formas de representação
Pseudocódigo

Exemplo para definição de variáveis:

 VAR nome_funcionario: caracter[15]


Idade_ funcionario: inteiro
Salário_ funcionario: real
dependentes: lógico
Algoritmos
Formas de representação
Pseudocódigo

Constantes: algo que não sofre alterações, sendo estável


ou fixo.

 Utilizamos constantes quando necessitamos manipular um


mesmo valor, referenciado por um nome, em diversas partes
do algoritmo. Quando existe a necessidade de alteração desse
valor, basta realizar a mudança somente em um local, onde ela
foi definida.

 CONST <nome_da_constante> = <valor>

Exemplo: CONST pi = 3.14159


Interatividade

 Analise o algoritmo abaixo e indique o que está errado em


relação à estrutura que deve ser respeitada.

Fonte: livro-texto
Interatividade

Alternativas:

a) A indicação de início e fim não está bem definida.


b) As instruções para manipulação dos dados estão
em local incorreto.
c) Existem variáveis que são utilizadas ao longo do algoritmo
e estão definidas de forma e em local errados.
d) O resultado do algoritmo não é claro, deixando dúvidas
em relação aos objetivos alcançados.
e) O nome do algoritmo não é adequado para a definição
dele.
Algoritmos
Formas de representação
Pseudocódigo

Operadores: definimos como componentes de uma expressão


matemática que atuam sobre dois operandos, gerando um
determinado resultado. Classificam-se em duas categorias:

 Tipo binário: operadores agem sobre dois operandos.


Podemos citar dentre eles os aritméticos, tais como:
soma e subtração.

 Tipo unário: operadores que atuam sobre um único operando.


O operador mais comum desse tipo é o operador de negação
(-) que tem a função de inversão do sinal de um operando.
Algoritmos
Formas de representação
Pseudocódigo

Tipos de operadores:

 Operadores de atribuição.

 Definimos operador de atribuição ao que tem a função de


atribuir um determinado valor a uma variável.

 A sua representação é feita pelo símbolo: :=

 Nome_da_Variável := expressão
Algoritmos
Formas de representação
Pseudocódigo

Operadores aritméticos
 Definimos como operadores aritméticos aqueles que
representam as operações aritméticas básicas, assim como
na matemática tradicional. A tabela mostra os principais. A
coluna denominada prioridade define a ordem em que eles
são executados em uma expressão.
Algoritmos
Formas de representação
Pseudocódigo

Operadores relacionais
 Definimos como operadores relacionais aqueles que retornam
como resultado da operação os valores lógicos verdadeiros
ou falsos. Esses operadores são classificados como binários.
 Essas comparações lógicas só podem ser usadas entre
variáveis de mesmo tipo e o resultado delas sempre será
valores lógicos.

Fonte: livro-texto
Algoritmos
Formas de representação
Pseudocódigo

Operadores lógicos
 Definimos como operadores lógicos aqueles que tem a função
de combinar expressões do tipo relacionais. Esses
operadores também possuem como resultado valores lógicos
verdadeiros ou falsos.

Fonte: livro-texto
Algoritmos
Formas de representação
Pseudocódigo

Operadores literais

 Definimos como operadores literais aqueles que atuam sobre


caracteres ou conjunto de caracteres.

 A seguir, um exemplo que demonstra essa junção, sempre


pegando o início da segunda string concatenando ao final
da primeira string.
Algoritmos
Formas de representação
Pseudocódigo

O símbolo para esse operador é o +.


 “LINGUAGEM DE” + “PROGRAMAÇÃO”

Executando a operação anterior, obtemos o seguinte resultado:


 “LINGUAGEM DE PROGRAMAÇÃO”
Algoritmos
Formas de representação
Pseudocódigo

Comandos de saída de dados

 São por meio deles que as informações manipuladas pelo


computador e disponíveis na memória são transferidas para
os dispositivos de saída, sendo apresentadas para os
usuários.

 ESCREVA <variável>

Exemplo: ESCREVA W
Algoritmos
Formas de representação
Pseudocódigo

Comandos de entrada de dados

 Em algoritmos, os comandos de entrada de dados definem a


forma como as informações, necessárias ao sistema, são
inseridas pelo usuário e transferidas para a memória do
computador.

 LEIA <variável>

Exemplo:
 LEIA W
Algoritmos
Formas de representação
Pseudocódigo

Exemplo de um algoritmo que faz uso de entrada e saída


de dados:

Fonte: livro-texto
Algoritmos
Formas de representação
Pseudocódigo

 Estruturas de controle de fluxo de execução: existem


situações em programação que há necessidade de alterar o
fluxo de execução.

Existem três estruturas que permitem essas alterações:

 Estruturas sequenciais.
 Estruturas de decisão.
 Estruturas de repetição.
Algoritmos
Formas de representação
Pseudocódigo

Estruturas de decisão:

 Estrutura de decisão simples (Se ... então).

 Estrutura de decisão composta (Se ... então ... senão).

 Estrutura de decisão de múltipla escolha (Escolha ...


Caso ... Senão).
Algoritmos
Formas de representação
Pseudocódigo

Estruturas de repetição:

 Laços condicionais: (enquanto ... Faça).

 Laços condicionais com teste no final: (repita ... até que).

 Laços contados: (para ... faça).


Interatividade

As estruturas de alteração do fluxo de execução de um


algoritmo e consequentemente de um programa de computador
devem ser utilizadas de acordo com a sua aplicação. Quando
precisamos que um determinado trecho de código seja repetido
um número certo de vezes, devemos usar a estrutura:

a) Decisão simples.
b) Múltipla decisão.
c) Laço condicional no final.
d) Laço condicional no início.
e) Laço contado.
ATÉ A PRÓXIMA!

Você também pode gostar