Você está na página 1de 45

LÓGICA DE PROGRAMAÇÃO

Introdução à PROGRAMAÇÃO

Marcileide Cardoso
Lógica + Linguagem de computador
• O objetivo principal da lógica de programação é tornar claro e de forma direta as
etapas necessárias para suporte ao processo de resolução de problemas
computacionais e implementação de programas.
• O programador deve estar preparado para fazer a análise, identificação e solução
de subprogramas, e a síntese, união das soluções para compor a solução final.
• A análise depende muito da capacidade de interpretação de texto.
• A síntese depende da forma como o resultado é apresentado, seja em fases ou em
resumo único.
• A ferramenta principal utilizada para expressar a lógica computacional é o
algoritmo.
• A codificação é a transposição do algoritmo para uma linguagem de programação.
Como deve ser um Algoritmo?

1. Os passos que compõem o algoritmo devem ser simples e sem


ambiguidade;
2. Esses passos devem estar numa ordem cuidadosamente definida;
3. O algoritmo deve ser efetivo, isto é, deve resolver o problema em um
número finito de passos.

Lembre-se: Algoritmo é a representação de um


raciocínio lógico
FLUXOGRAMA

Variáveis de
entrada

• polvilho doce: 500g


• tempero (sal): uma colher
• Leite: 300ml
• Óleo: 150ml
• Ovos grandes: 2
• Queijo minas meia cura
ralado: 600ml
Algoritmo
• Perceba:
• O algoritmo teve início e fim;
• É necessário identificar as variáveis a serem
utilizadas;
• Pode-se ter ou não um resultado.
• O que conseguimos com o algoritmo do pão de
queijo?
Qual primeiro passo para
construir uma algoritmo
Abstração:
• Ação RACIONAL que observa a
realidade e coleta apenas os
aspectos relevantes dentro de um
contexto.
Técnicas de escrita de algoritmo
A elaboração do algoritmo descreve os dados e as suas manipulações
Essa descrição pode ser feita de diversas formas e por meio de técnicas
diferentes que irão representar a sequência dos passos (ou etapas) a
serem realizados pela execução do algoritmo.
• Fluxograma
• Diagrama de NS ou Chapin
• Português Estruturado
Fluxograma
Fluxograma Português estruturado
Diagrama de Chapin
Elaborado por Nassi e Shneiderman e ampliada por Ned
Chapin, o Diagrama de Chapin busca substituir a
representação tradicional, que é realizada por Diagrama
de Blocos (por uma diagramação com quadros que
ofereça uma visão hierárquica e estruturada da lógica
proposta para um programa
Fluxograma Português estruturado
Português estruturado
• Representação também conhecida como
Portugol, ou pseudocódigo, consiste na descrição
estruturada por meio de regras pré definidas de
fases (ou passos) a serem realizadas para a
resolução do problema utilizando linguagem
natural Um software que trabalha com português
estruturado é o VisualG.
O que deve ter em um algoritmo?
1-INÍCIO E FIM
Início
.....
ABSTRAÇÃO DE UM PROBLEMA
.......
Fim
O que deve ter em um algoritmo?
2 DECLARAÇÃO DAS VARIÁVEIS
Início
.....
<variáveis>:<tipo>;
.......
Fim
<variáveis> - nome da variável de entrada no sistema separados por vírgula
<tipo> - inteiro, real, caracteres, frases (strings) e lógico
De acordo com cada linguagem, esta ordem pode ser inversa à ordem de
declaração (<tipo>:<variável>), assim como o local onde será inserida a variável (entre início e
fim ou antes do início).
Tipos de Variáveis
• Inteiro: define variáveis numéricas do tipo inteira, ou seja, sem
casas decimais;
• Real: define variáveis numéricas do tipo real, ou seja, incluindo
casas decimais.
• Caractere: define variáveis do tipo string ou seja, cadeia de
caracteres.
• Lógico: define variáveis do tipo booleano ou seja, com valor
VERDADEIRO ou FALSO.
Declaração de variáveis
Exemplo:
var
a, b, c: real
nome: caracter
teste: lógico
Iniciando meu algoritmo
var
a, b, c: real
nome: caracter
teste: lógico
• Início
..........
• fimalgoritmo
Atribuindo valores às variáveis
var
a: inteiro O operador “ <-” é utilizado para atribuir valor à variável.
b, c: real Exemplo: a <-10 // a variável “a” receberá o valor 10
nome: caracter
teste: lógico
inicio
a <-10
b <-7.5
nome <-“João Pé de Feijão”
teste <-VERDADEIRO
fimalgoritmo
Comandos de saída
var O comando de saída “escreva” serve para imprimir
nome: caracter mensagens ou valores de variáveis na tela:
idade: inteiro escreva (“texto a ser impresso”, minhavariável)
inicio Ob.: Não se esqueça que o texto deve estar entre aspas.
nome <-“Mario Henrique”
idade <-30
escreva (“O conteúdo da minha variável é: “,nome)
escreval (“João tem quantos anos hoje? ”,idade)
fimalgoritmo
Atenção: O comando de saída “ escreval”(o “L” no final vem de nova linha) serve para
imprimir mensagens ou valores de variáveis na tela sempre a partir da linha abaixo.
Comandos de saída
var O comando de saída “escreva” serve para imprimir
nome: caracter mensagens ou valores de variáveis na tela:
idade: inteiro escreva (“texto a ser impresso”, minhavariável)
Inicio Ob.: Não se esqueça que o texto deve estar entre aspas.
escreval(“Digite o nome do usuário: ”)
leia(nome)
escreval(“Digite a idade do usuário ”,nome)
leia(idade)
escreval(“O usuário” , nome, “tem”, idade, “anos de idade”)
fimalgoritmo

Atenção: O comando de saída “ escreval”(o “L” no final vem de nova linha) serve para
imprimir mensagens ou valores de variáveis na tela sempre a partir da linha abaixo.
Operadores Aritméticos
+-*/ Operadores aritméticos tradicionais de adição, subtração,
multiplicação e divisão. Por convenção, * e / têm precedência sobre + e -. Para
modificar a ordem de avaliação das operações, é necessário usar parênteses como
em qualquer expressão aritmética.

/ Operador de divisão inteira Por exemplo, 5 / 2 = 2.

Mod ou % Operador de módulo (isto é, resto da divisão inteira) Por exemplo, 8


MOD 3 = 2. Tem a mesma precedência do operador de divisão tradicional.

^ Operador de exponenciação Por exemplo, 5 ^ 2 = 5 Este operador tem


a maior precedência entre os operadores aritméticos binários (aqueles que têm
dois operandos).
Operadores
Adição Subtração
var var
num1:inteiro num1:inteiro
num2:inteiro num2:inteiro
resultado:inteiro resultado:inteiro
início início
num1 <-8 num1 <-8
num2 <-7 num2 <-7
resultado <-num1 + num2 resultado <-num1 –num 2
escreva ("O resultado da soma escreva ("O resultado
é: ",resultado) da subtração é: ",resultado)
fimalgoritmo fimalgoritmo
Operadores
Adição Subtração
var var
num1:inteiro num1:inteiro
num2:inteiro num2:inteiro
resultado:inteiro resultado:inteiro
início início
num1 <-5 num1 <-5
num2 <-3 num2 <-7
resultado <-num1 + num2 resultado <-num1 - num 2
escreva ("O resultado da soma escreva ("O resultado
é: ",resultado) da subtração é: ",resultado)
fimalgoritmo fimalgoritmo
Operadores
Multiplicação Divisão
var var
num1:inteiro num1:inteiro
num2:inteiro num2:inteiro
resultado:inteiro resultado:inteiro
início início
num1 <-5 num1 <-5
num2 <-3 num2 <-7
resultado <-num1 * num2 resultado <-num1 / num 2
escreva ("O resultado da escreva ("O resultado
Multiplicação é: ",resultado) da Divisão é: ",resultado)
fimalgoritmo fimalgoritmo
Comandos de saída
var O comando de saída “escreva” serve para imprimir
nome: caracter mensagens ou valores de variáveis na tela:
idade: inteiro escreva (“texto a ser impresso”, minhavariável)
Inicio Ob.: Não se esqueça que o texto deve estar entre aspas.
escreval(“Digite o nome do usuário: ”)
leia(nome)
escreval(“Digite a idade do usuário ”,nome)
leia(idade)
escreval(“O usuário” , nome, “tem”, idade, “anos de idade”)
fimalgoritmo

Atenção: O comando de saída “ escreval”(o “L” no final vem de nova linha) serve para
imprimir mensagens ou valores de variáveis na tela sempre a partir da linha abaixo.
Processamento de dados
Como o processamento de dados funciona?

O próprio programa, obedecendo a uma


sequência lógica, pode realizar diversas ações
ou apresentar “coisas” de diferentes modos
estabelecidos de acordo com a sequência
lógica.

Esta sequência lógica nós chamamos de


ALGORITMO
Algoritmo
• Sequência ordenada, sem ambiguidade, de passos que
levam à solução de um dado problema.
Exemplos:
• uma receita de bolo;
• um passo a passo de instalação de um computador;
• instrução de como dirigir um carro.
• Obs.: perceba que PARA SE CONSTRUIR UM ALGORITMO É
NECESSÁRIO NA MAIORIA DAS VEZES TER UM PROBLEMA
Um problema?

Sim!!!!
A motivação para a construção de um algoritmo é a resolução de um
problema!
Lembre-se: Para um computador executar uma dada tarefa é necessário
que se informe como ele deve executa-la. Esta é uma habilidade que você,
futuro programador, irá adquirir neste curso.

Como? Aprendendo a desenvolver um algoritmo e escrevendo-o por uma linguagem


de programação.
Como os algoritmos são feitos?

• A partir de uma sequência lógica de


instruções escritas em uma
linguagem de programação que são
executadas por um computador.
• Os programas procuram
atingir um objetivo ou
resolver um problema.
Linguagem de Programação

• Para que um computador execute uma


instrução, precisamos escrever uma
sequência lógica, em uma linguagem
específica para que este para que este tenha
a capacidade de compreender e executar a
tarefa solicitada.
Компьютер выполняет мою инструкцию, чтобы написать на экране.
• Você concorda com o que foi dito? Não
sabe o que foi escrito?
• Pois bem! Se você não entendeu é porque
algo foi escrito em uma língua que você não
pode interpretar.
• Da mesma maneira um computador precisa
de uma linguagem que ele COMPREENDA!
Linguagem de Programação

Há dois tipos de linguagem:

• Compilada

• Interpretada
Linguagem de Programação
• Compilada: o programador escreveu uma sequência lógica de instruções em uma
linguagem específica, Linguagem C, por exemplo, e um processo chamado de
compilação traduz o que foi escrito para ser executado pelo sistema
operacional(Windows, Linux, Android, IOS, etc.) ou diretamente pelo processador.

• •Interpretada: o programador escreve uma sequência lógica de instruções e estas


são enviadas a um programa de computador já existente chamado de interpretador;
este programa lê o que foi desenvolvido pelo programador, compila e/ou executa as
instruções..
Temos, então, de aprender dois
conceitos para ser um programador:
• Algoritmo: estabelece uma sequência lógica para resolver um
determinado problema e atingir um objetivo.

• Linguagem de Programação: escrita do algoritmo (sequência


lógica definida) em uma linguagem que o computador possa:
• (1)interpretar e executar;
• (2)“compilar”- processo que converte o código escrito em um
programa executável.
Análise do Problema
• Antes da análise, o programador deverá entender o
funcionamento do computador e/ou sua arquitetura
de forma a fazer uma analogia de seu processamento
com a forma humana de raciocinar e resolver
problema.
• Um programa deve estar alinhado a forma do
computador trabalhar com as informações.
Fases para Análise do Problema
• O resultado será uma síntese como uma adaptação do texto: o problema deverá ser separado em
módulos de Entrada, processamento e saída.
• A análise deverá seguir as seguintes etapas:
• Técnica “top-down” utilizada para apresentar o problema partindo da definição do objetivo geral para os
específicos. Esta técnica é o passo inicial para compreensão do problema;
• O objetivo geral é associado ao resultado final do programa ou módulo de saída;
• Com o módulo saída, identifica as operações de processamento, de lógica e de aritmética, que gerarão
as informações de saída;
• O módulo processamento será alimentado pelas informações do módulo de entrada;
• Finalmente, o módulo de entrada fornecerá as informações para o processamento.
• O texto do problema apresentará informações explícitas, normalmente associadas à verbos ou
ações, e informações implícitas, deduzidas pelo leitor.
• O método de dedução terá por base o conhecimento matemático e/ou lógico.
• Os fluxos de informações entre os módulos obedece ao funcionamento de um computador;
• Todas estas informações que compõem os módulos deverão ser armazenadas em memória através
de variáveis.
Adaptação do Texto
• Uma adaptação do texto é feita aos módulos de
Entrada – Processamento – Saída.
• Problema ou Enunciado: Faça um programa que some
dois números (Informação Explícita);
• Módulo de saída: Imprimir(mostrar) a soma;
• Ações ou informações explícitas: Fazer a soma;
• Módulo de processamento: informação implícita –
soma = a + b.
Adaptação do Texto
• Uma adaptação do texto é feita aos módulos de Entrada –
Processamento – Saída.
• Problema ou Enunciado: Faça um programa que some dois
números (Informação Explícita);
• Objetivo Geral: Somar dois números: Informação Explícita
• Módulo de saída: Imprimir(mostrar) a soma;
• Ações ou informações explícitas: Fazer a soma;
• Módulo de processamento: informação implícita – soma = a +
b.
• Método de Entrada: Receber informações: a e b.
Síntese do Problema
Roteiro de execução ou algoritmo a seguir:
• Entrada: Ler a; ler b;
• Processamento: Soma = a + b;
• Saída: Imprimir(mostrar) soma;
Codificação do algoritmo

Você também pode gostar