Вы находитесь на странице: 1из 60

Introdução a Lógica de

Programação
● O processo de programação é uma “conversa”
controlada entre um ser humano (tecnicamente
preparado) e um computador
● Linguagem
– Linguagem de baixo nível
● Grande dificuldade, pouco convencional
– Linguagem de alto nível
● Maior facilidade de comunicação com o
computador
Linguagens

● Linguagens de programação
– Baixo nível: linguagem de máquina e
assembly
– Alto nível: FORTRAN, COBOL, BASIC,
PASCAL, C, JAVA, C++, PHYTON, RUBY
Linguagens

● Site: The Language List


● Qual é a melhor linguagem de programação?
– É aquela em que o desenvolvedor sabe
programar e se sente mais confortável
Algoritmo

● Algoritmo: Conjunto de regras e operações


bem definidas e ordenadas destinadas a
solução de um problema.
● Primeira programadora e Algorítmo
● Linguagens do final da década 1950
● Linguagens da década de 1960
● Características e linguagens da década de
1970
● Linguagens da década de 1980
● Linguagens da década de 1990 e 2000
Algoritmo x Cozinha

● A receita culinária, tem dois blocos de ação:


– Ingredientes
– Modo de preparo
● Qualquer pessoa de posse de uma receita
consegue seguir os passos e preparar a
refeição sem grandes dificuldades
Algoritmo x Cozinha

● Mestre-cuca ou Chef
● Cozinheiro
● Ajudantes de cozinha
Raciocínio lógico

● Conhecimento, versatilidade, experiência,


criatividade, responsabilidade, ponderação,
calma, auto-disciplina

● A ARTE DE PENSAR
Programação ou
desenvolvimento
Para aprender a programar um computador é
necessário executar REPETIDAMENTE
diversos exercícios e praticá-los
constantemente. Isso leva a uma exaustão
física e mental.
– DETERMINAÇÃO
– PERSISTENCIA
– AUTODISCIPLINA
Uso de Lógica na programação
de computadores

PROGRAMAÇÃO ESTRUTURADA
● Projeto lógico
– Ferramentas gráficas
● Diagrama de blocos (não fluxograma
– Ferramentas textuais (pseudocódigo)
● PDL (Program Design Language)
● Português estruturado
Programação estruturada
● Objetivos:
● Agilizar a codificação da escrita de
programação
● Facilitar a depuração da leitura
● Permitir a verificação de falhas no código
● Permitir a reutilização do código
● Facilitar as alterações e atualizações do
programa
NORMA ISO 5807:1985 (E)
– Permite demonstrar de forma clara, a linha
de raciocínio lógico utilizada por um
desenvolvedor
– Permite que seja fácil a que não conhece
programação entender o que se pretende
de um determinado programa.
Diagrama de blocos
2.4-Exemplo de Algoritmo
Imagine o seguinte problema: Calcular a média final dos alunos
da 3ª Série. Os alunos realizarão quatro provas: P1, P2, P3 e
P4.
Onde:
Média Final = P1 + P2 + P3 + P4 / 4


Para montar o algoritmo proposto, faremos três perguntas:
a) Quais são os dados de entrada?
R: Os dados de entrada são P1, P2, P3 e P4
b) Qual será o procedimento a ser utilizado? (processamento)
R: O procedimento será somar todos os dados de entrada e
dividi-los por 4 (quatro)
P1 + P2 + P3 + P4 / 4
c) Quais serão os dados de saída?
R: O dado de saída será a média final
Algoritmo:
Receba a nota da prova1
Receba a nota de prova2
Receba a nota de prova3
Receba a nota da prova4
Some todas as notas e divida o resultado por 4
Mostre o resultado da divisão
Exercícios
LPP (Linguagem de projeto de
programação)
LINGUAGEM DE COMUNICAÇÃO HUMANO-
MÁQUINA
INÍCIO
ATÉ_QUE
LEIA
ESCREVA
REPITA
LPP

Regras para escrita do LPP


– Letras MAIÚSCULAS e de FORMA
– ZERO = ø
LPP

O projeto de um programa de computador


concluído é transformado num software.

TRADUÇÃO DO PROJETO LINGUAGEM DE


PROGRAMAÇÃO FORMAL
Tipos de dados

● INTEIRO: Números positivos e negativos,


excluídos desta categoria qualquer valor
numérico fracionário
– Ex: 35, 0, 234, -56, -9
– Representação: INTEIRO
– Utilizado em operações de processamento
matemático
Tipos de dados

● REAL: Dados numéricos positivos e negativos


que pertencem ao conjunto de números reais
fracionários e inteiros.
– Ex: 35, 0, 234, -56, -9, -45.999, 3.1416
– Representação: REAL
– Utilizado em operações de processamento
matemático
Tipos de dados

● CARACTERE/CADEIA: Caracteres delimitados pelos


símbolos aspas (“ “). São representados por letras (A até
Z), números (0 até 9), símbolos (todos os do teclado).
Conhecidos como: alfanumérico, string, literal.
– Ex: “PROGRAMAÇÃO”, “RUA ALFA, 52”,
“(11)55546789”, “ESPAÇO EM BRANCO”, “7”
– Representação: CARACTERE OU CADEIA
– Caractere: utilizado para se referir a um único
caractere delimitado por aspas.
– Cadeia: utilizado para se referir a um conjunto
de caracteres delimitados por aspas.
Tipos de dados

● LÓGICO (ou booleano): São dados com


valores binários em que apenas um valor pode
ser escolhido
– Ex: sim/não, 0 e 1, verdadeiro/falso
– Representação: LÓGICO
– Para se utilizar um dado lógico é necessário
estabelecer a forma de representação
● VERDADEIRO → .VERDADEIRO. ou .V.
● FALSO → .FALSO. ou .F.
● SIM → .SIM. ou .S.
Uso de variáveis

● O nome da variável:
– Pode assumir qualquer nome
– O primeiro caractere de identificação não
pode ser numérico ou símbolo gráfico
– Não podem haver espaços em branco
– Não pode ser usado nenhum nome atribuído
a outro comando ou instrução de uma
linguagem de programação

* vale para LPP e Linguagem de programação


Declaração de variáveis

● Exemplo de sintaxe
var
<nome da variável> : <tipo de dado>

ex: VAR
P5: INTEIRO
JUQUINHA: CADEIA
CONSTANTES

● Constante é um valor que não se altera

ex: SAÍDA = ENTRADA + 1.23 (constante)


Declaração de Constantes

Ex: CONST
PI = 3.14159265

SAIDA=ENTRADA + PI
5-Operadores
Os operadores são meios pelo qual incrementamos,
decrementamos, comparamos e avaliamos dados dentro do
computador. Temos três tipos de operadores:
– Operadores Aritméticos
– Operadores Relacionais
– Operadores Lógicos
Operadores Aritméticos

OPERADOR OPERAÇÃO DESCRIÇÃO


+ +n ou n Manutenção de sinal
- -n Inversão de sinal
← x←n Atribuição de valor “n” a “x”
↑ x↑n Exponenciação de xn
↑(1/n) x↑(1/n) Radiciação
/ x/n Divisão de “x” por “n”
* x*n Multiplicação de “x” por “n”
+ x+n Adição
- x-n subtração
div x div n Divisão com quocientes inteiros
Hierarquia das Operações Aritméticas:
1º ( ) Parênteses
2º Exponenciação
3º Multiplicação, divisão (o que aparecer primeiro)
4º + ou – (o que aparecer primeiro)

TOTAL = PREÇO * QUANTIDADE

1+7 * 2 ↑ 2 – 1 = 28

3 * (1 - 2) + 4 * 2 = 5
Expressões aritméticas

Uma operação muito comum em programação de


computadores é usar expressões aritméticas para
estabelecimento de processamentos matemáticos.
● Ex: Calcular a área de uma circunferência
ÁREA = π RAIO2
variáveis: ÁREA e RAIO
constantes: π
ÁREA ← 3.14159265 * RAIO
Expressões matemáticas

● Ex:
x = {200 . [57 : (40+ 2) -51 ] }
x ← (200* (57 / (40 + 2) -51) )
Expressões matemáticas

● Calcular a área de um triângulo:


Fórmula: A = b . h
2

A ← (b * h) /2
Regras para escrever programas

● Os comandos do LPP não podem ser escritos dentro dos


símbolos do diagrama de blocos
● A codificação de programas escritos a mão devem ser
feitas em letras maiúsculas e de forma
● Todo valor atribuído diretamente a uma variável será
escrito por meio do símbolo de atribuição (←)
● Todo valor atribuído diretamente a uma constante será
escrito por meio do símbolo de atribuição ( = )
Entrada: LEIA

Processamento: ←

Saída: ESCREVA
Exercícios de aprendizagem

● 1- Desenvolver um programa de computador que efetue a


leitura de dois valores numéricos inteiros. Processe a
operação de adição dos dois valores e apresente na
sequência a soma obtida com a operação.
O programador estará sempre diante de um problema, o
qual deve ser resolvido primeiramente por ele para depois
ser implementado em um computador e então utilizado
por um usuário
Fases para resolução do
problema
● ENTENDIMENTO:
1-Ler dois valores desconhecidos,
representados pelas variáveis A e B
● 2-Efetuar a adição das variáveis A e B, cujo
resultado será atribuído a variável X
● 3-Apresentar o valor da variável X, que é o
resultado da soma realizada.
Fases para resolução do
problema
● DIAGRAMAÇÃO: INÍCIO

A, B

X←A+B

FIM
Fases para resolução do
problema
● CODIFICAÇÃO:
1-DETERMINAR O NOME PARA O
PROGRAMA
Ex: PROGRAMA SOMA_NÚMEROS
2-DETERMINAR O TIPO DE DADOS DAS
VARIÁVEIS
A : INTEIRO
B : INTEIRO
X : INTEIRO
Fases para resolução do
problema

PROGRAMA SOMA_NÚMEROS
VAR
A : INTEIRO
B : INTEIRO
X : INTEIRO
Fases para resolução do
problema
Fase de montagem do que está estabelecido no diagrama de
blocos:

A parte indicada entre os símbolos terminal se chama bloco.


As ações do bloco devem ser traduzidas para o LPP. Como
foi dito antes temos entrada (leia), processamento (←) e
saída (escreva). O código ficaria assim:

INÍCIO
LEIA A
LEIA B
X←A+B
ESCREVA X
FIM
PROGRAMA SOMA_NÚMEROS
VAR
A : INTEIRO
B : INTEIRO
X : INTEIRO
INÍCIO
LEIA A
LEIA B
X←A+B
ESCREVA X
FIM
2-Elaborar um programa de computador que calcule a área de
uma circunferência e apresente a medida da área calculada

3-Desenvolver um programa que calcule o salário líquido de um


professor. Para elaborar o programa, é necessário possuir
alguns dados, tais como, valor da hora aula, número de horas
trabalhadas no mês e percentual de desconto do INSS. Em
primeiro lugar, deve-se estabelecer o seu salário bruto para
fazer o desconto e ter o salario líquido
Operadores Relacionais

DESCRIÇÃO SÍMBOLO
Igual a =
Diferente de: <>
Maior que >
Menor que <
Maior ou igual a >=
Menor ou igual a <=
Condições e Decisões

● Condição: uma obrigação que se impõe e se


aceita
● Decisão: optar, escolher um caminho

O ato de se tomar uma decisão se baseia no


fato de haver uma condição
Condições e Decisões

● Do ponto de vista computacional, uma


condição é uma expressão booleana cujo
resultado é um valor lógico falso ou verdadeiro.
Condições e Decisões
Exemplo:
Tendo duas variáveis A = 5 e B = 3
Os resultados das expressões seriam:

EXPRESSÃO RESULTADO
A=B FALSO
A <> B VERDADEIRO
A>B VERDADEIRO
A<B FALSO
A >= B VERDADEIRO
A <= B FALSO
Desvio condicional simples

SIM
SIM NOME=
COD=COD2
JOÃO
COD=COD2

NÃO
NÃO SIM
COD
COD=COD2
> 1000

NÃO
Desvio condicional simples

No português estruturado:

SE ( condição ) ENTÃO
[instruções executadas após condição verdadeira]
FIM_SE
[instruções executadas após condição ser falsa ou após
executar instruções da concondição verdadeira]
Exercícios de aprendizagem

Elaborar um programa de computador que leia dois


valores numéricos reais desconhecidos. Em seguida o
programa deve efetuar a adição dos dois valores lidos e
apresentar o resultado caso seja maior que 10
ENTENDIMENTO
– Definir a entrada de 2 valores (variáveis A e B)
– Efetuar a adição dos valores A e B e atribuir o
resultado da adição à variável X
– Apresentar o resultado da soma armazenada na
variável X, caso a variável tenha seu valor maior
que 10
Exercícios de aprendizagem

DIAGRAMAÇÃO INÍCIO

A, B

X←A+B

N S
X > 10

FIM
Exercícios de aprendizagem

PROGRAMA ADIÇÃO_DE_NÚMEROS_1
VAR
A, B, X : REAL
INÍCIO
LEIA A, B
X←A+B
SE (X > 10) ENTÃO
ESCREVA X
FIM_SE
FIM
Desvio Condicional Composto

No português estruturado:

SE ( condição ) ENTÃO
[instruções executadas após condição verdadeira]
SENÃO
[instruções executadas após condição falsa]
FIM_SE
[instruções executadas após condição ser verdadeira ou
falsa]
Exercício de aprendizagem

Elaborar um programa de computador que leia dois


valores numéricos reais desconhecidos. Em seguida o
programa deve efetuar a adição dos dois valores lidos e
caso o resultado seja maior ou igual a 10, deve ser
somado a 5. Caso contrário o valor do resultado deve ser
subtraído de 7. Após a obtenção de um dos novos
resultados o novo resultado deve ser apresentado.
ENTENDIMENTO
– Definir a entrada de 2 valores (variáveis A e B)
– Efetuar a adição dos valores A e B e atribuir o
resultado da adição à variável X
– Verificar se o resultado é maior ou igual a 10.
● Se for maior ou igual a 10 somar 5 ao
resultado
● Se for menor que 10 subtrair 7 do resultado

– Atribuir o resultado à variável R e mostrar


INÍCIO
DIAGRAMAÇÃO
A, B

X←A+B

N S
X >= 10

R ← X -7 R←X+5

FIM
PROGRAMA ADIÇÃO_DE_NÚMEROS_2
VAR
A, B, X, R : REAL
INÍCIO
LEIA A, B
X←A+B
SE (X >= 10) ENTÃO
R←X+5
SENÃO
R←X-7
FIM_SE
ESCREVA R
FIM

Вам также может понравиться