Você está na página 1de 61

Programação de Computadores

1 – Introdução à Lógica

Prof. Me. Alfredo Neto


Agenda
• Conceitos
• Formas de Representação
• Tipos de Dados
• Variáveis e Constantes
• Identificadores
• Operadores
• Linearização de Expressão
• Expressões com Variáveis
Conceitos
Lógica

• A lógica é uma área da filosofia que visa estudar a estrutura


formal dos enunciados (proposições) e suas regras. Em suma, a
lógica serve para se pensar corretamente, sendo assim, uma
ferramenta do correto pensar.

• Lógica tem origem na palavra grega logos, que significa razão,


argumentação ou fala. A ideia de falar e argumentar pressupõe
que o que está sendo dito possua um sentido para aquele que
ouve.
Lógica

• Esse sentido fundamenta-se na estrutura lógica, quando


algo "tem lógica" quer dizer que faz sentido, é uma
argumentação racional.
Lógica
Lógica
"Exact Instructions Challenge - THIS is why my kids hate me."
(Desafio das Instruções ao Pé da Letra - Por isso meus filhos me odeiam) de Josh Darnit acessível em: (
https://www.youtube.com/watch?v=cDA3_5982h8 ).
Pensamento Estruturado (PE)

• O Pensamento Estruturado (PE) é uma metodologia, simples em essência,


original em seu enfoque, indispensável por sua relevância na vida moderna
e finalmente sem precedentes em sua universalidade.

• É importante ressaltar que não é uma filosofia, nem uma teoria.

• A metodologia propõe-se inicialmente a catalisar os processos artificiais e


humanos. Em um nível mais avançado, ela objetiva também desempenhar
um papel de catalisadora em processos físicos, emocionais e espirituais.
Algoritmo

• O Algoritmo é uma sequência finita de passos lógicos que levam


a execução de uma tarefa, que levam a resolução de
determinado problema.

• Em informática, um algoritmo é um conjunto de regras e


procedimentos lógicos perfeitamente definidos que levam a
solução de um problema em um número finito de etapas. (PIVA
JUNIOR et al., 2012)
Algoritmo

• Não Computacionais:
• São algoritmos cuja sequência de passos, a principio, não pode ser
executada por um computador.
• Exemplo: receita de bolo.

• Computacionais:
• São algoritmos cuja sequência de passos pode ser executada por um
computador.
• Exemplo: programa de computador
Algoritmo

• Componentes básicos de um algoritmo.

Dados - são os valores Código - são os


(números, nomes, etc.) comandos ou instruções
de que precisamos para que usaremos para
resolver o problema. manipular e "processar"
os dados.
O que a maioria das escolas não ensinam, de Code.org acessível em:
https://www.youtube.com/watch?v=nKIu9yen5nc
Formas de
Representação
Formas de Representação

• 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 representarão a sequência dos passos (ou etapas) a serem
realizados pela execução do algoritmo.

• Cada uma dessas técnicas fornece maneiras diferentes de representação do


pensamento ou do raciocínio desejado, privilegiando algumas
características da percepção e compreensão dos profissionais envolvidos.
Linguagem Natural

• Esta forma de representação, também conhecida como portugol


ou pseudocódigo ou português estruturado, consiste na
descrição estruturada, por meio de regras pré-definidas, de
fases (ou passos) a serem realizadas para a resolução do
problema.

• O Português Estruturado utiliza a linguagem natural para


representar o raciocínio, que no nosso caso é o Português.
Linguagem Natural

• Situação problema: Imagine uma situação em que a idade


de uma pessoa deva ser analisada para classificá-la em
jovem ou adulta.
Linguagem Natural

• O algoritmo é apresentado
por meio do português
estruturado e é coerente
com a situação problema
sugerida.
Linguagem Natural

☺ Facilita a passagem do algoritmo para a linguagem de


programação desejada (criação do programa), habituando o
programador com as regras da programação.

 Existe a necessidade do aprendizado das regras do


pseudocódigo em português.
Fluxograma

• Existem várias figuras geométricas empregadas na


construção do fluxograma, e buscaremos somente a
compreensão da lógica racional proposta por esse tipo de
representação de raciocínio.
Fluxograma

• O algoritmo é
apresentado
graficamente por
meio do
fluxograma
coerente com a
situação sugerida.
Fluxograma

☺ O entendimento de uma representação gráfica é mais


fácil do que uma descritiva (textual).

 É necessário aprender a simbologia gráfica e ela não


apresenta muitos detalhes necessários para a transcrição do
algoritmo no programa esperado.
Linguagem de Programação

• Uma linguagem de programação contém os comandos que


fazem o computador escrever algo na tela, realizar cálculos
aritméticos, receber uma entrada de dados via teclado, e
milhares de outras coisas, mas estes comandos precisam
estar em uma ordem lógica.
Linguagem de Programação

• O algoritmo é
apresentado
graficamente por
meio da linguagem
de programação C,
coerente com a
situação sugerida.
Tipos de Dados
Tipos de Dados
Tipos de Dados

• Olhando para o coelho e para a girafa percebemos


que existe muitas caraterísticas que os diferenciam,
como: tamanho, peso, estrutura corporal entre
outras.

• Quando analisamos a cartola, percebemos que ela


possui um espaço determinado, o que impediria de
colocarmos algo que superasse suas limitações
físicas.
Tipos de Dados

• Agora, pensando em termos de dados utilizados em programas, ou


seja, valores, letras, nomes que servirão de “entrada” ou de “matéria-
prima” para realizarmos as tarefas planejadas em nosso
algoritmo/programa, deveremos levar em consideração o tamanho e
as características de cada um.

• A parte mais difícil para quem está começando a programar é pensar,


antecipadamente, quais dados irá utilizar durante a execução de seu
programa e quais poderiam ser as possíveis soluções resultantes
desta execução.
Tipos de Dados

• Para guardar estes dados de maneira adequada, a fim de


recuperá-los posteriormente, devemos classifica-los de
acordo com as características/valores que esses dados
representam, e chamamos isso de “tipos de dados”.
Real

• Toda informação que pertença ao conjunto dos números


reais (negativos, nulo, positivos).

12,3
0
-3,21
Inteiro

• Toda informação que pertença ao conjunto dos números


inteiros relativos (negativos, nulo, positivos).

123
0
-321
Caractere

• Toda informação composta por um conjunto de caracteres


alfanuméricos ou caracteres especiais.

0...9
a...z A...Z

-*#@$%><?!
Lógico

• Toda informação que pode assumir duas situações –


verdadeiro ou falso.

Verdadeiro Falso

V ou v F ou f
Variáveis e Constantes
Tipo de Informações

• As informações tratadas em um algoritmo ou programa de


computador podem ser classificadas em dois tipos:
• Constantes
• Variáveis

• São os elementos básicos que um programa manipula.

• Uma variável ou constante é um espaço reservado na memória do


computador para armazenar um tipo de dado determinado.
Variáveis

• São informações que tem a possibilidade de serem alteradas em


algum instante no decorrer do tempo e corresponde a uma posição
de memória.

• Embora uma variável possa assumir diferentes valores, ela só pode


armazenar um valor a cada instante.

• É obrigatoriamente a primeira coisa a aparecer no algoritmo. Deve vir


logo em seguida à abertura do bloco.
Constantes

• São informações que não sofrem com o decorrer do


tempo.

• As informações do tipo caractere devem ser apresentadas


“entre aspas”.
Identificadores
Identificadores

• São quaisquer nomes usados para identificar dados variáveis ou


constantes dentro de um algoritmo ou programa de
computador.
• A criação de um identificador deve respeitar as seguintes regras:
• É case sensitive;
• Deve começar com um caractere alfabético;
• Pode ser seguidas por mais caracteres alfabéticos e/ou numéricos;
• É permitido o uso do caractere especial underline ( _ ); e
• Não é permitido o uso de outros caracteres especiais.
Identificadores

• Um identificador deve expressar em seu nome o que


realmente irá manipular, não deixando dúvida ou
ambiguidade.
• Exemplos:
• Não permitidos: 1ABCD – EF*GH – DT NIVER
• Permitidos: X – NOME – A12 – sal_mes
• Aconselháveis: nome – SalarioLiquido – nome2
Operadores
Operadores Matemáticos

• Os operadores matemáticos em linguagem algorítmica ou


linguagem de programação diferem um pouco do que
utilizamos na notação matemática que aprendemos na
escola.
Operadores Matemáticos
OPERAÇÃO SÍMBOLO
ADIÇÃO +
SUBTRAÇÃO -
MULTIPLICAÇÃO *
RESTO DA DIVISÃO INTEIRA % (mod)
DIVISÃO INTEIRA / (div)

EXPONENCIAÇÃO mat.potencia(base,expoente)

RAIZ QUADRADA mat.raiz(base,expoente)


Operadores Relacionais

• Os operadores relacionais são usados para comparar string


de caracteres ou números.
• Estes operadores sempre retornam valores lógicos
(verdadeiro ou falso).
Operadores Relacionais

OPERAÇÃO SÍMBOLO
IGUALDADE ==
DIFERENÇA !=
MAIOR >
MAIOR ou IGUAL >=
MENOR <
MENOR ou IGUAL <=
Operadores Lógicos

• Os operadores lógicos servem para combinar resultados de


expressões, retornando se o resultado final é verdadeiro ou
falso.
Operadores Lógicos

OPERAÇÃO SÍMBOLO

CONJUNÇÃO (e lógico) e

DISJUNÇÃO (ou lógico) ou

NEGAÇÃO (não lógico) nao


Operador Lógico - E

• O operador “e” resulta como VERDADEIRO somente se


seus dois operandos lógicos forem verdadeiros.

A B AeB
Verdadeiro Verdadeiro Verdadeiro
Verdadeiro Falso Falso
Falso Verdadeiro Falso
Falso Falso Falso
Operador Lógico - OU

• O operador “ou” resulta VERDADEIRO quando pelo menos


um dos operadores lógicos forem verdadeiros.

A B A ou B

Verdadeiro Verdadeiro Verdadeiro

Verdadeiro Falso Verdadeiro

Falso Verdadeiro Verdadeiro

Falso Falso Falso


Operador Lógico - NAO

• O operador “nao” nega (ou inverte) o valor do operando


lógico.

A nao A

Verdadeiro Falso

Falso Verdadeiro
Precedência de Operadores

• Parênteses e funções (resolvidos da esquerda para a direita);


• Exponenciação;
• Multiplicação (*), Divisão (/) e Resto (%);
• Soma (+) e Subtração (-);
• Operadores Relacionais: >, <, <=, >=, ==, !=;
• Operador Lógico Não (nao);
• Operador Lógico E (e);
• Operador Lógico OU (ou).
Operador de Atribuição

• Para “colocar” um valor em uma variável dentro de um


algoritmo, utilizamos o operador de atribuição, que é
representado pelo sinal de igual (=).
Linearização de
Expressão
Linearização de Expressão

• Para a construção de algoritmos que realizam


cálculo matemáticos, todas as expressões
aritméticas devem ser linearizadas, ou seja,
colocadas em linhas.
• Em expressões matemáticas convencionais,
além dos parênteses, também são utilizados
colchetes “[ ]” e chaves “{ }”.
• Em expressões linearizadas, só os parênteses
são utilizados como delimitadores.
Expressões com
Variáveis
Expressões com Variáveis

• São expressões onde aparece pelo menos uma letra


(variável).
• Exemplo:
5 cm
• Considere o seguinte retângulo:
• A expressão que traduz o perímetro é: x cm
• Perímetro = x + x + 5 + 5 → 2x + 10
• Se o valor de x para o perímetro for 13,5 cm, logo:
• 2*13,5 + 10 → 27 + 10 → 37
Expressões com Variáveis

• A idade atual da Ana é x anos.


• Qual é a idade dela:
• Daqui a 5 anos:
x+5
• Há 3 anos atrás:
x-3
• Quando tiver o triplo da idade que tem hoje:
3x
Expressões com Variáveis de Atribuição

• Situação I
• Atribuir o valor 10 a variável num:
num = 10

• Situação II
• Atribuir o valor “Ana” a variável nome:
nome = “Ana”
Expressões com Variáveis Matemáticas

• Situação I • Situação II
S = 16 * 6 - 3 * 2 S = 3 + 2 * (42 - 18)
S = 96 – 6 S = 3 + 2 * (24)
S = 90 S = 3 + 48
S = 51
Expressões com Variáveis Relacionais

• Situação I
Supondo que Ana (A) tiver mais que 18 anos e Pedro(P) tiver menos que 25 anos:
S = ((A > 18) e ( P < 25))

• Situação II
Um aluno obterá aprovação em uma determinada disciplina se sua média final (MF)
for igual ou superior a 6 e se sua frequência (F) for igual ou superior a 75%.
S = ((MF >=6) e ( F >= 75))
Expressões com Variáveis Lógicas

• Situação I • Situação II
S = (( 5 > 3 ) ou (4 < 2)) e (11 < 7) S = nao (127 < 10)
S = ( V ou F) e (F) S = nao ( F )
S=VeF S=V
S=F

Você também pode gostar