Você está na página 1de 45

Lógica e técnicas de programação

Jéssica Maia
Sejam todos bem-vindos !

Olá, sou a Jéssica Maia e estarei com vocês durante a


disciplina de Lógica e técnicas de programação.

• Formação/titulação :

✔ Bacharel em Sistemas de Informação – IFCE - Campus Cedro-CE;

✔ Técnica em Rede de computadores;


• A capacidade de pensar de maneira lógica é um dos principais
diferenciais para saber como resolver problemas.

UNIDADE 1 • Se quisermos buscar uma resposta simples à pergunta tão complexa,


devemos dizer que a lógica, ao longo de toda sua história, justificou-se
» LÓGICA E ALGORITMOS como um estudo sobre os argumentos. Em especial, a lógica justifica-se
como um estudo sobre os critérios pelos quais se podem distinguir os
“bons” dos “maus” argumentos (FORBELLONE, 1993).

• A lógica de programação é a linguagem usada para criar um programa


de computador. A lógica de programação é essencial para desenvolver
programas e sistemas informáticos, pois ela define o encadeamento
lógico para esse desenvolvimento. Os passos para esse
desenvolvimento são conhecidos como algoritmo, que consiste em uma
sequência lógica de instruções para que a função seja executada.
O que é um algoritmo?
• Algoritmo é uma sequência de ações finitas encadeadas e lógicas que
descrevem como um determinado problema deve ser resolvido.
• Algoritmo pode ser entendido como qualquer procedimento que
UNIDADE 1 recebe um ou mais valores de entrada e nos retorna uma saída.
• É uma linguagem intermediária entre a humana e as de programação.
» LÓGICA E ALGORITMOS

Criação de um algoritmo
• Elaborar um número adequado e finito de passos
• Definir com exatidão cada passo – onde começa e onde termina.
• Elaborar de forma consistente as entradas do algoritmo.
• Analisar adequadamente a saída, chegando a sua veracidade.
• Criar a condição de fim, de forma a não permitir que o algoritmo entre
em loop (execução infinita).
Características de um algoritmo

Entrada:
São as informações que alimentam a construção, geralmente usados como
parâmetros ou filtros na busca das informações em uma base de dados. Um
UNIDADE 1 algoritmo pode não conter valores de entrada. Assim, como poderá apresentar
um ou mais valores de tipos de dados distintos como entrada para a lógica
» LÓGICA E ALGORITMOS construída.
Saída:
Todo algoritmo deve produzir um resultado.
Clareza ou definição:
Cada passo/instrução/etapa de um algoritmo deve ser claro e não gerar duplo
entendimento.
Efetividade:
Cada passo/instrução/etapa de um algoritmo deve ser executável.
Finitude:
Algoritmo deve ter uma condição para sair de sua execução. Isso evitará que
entre em loop. O loop traduz a incapacidade do algoritmo de interromper a sua
execução.
A construção de um algoritmo apresenta três etapas distintas:

• Entrada: são os dados que serão processados pelo algoritmo.


• Processamento: representa os procedimentos necessários de manipulação das
UNIDADE 1 informações no intuito de produzir o resultado esperado.

» LÓGICA E ALGORITMOS
• Saída: é o resultado esperado; são os dados produzidos na etapa de
processamento.
MÉTODO PARA A CONSTRUÇÃO DE ALGORITMOS

1. Entender o problema a ser resolvido. Um exemplo de problema: somar dois


UNIDADE 1 números. Neste caso, imagine o que você precisa para executar a solução.
2. Identificar e definir as entradas do algoritmo. No caso do problema
» LÓGICA E ALGORITMOS proposto, você teria como entrada dois números.
3. Descrever os passos para resolver o problema. Basicamente descrever o
processo de soma dos dois números.
4. Definir os dados de saída. Na situação proposta, o resultado da soma dos
dois números usados como entrada do problema.
5. Construir o algoritmo para representar a sequência de execução dos passos.
6. Transcrever o algoritmo para uma linguagem interpretada por computador.
7. Testar a lógica, bem como os passos de execução.
REGRAS PARA A CONSTRUÇÃO DE ALGORITMOS
1. Usar somente um verbo por passo/instrução/etapa.
2. Escrever de uma forma simples para que possa ser entendido facilmente,
inclusive por pessoas que não trabalham na área.
UNIDADE 1 3. Abusar da simplicidade e objetividade em relação aos termos e frases.
4. Evitar termos ou palavras que permitam duplo entendimento
» LÓGICA E ALGORITMOS

FORMAS DE REPRESENTAÇÃO DE ALGORITMOS


Descrição narrativa.
Fluxograma.
Diagrama de Chapin.
Pseudocódigo, também conhecido como linguagem estruturada ou Portugol
FORMAS DE REPRESENTAÇÃO DE ALGORITMOS
Descrição narrativa.
Nesta forma de representação, os algoritmos são expressos em linguagem natural.
Exemplo: Trocar um pneu

UNIDADE 1 1: Afrouxar as porcas


2: Levantar o carro
» LÓGICA E ALGORITMOS 3: Retirar as porcas
4: Trocar o pneu pelo estepe
5: Apertar as porcas
6: Abaixar o carro
Fluxograma.
Fluxogramas fazem uso de símbolos universais para ajudar no entendimento do
algoritmo. São representações gráficas, em que as formas geométricas propõem ações
específicas. Esta forma de representação preocupa-se com detalhes de nível físico da
implementação do algoritmo.
O diagrama de blocos ou fluxograma é uma forma padronizada eficaz para representar
os passos lógicos de um determinado processamento. Com o diagrama podemos definir
uma sequência de símbolos, com significado bem definido. Portanto, sua principal
função é a de facilitar a visualização dos passos de um processamento.
FLUXOGRAMA

UNIDADE 1
» LÓGICA E ALGORITMOS
FLUXOGRAMA PARA CÁLCULO DE MÉDIA:

UNIDADE 1
» LÓGICA E ALGORITMOS
Diagrama de Chapin

• Criado por Ned Chapin, tem como objetivo apresentar uma visão mais hierárquica
e estruturada da lógica do sistema.
• A vantagem do uso consiste no fato de que é mais fácil representar as estruturas
UNIDADE 1 que tem um ponto de entrada e um ponto de saída e são compostas pelas
estruturas básicas de controle de sequência, seleção e repartição.
» LÓGICA E ALGORITMOS
Pseudocódigo
O pseudocódigo tem uma escrita simplificada. Não pode ser considerado um
código real. Porém, assemelha-se à linguagem de programação.

UNIDADE 1 Estrutura:
Nome do algoritmo: cada algoritmo deverá ter um nome específico,
» LÓGICA E ALGORITMOS preferencialmente indicando o objetivo para o qual foi criado.
Exemplo:Calcula_Media_aluno.
Variáveis: Todo algoritmo deve apresentar uma seção para a declaração
do nome e tipo de dados das variáveis que terão a função de armazenar valores
dentro da lógica.
Subalgoritmos ou código: é a parte onde o código é escrito e estruturado.
Início e Fim: são, respectivamente, as palavras que delimitam o início e o
término das instruções que a lógica vai seguir
UNIDADE 1
» LÓGICA E ALGORITMOS
Pense em um problema existente na sua rotina diária (particular ou no trabalho)
e monte um algoritmo de acordo com os passos que você normalmente utiliza
para resolvê-lo.
Algoritmo para atravessas a rua

Condição
Exemplo de algoritmo em texto rotina diária.

UNIDADE 1 Algoritmo para atravessar a rua

» LÓGICA E ALGORITMOS

Condição
É só colocar os mesmos passos em qualquer ordem que eu construo um
Algoritmo?

UNIDADE 1
» LÓGICA E ALGORITMOS
Exemplo de Pseudocódigo:
programa{

funcao inicio(){
//DECLARAÇÃO DE VARIÁVEIS
inteiro media, soma
UNIDADE 1 real valor1, valor2
// ESCREVA UMA MENSAGEM NA TELA
escreva("Digite o valor 1: ")
// LE VALORES DO TECLADO DIGITADOS PELO
» LÓGICA E ALGORITMOS USUÁRIO E ARMAZENA NA VARIÁVEL
leia(valor1)
escreva("Digite o valor 2: ")
leia(valor2)
// REALIZA UMA OPERAÇÃO DE SOMA
soma = valor1 + valor2
// REALIZA A OPERAÇÃO DA MEDIA
media = soma / 2

escreva ("A soma de " ,valor1, "+" ,valor2, "


é = ", soma, "\n")
escreva("A média aritmética é: ", media, "\n")
}
}

Inteiro: define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais.
Real: define variáveis numéricas do tipo real, ou seja, com casas decimais.
Tipo de dados

UNIDADE 1 • Todos os algoritmos têm a função de manipular informações retornadas das


bases de dados;
» LÓGICA E ALGORITMOS
• As informações computacionais podem ser divididas em instruções e dados;
• As instruções, que comandam o funcionamento da máquina e determinam a
maneira como devem ser tratados os dados.
• Os dados propriamente ditos, que correspondem à porção das informações a
serem processadas pelo computador.
Tipo de dados

• O tipo de dado é utilizado para mostrar ao compilador do programa quais


UNIDADE 1 conversões serão necessárias para carregar em memória os valores utilizados
na execução dos programas.
» LÓGICA E ALGORITMOS • Os tipos primitivos (nativos ou básicos) são fornecidos pelas linguagens de
programação, e podem ser:
1. Inteiro (... -1, 0, 1 ...)
2. Real (... -1.1, 0.1, 1.1 ...)
3. Lógico (booleano = 0 ou 1)
4. Texto – “sequência de caracteres”
Tipo de dados

• INTEIRO: Representa valores numéricos negativo ou positivo sem casa decimal,


ou seja, valores inteiros.
UNIDADE 1
» LÓGICA E ALGORITMOS •REAL: Representa valores numéricos negativo ou positivo com casa decimal, ou
seja, valores reais. Também são chamados de ponto flutuante.

• LÓGICO: Representa valores booleanos, assumindo apenas dois estados,


VERDADEIRO ou FALSO. Pode ser representado apenas um bit (que aceita apenas
1 ou 0)

• TEXTO: Representa uma sequência de um ou mais caracteres. Colocamos os


valores do tipo TEXTO entre “ ” (aspas duplas) ou ‘’ (aspas simples), dependendo
da linguagem
Variáveis

• Variáveis são utilizadas para armazenamento e manipulação dos dados;


• Por regra, cada variável armazena apenas um tipo de dado;
UNIDADE 1 • As variáveis, geralmente, são compostas por dois atributos distintos, nome e o
tipo de dados que armazenará;
» VARIÁVEIS, CONSTANTES,
OPERADORES E EXPRESSÕES • Dentro de um mesmo programa não poderão ser criadas duas ou mais
variáveis com o mesmo nome.

Cada linguagem de programação estabelece suas próprias regras de


formação de nomes de variáveis, e têm definições distintas para os
mesmos tipos de dados.
Dicas importantes para a criação de variáveis
• Usar nomes simples, que especificam sua funcionalidade, e ainda compostos e
antecedidos por um prefixo. Ex.: AUX_SALARIO ou WW_SALARIO. Prefixos são
UNIDADE 1 importantes para identificar o termo como representativo de uma variável.
• Não usar palavras reservadas em linguagens de programação para criar
» VARIÁVEIS, CONSTANTES, variáveis. O mesmo se aplica para nomes de tabelas e colunas na base de dados.
OPERADORES E EXPRESSÕES
• Não iniciar o nome das variáveis com símbolos ou caracteres especiais.
• O nome da variável deve indicar a função que a mesma irá exercer. Deve
lembrar ou indicar a informação que será armazenada em sua estrutura.
Constantes

• Constantes têm valores fixos ou estáveis. São declaradas na mesma seção das
variáveis;
UNIDADE 1 • Sua utilidade consiste no fato de que ela será declarada uma única vez com
» VARIÁVEIS, CONSTANTES, valor fixo;
OPERADORES E EXPRESSÕES • o valor de uma constante permanece o mesmo durante toda a execução do
programa.
VARIÁVEIS
UNIDADE 1
» VARIÁVEIS, CONSTANTES,
OPERADORES E EXPRESSÕES

CONSTANTES
Operadores de atribuição

UNIDADE 1 • São utilizados para atribuir valores às variáveis;


• Dependem da linguagem utilizada;
» VARIÁVEIS, CONSTANTES, • A sintaxe de um comando de atribuição é: NomedaVariável
OPERADORES E EXPRESSÕES
:= expressão;
• Em portugol, por exemplo, nome <- Gabriela. (a variável
nome vai receber o nome Gabriela)
Dependendo da linguagem pode ser, nome = Gabriela.
Operadores aritméticos:

UNIDADE 1 Os operadores aritméticos relacionam as operações aritméticas básicas, conforme a


» VARIÁVEIS, CONSTANTES, tabela a seguir:
OPERADORES E EXPRESSÕES
Operadores relacionais:

UNIDADE 1 Os operadores relacionais são operadores binários que devolvem os valores lógicos
» VARIÁVEIS, CONSTANTES, “verdadeiro e falso”
OPERADORES E EXPRESSÕES
Operadores lógicos:

UNIDADE 1 Os operadores lógicos ou booleanos são usados para combinar expressões


» VARIÁVEIS, CONSTANTES, relacionais. Também devolvem como resultado valores lógicos verdadeiro ou falso.
OPERADORES E EXPRESSÕES
Contadores e Acumuladores:

UNIDADE 1
• Contadores: São normalmente iniciados com 0 (zero) e
» VARIÁVEIS, CONSTANTES, incrementados em 1 (um), cada vez que uma nova ocorrência (ou
OPERADORES E EXPRESSÕES
situação) é processada.
• Acumuladores: São utilizados em situações que é necessário
acumular uma soma. No caso dos somatórios, o acumulador é
normalmente iniciado com zero e incrementado no valor de um
outro termo qualquer, dependendo do problema.
Estruturas Condicionais:

UNIDADE 1 • Utilizadas para colocar instruções dentro de um programa que só


serão executados caso alguma condição específica aconteça.
» ESTRUTURAS DE CONTROLE • Condição simples: Se – então;
DE FLUXO DE EXECUÇÃO
• Condição composta: Se – então – senão;
• Condição Caso-Seja.
Condição simples: Se – então :

UNIDADE 1 ▪ Esta é a estrutura de condição mais simples e também a mais


utilizada.
» ESTRUTURAS DE CONTROLE
DE FLUXO DE EXECUÇÃO
Condição composta: Se – então – Senão:

▪ oferece a possibilidade de executarmos uma determinada ação ou


comando se o resultado da expressão lógica for verdadeiro e de
UNIDADE 1 executarmos uma ação diferente se o resultado da expressão lógica
for falso
» ESTRUTURAS DE CONTROLE
DE FLUXO DE EXECUÇÃO
Condição Caso – Seja:

▪ Nessa estrutura o valor de uma determinada variável é avaliado e


caso esse valor coincida com determinado valor preestabelecido,
UNIDADE 1 um determinado comando é executado
» ESTRUTURAS DE CONTROLE Escolha op
DE FLUXO DE EXECUÇÃO
caso 1 faca
bloco de comandos
caso 2 faca
bloco de comandos
...
outro caso
bloco de comandos
Fim de escolha
Estruturas de Repetição:

▪ Um conjunto de procedimentos é repetido até que o


UNIDADE 1 objetivo seja alcançado;
▪ Obrigatória a utilização de uma CONDIÇÃO DE CONTROLE,
» ESTRUTURAS DE CONTROLE
DE FLUXO DE EXECUÇÃO
construída através de expressões lógicas que são testadas
em cada ciclo a fim de determinar se a sua execução
prossegue ou não.
▪ Para – Faça;
▪ Enquanto – Faça;
▪ Faça – Enquanto.

Em Lógica de Programação existem os laços de repetição, sendo que o


mais comuns que encontramos nas linguagens comerciais como C#,
Java, PHP, JavaScript são o while (enquanto), do while (faça enquanto)
e for (para).
Estrutura de repetição Para – Faça:
▪ Repete uma sequência de comandos por um determinado
UNIDADE 1 número de vezes, definida antecipadamente.
» ESTRUTURAS DE CONTROLE
DE FLUXO DE EXECUÇÃO

Para <variável inicio> ate <fim de incremento> faca


bloco de comandos
Fim para;

• Essa estrutura de repetição é


utilizada quando se sabe o número
de vezes em que um trecho do
algoritmo deve ser repetido.
Estrutura de repetição Enquanto – Faça:
▪ Repete uma sequência de comandos por um determinado
número de vezes, definida antecipadamente.
UNIDADE 1
» ESTRUTURAS DE CONTROLE
DE FLUXO DE EXECUÇÃO

Formado com um contador

Enquanto <condição de controle> faca


bloco de comandos
Fim enquanto;

• Essa estrutura de repetição é utilizada quando não se sabe o


número de vezes em que um trecho do algoritmo deve ser
repetido, embora também possa ser utilizada quando se sabe
esse número.
Estrutura de repetição Faça - Enquanto:
▪ Executa primeiro um bloco de comandos e depois testa se
a condição é verdadeira. Com isso, o bloco de comandos é
UNIDADE 1 executado pelo menos uma vez, mesmo que a expressão
de controle seja falsa.
» ESTRUTURAS DE CONTROLE faça
DE FLUXO DE EXECUÇÃO bloco de comandos
Enquanto <condição de controle>
Fim faça enquanto;

• O faça enquanto tem quase o


mesmo funcionamento que o
enquanto faça, a diferença é
que com o uso dele teremos
os comandos executados ao
menos uma única vez.
Estruturas de Repetição:

UNIDADE 1 As estruturas de repetição são basicamente três: enquanto-faça, faça-enquanto e para-faça.


A diferença básica é que enquanto-faça primeiro testa a condição para depois realizar o
bloco de comando, ao contrário de faça-enquanto que primeiro executa o bloco para depois
» ESTRUTURAS DE CONTROLE realizar o teste. A estrutura para-faça tem embutida um mecanismo de controle para
DE FLUXO DE EXECUÇÃO determinar quando o laço deverá ser terminado.
UNIDADE 1
» VISUALG

TERMINAL
Comandos de saida:
▪ Escreva(“Qualquer coisa”)
▪ Escreval(“Qualquer coisa”)
▪ Escreva(msg)
UNIDADE 1 ▪ Escreva(“msg”, msg)
» VISUALG
Algoritmo "primeiro"
// Disciplina : [Lógica e técnicas de programação]
// Tutora : Jessica
// Descrição : Aqui você descreve o que o programa faz! (função)
// Autor(a) : Nome do(a) aluno(a)
// Data atual : 28/09/2023
Var
// Seção de Declarações das variáveis

Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
Escreval("Ola, Mundo!")

Fimalgoritmo
Comandos de entrada:
▪ Leia()

UNIDADE 1 Algoritmo “Meu_Nome"


// Disciplina : [Lógica e técnicas de programação]
» VISUALG // Tutora : Jessica
// Descrição : Aqui você descreve o que o programa faz! (função)
// Autor(a) : Nome do(a) aluno(a)
// Data atual : 28/09/2023
Var
// Seção de Declarações das variáveis
Nome: Caractere

Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
Escreval(“Digite seu nome: ”)
Leia(Nome)
Escreva(“Muito prazer “, Nome)

Fimalgoritmo
UNIDADE 1
» VISUALG
Algoritmo "primeiro"
// Disciplina : [Lógica e técnicas de programação]
// Tutora : Jessica
UNIDADE 1 // Descrição : Aqui você descreve o que o programa faz! (função)
// Autor(a) : Nome do(a) aluno(a)
» VISUALG - PRATICA // Data atual : 28/09/2023
Var
// Seção de Declarações das variáveis
// identificador: tipo
msg: caractere
Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
msg <- "Ola, Mundo!“ //atribuição
Escreval(msg)
Escreval("Mensagem: ", msg)
Fimalgoritmo
1. Solicite 2 números para o usuário mostrar a soma
entre eles.
UNIDADE 1 Algoritmo "semnome"
» VISUALG - PRATICA
Var
// Seção de Declarações das variáveis
N1,N2, Soma: inteiro

Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
Escreva("Informe um numero: ")
Leia(N1)
Escreva("Informe outro numero: ")
Leia(N2)
Soma <- N1 + N2
Escreva("O valor da soma é: ", Soma)
Fimalgoritmo
UNIDADE 1
» FINALIZAÇÃO

• Agradeço sua atenção, estudem bastante e até a próxima!!!

Você também pode gostar