Professional Documents
Culture Documents
Lógica de Programação
2
O que é Lógica de Programação?
3
E Sequência Lógica?
4
E Instruções?
5
E Instruções?
• Em informática:
“instrução é a informação que indica a um computador uma
ação elementar a executar.”
6
Importante!
7
Exemplo
8
Exemplo
9
O quê isso significa?
10
Algoritmo
11
Algoritmo
12
Algoritmo
13
Exemplos de Algoritmo
14
Exemplos de Algoritmo
15
Como desenvolver algoritmos
16
Como desenvolver algoritmos
17
Regras para construção
18
Fases
• Por exemplo:
• Como fazer um arroz doce;
• Calcular o saldo financeiro de um estoque;
19
Fases
20
Fases
• Onde temos:
• ENTRADA: São os dados de entrada do algoritmo
• PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado
final
• SAÍDA: São os dados já processados
21
Fases
22
Exemplo de algoritmo
𝑃1+𝑃2+𝑃3+𝑃4
• Onde Média Final =
4
23
Exemplo de algoritmo
24
Exemplo de algoritmo
• 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
25
Testando o algoritmo
26
Diagrama de Bloco
27
Fluxograma
28
Exercício
29
Exercício
30
Constantes, Variáveis e Tipos de
Dados
• Variáveis e constantes são os elementos básicos que um programa
manipula.
31
Constantes, Variáveis e Tipos de
Dados
• Um programa deve conter declarações que especificam de que tipo
são as variáveis que ele utilizará e as vezes um valor inicial.
32
Constantes
33
Variável
34
Variável
35
Tipos de Variáveis
36
Tipos de Variáveis
37
Tipos de Variáveis
38
Declaração de variáveis
• Variáveis X, Y numéricos
• Variáveis Z, W reais
39
Operadores
40
Operadores aritméticos
41
Operadores aritméticos
• Hierarquia:
1. Parênteses
2. Multiplicação ou divisão (o que aparecer primeiro)
3. Adição ou subtração (o que aparecer primeiro)
• Exemplo:
3 * (1 – 2) + 1 + 4 * 2 = ?6
42
Operadores relacionais
43
Operadores relacionais
44
Operadores relacionais
45
Operadores relacionais
• Símbolo no fluxograma
46
Operadores lógicos
47
Operadores lógicos
• E / AND
• Uma expressão AND (E) é verdadeira se todas as condições forem verdadeiras
• OR/OU
• Uma expressão OR (OU) é verdadeira se pelo menos uma condição for
verdadeira
• NOT
• Uma expressão NOT (NÃO) inverte o valor da expressão ou condição, se
verdadeira inverte para falsa e vice-versa.
48
Operadores lógicos
49
Operadores lógicos
FALSO
VERDADEIRO
VERDADEIRO
VERDADEIRO
FALSO
FALSO 50
Estrutura de Decisão e Repetição
51
Comandos de decisão
52
Comandos de decisão
• Principais estruturas:
• Se então
• Se então Senão
• Caso Selecione
53
Se então/If ...
54
Se então/If ...
55
Se então/If ...
56
Se então Senão/ If ... Else
• A diferença é:
• em “SE” somente podemos executar comandos caso a condição seja
verdadeira, diferente de “SE/SENÃO” pois sempre um comando será
executado independente da condição, ou seja, caso a condição seja
“verdadeira” o comando da condição será executado, caso contrário o
comando da condição “falsa” será executado
57
Se então Senão/ If ... Else
58
Encadeando estruturas condicionais
59
ESCOLHA CASO/ SWITCH ... CASE
60
ESCOLHA CASO/ SWITCH ... CASE
ESCOLHA <variável de verificação>
CASO <valor1> FAÇA
"instruções a serem executadas caso <variável de verificação> = <valor1>"
CASO <valor2> FAÇA
"instruções a serem executadas caso <variável de verificação> = <valor2>"
CASO <valor3> FAÇA
"instruções a serem executadas caso <variável de verificação> = <valor3>"
...
FIM-ESCOLHA
61
Comandos de repetição
62
Comandos de repetição
63
Enquanto x, faça (while ...)
64
Enquanto x, faça (While ...)
• Algoritmo do contador:
Nr : INTEIRO
Nr := 0
Enquanto Nr <= 100 faça
Nr := Nr + 1
Fim Enquanto
65
Enquanto x, faça (While ...)
66
REPITA..., ATÉ x (Do ... While ...)
67
REPITA..., ATÉ x (Do ... While ...)
• Exemplo no fluxograma:
68
REPITA..., ATÉ x (Do ... While ...)
• Algoritmo do contador:
Nr : INTEIRO
Nr := 0
REPITA
Nr := Nr + 1
ATÉ Nr = 100
69
REPITA..., ATÉ x (Do ... While ...)
70
Para ... Até ... Ao passo de... (For ...)
71
Para ... Até ... Ao passo de... (For ...)
72
Vamos treinar um pouco?
73
Introdução à linguagem C
Introdução à Linguagem C
Um programa simples
1 /*Primeiro programa em C */
2
3 #include <stdio.h>
4
5 int main()
6{
7 printf( “Bem-vindo ao C!\n" );
8
9 return 0;
10 }
• #include <stdio.h>
• Diretiva do pré-processador
• Indicação ao computador para carregar um certo arquivo
• <stdio.h>
• Permite operações padrão de entrada/saída
• int main()
• Programas em C contém uma ou mais funções, uma das quais tem que ser
exatamente main
• Aqui, parênteses são usados para indicar uma função
77
Um programa simples
• int main()
• int significa que main "retorna" um valor inteiro
• Chaves ({ }) indicam a existência de um bloco
• O corpo de todas as funções tem que está contido entre chaves
78
Um programa simples
• printf(“Bem-vindo ao C!\n");
• Instrui o computador a realizar uma ação
• Especificamente, imprime a cadeia de caracteres entre aspas (“ ”)
• A linha inteira equivale a um comando
• Todos os comandos têm que terminar com um ponto-e-vírgula (;)
• Caractere de escape (\)
• Indica que o printf deve fazer algo fora do comum \n é o caractere nova-linha
79
Um programa simples
• return 0;
• Maneira de sair de uma função
• return 0, neste caso, significa que o programa terminou normalmente
• Fecha-chave (})
• Indica que o fim do main foi encontrado
80
Programa de soma
1 /*Programa de soma */
Entre com o primeiro inteiro:
2 45
3 #include <stdio.h> Entre com o segundo inteiro:
4 72
5 int main() Soma eh igual a 117
6 {
7 int int1, int2, soma; /* declaração */
8
9 printf(“Entre com o primeiro inteiro:\n"); /* prompt */
10 scanf( "%d", &int1 ); /* le um inteiro */
11 printf(“Entre com o segundo inteiro:\n"); /* prompt */
12 scanf( "%d", &int2 ); /* le um inteiro */
13 soma = int1 + int2; /* atribui soma */
14 printf(“A soma eh igual a %d\n", soma);/* imprime soma */
15
16 return 0; / * indica que o programa foi bem-sucedido */
17 }
81
Programa de soma
82
Programa de soma
83
Programa de soma
84
Programa de soma
85
Programa de soma
86
Programa de soma
• Operador de atribuição =
• Atribui um valor para a variável
• É um operador binário (tem dois operandos)
• soma = variável1 + variável2;
• soma recebe variável1 + variável2
• Variável que recebe valor posicionada à esquerda
87
Programa de soma
88
Conceitos de memória
• Variáveis
• Nomes de variáveis correspondem a posições (locações) a serem reservadas
na memória
• Toda variável tem um nome, um tipo, um tamanho e um valor
• Toda vez que um valor é atribuído a uma variável (através de scanf, por
exemplo), o valor anterior é substituído (e destruído)
89
Conceitos de memória
• Variáveis
• A leitura de variáveis da memória não as altera
inteiro1
45
90
Conceitos de memória
• Cálculos Aritméticos
• Usa-se * para a multiplicação e / para a divisão
• Divisão inteira: Truncamento do quociente
• 7 / 5 é avaliado como 1
• Operador de módulo (%): Retorno do resto
• 7 % 5 é avaliado como 2
91
Conceitos de memória
• Precedência de Operadores
• Alguns operadores têm prioridade sobre outros durante a avaliação da
expressão (e.g., multiplicação antes da adição)
• Usa-se parênteses quando necessário
• Exemplo
• Encontre a média de três variáveis a, b e c
• Não se usa a + b + c / 3
• Usa-se (a + b + c ) / 3
92
Conceitos de memória
• Operadores Aritméticos
93
Tomada de decisão
• Comandos executáveis
• Realização de ações (cálculos, entrada/saída de dados)
• Tomada de decisões
• Decisão de impressão "passa" ou "falha" a partir de um teste de condição
• Estrutura de controle if
• Versão simples neste ponto, maior detalhamento posteriormente
• Se a condição for verdadeira, então o corpo do comando if será executado
• Igual a 0 é falso, diferente de zero é verdadeiro
• O controle sempre prossegue após o comando if
94
Tomada de decisão
• Operadores
Operador de Operador de Exemplo de Significado em C
Igualdade/ Igualdade/ Condição em C
Condiç
Relacional Algé
Algébrico Relacional em C
Padrão
Operadores de Igualdade
= == x==y x é igual a y
? != x!=y x é diferente de y
Operadores Relacionais
< < x<y x é menor do que y
95
Exercícios
96
Exercícios
Um sistema de equações lineares do tipo:
𝑎𝑥 + 𝑏𝑦 = 𝑐
𝑑𝑥 + 𝑒𝑦 = 𝑓
pode ser resolvido segundo mostrado abaixo :
𝑐𝑒 − 𝑏𝑓
𝑥=
𝑎𝑒 − 𝑏𝑑
𝑎𝑓 − 𝑐𝑑
𝑦=
𝑎𝑒 − 𝑏𝑑
98
Exercícios
99
Referências
100