introdução a linguagem de programação (1)
DESCRIPTION
introdução sobre programação de computadoresTRANSCRIPT
![Page 1: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/1.jpg)
Lógica Computacional
Prof. Cláudio da Silva
![Page 2: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/2.jpg)
Fluxograma
É o gráfico que representa a seqüência de um trabalho,
produto ou documento, de forma analítica, caracterizando
as operações e os agentes executores.
![Page 3: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/3.jpg)
Vantagens e Desvantagens
Possibilita a:
• simplificar o trabalho pela eliminação, combinação e redefinição de fases ou passos;
• visualizar, localizar, corrigir e eliminar os movimentos desnecessários;
• estudar, corrigir e obter a melhor seqüência
das fases necessárias;
• a chefia aplicar, de forma mais eficiente, as normas e as instruções traçadas.
![Page 4: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/4.jpg)
Tipos de fluxogramas
Fluxograma sintético
Fluxograma de blocos
Fluxograma esqueleto
Fluxograma de
procedimentos
Fluxograma vertical e
horizontal
![Page 5: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/5.jpg)
Não
Sim
INÍCIO
DEFINIR O
PROBLEMA
ANALISAR O
PROBLEMA
DÁ
PARA
RESOL-
VER
ACHAR
SOLUÇÃO
POSSÍVEL
RESOLVE
PLANEJAR
SOLUÇÃO
IMPLANTAR
AVALIAR
FIM
REUNIR
MAIS
DADOS
GERAR
ALTERNATIVA
Não
Sim
1
1
![Page 6: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/6.jpg)
Prof. Virginia PO04 6
Símbolos de Diagramas de Blocos e
Fluxogramas
Processamento
entrada /saída
decisão
Terminal
conexão
conexão de página
![Page 7: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/7.jpg)
Fluxograma para Problemas Matemáticos
![Page 8: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/8.jpg)
Fluxograma de Processos
![Page 9: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/9.jpg)
Algoritmo e Português
Estruturado
IIa Parte
![Page 10: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/10.jpg)
História
A palavra algoritmo origina-se no nome: Muhammad
ibn Musa al-Jwarizmi, que viveu no século IX.
Tentou preservar o conhecimento da antiga
Grécia
Seus livros eram de fácil compreensão, baseavam-
se na criação de novos teoremas com o objetivo
de simplificar a matemática.
Estudou a maneira de reduzir as operações que
formavam o cálculo.
A palavra ALGORITMO fazia referência as regras
de uso da aritmética utilizando dígitos árabes,
sendo uma derivação de al-Khwarizmi,
algobarismus, que mais tarde mudaria para a
palabra algoritmo en el siglo XVIII.
![Page 11: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/11.jpg)
O que é Problema Computacional
Consiste em computar o valor de uma função para uma entrada
que satisfaça as especificações.
Ou seja, dada uma função f : A → B e uma entrada x que
pertence a A, computar y = f (x).
Definir um problema computacional é especificar a relação
entre entrada e saída.
Exemplo: x codifica um grafo direcionado G = (V , E), uma
função w : E → R com os pesos dos arcos, e dois vértices s e t. f
(x) é o caminho mais curto de s a t.
Necessidade de algoritmo para resolvê-lo
![Page 12: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/12.jpg)
O que é um Algoritmo ?
Informalmente, um algoritmo é um procedimento
computacional bem-definido que toma como entrada um
valor (ou conjunto de valores) e produz como saída um valor
(ou conjunto de valores) com a solução de um problema
computacional.
Um algoritmo é uma seqüência de passos computacionais que
transforma entrada em saída.
Podemos ver um algoritmo como uma ferramenta para
resolver um problema computacional bem definido.
![Page 13: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/13.jpg)
O que é um Algoritmo ?
![Page 14: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/14.jpg)
Resolução de Problemas por
Computador
Resumindo, um algoritmo A resolve um problema P se, ao
receber qualquer instância I de P, sempre produzir uma
solução S para I.
A – algoritmo.
I – entrada (instância).
S – saída (resultado).
I S Para qualquer entrada I, o algoritmo deve ser executável em
tempo finito e, além disso, gerar uma solução correta de P.
Algoritmos
![Page 15: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/15.jpg)
Resolução de Problemas por
Computador
ESTRUTURA GERAL DE UM ALGORITMO
Algoritmo (Nome-do-Algoritmo);
Declaração de constantes, tipos e variáveis;
Início
Seqüências de Comandos;
Fim.
Algoritmos
![Page 16: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/16.jpg)
Resolução de Problemas por
Computador
ESTRUTURA GERAL DE UM ALGORITMO
Algoritmo (Nome-do-Algoritmo);
Declaração de constantes, tipos e variáveis;
Início
Atribuições
Comandos de E/S
Estruturas de controle
Seleção
Repetição Fim.
Algoritmos
![Page 17: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/17.jpg)
Resolução de Problemas por
Computador
Constantes
Informação que não sofre variação no decorrer do tempo.
Ex: 5, “Não Fume”, 2548, -0,62, “R$10,00”, Falso.
Variáveis
Informação que tem a possibilidade de ser alterada em algum
instante no decorrer do tempo.
Ex: Cotação do dólar, peso de uma pessoa, salário.
Algoritmos
![Page 18: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/18.jpg)
Resolução de Problemas por
Computador
Declaração de Variáveis e Constantes
Alocar espaço de memória do tamanho do tipo-de-dado e
dar um nome a este espaço;
Ao longo do programa, usa-se o nome dado ao invés do
valor.
CONST n=50;
VAR a, b, c, soma : TIPO;
Algoritmos
![Page 19: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/19.jpg)
Resolução de Problemas por
Computador
Declaração de Variáveis e Constantes
Quando definir variáveis ?
Quando um elemento da lógica para a resolução do problema sofrer alterações de valor ao longo desta resolução.
Quando definir constantes ?
Quando uma valor fixo for utilizado várias vezes na lógica para a resolução do problema.
Algoritmos
![Page 20: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/20.jpg)
Resolução de Problemas por
Computador
Tipos de Dados
Primitivos
INTEIRO
REAL
LÓGICO
CARACTERE
STRING
Definidos pelo programador
DISCIPLINA
FILA
PILHA
Algoritmos
![Page 21: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/21.jpg)
Resolução de Problemas por
Computador
Expressões Aritméticas
Aquelas cujos operadores são aritméticos e cujos operandos são
constantes e/ou variáveis do tipo numérico (inteiro e/ou real).
Operadores Aritméticos
+ Adição * Multiplicação / Divisão
- Subtração ** Potenciação // Radiciação
mod ou % resto da divisão.
Algoritmos
![Page 22: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/22.jpg)
Resolução de Problemas por
Computador
Funções Matemáticas
sen (x) - seno de x
cos(x) - cosseno de x
tg(x) - tangente de x
abs (x) - valor absoluto (módulo) de x
int (x) - parte inteira de um número real
Algoritmos
![Page 23: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/23.jpg)
Resolução de Problemas por
Computador
Prioridades
parênteses mais internos
funções matemáticas
** //
* /
+ -
Algoritmos
![Page 24: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/24.jpg)
Resolução de Problemas por
Computador
Expressões Relacionais
Comparação entre dois valores de um mesmo tipo primitivo.
Estes valores podem ser constantes, variáveis ou expressões
aritméticas.
O resultado obtido de uma relação é sempre um valor
lógico.
Operadores Relacionais
= igual a <> diferente de
> maior que >= maior igual a
< menor que <= menor igual a
Algoritmos
![Page 25: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/25.jpg)
Resolução de Problemas por
Computador
Expressões Lógicas
Aquelas cujos operadores são lógicos e/ou relacionais e cujos
operandos são relações e/ou variáveis e/ou constantes do tipo
lógico.
Operadores Lógicos
e - Conjunção
ou - Disjunção (não-exclusiva)
xou - Disjunção (exclusiva)
não - negação
Algoritmos
![Page 26: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/26.jpg)
Resolução de Problemas por
Computador
Prioridades entre todos os Operadores
parênteses mais internos
funções aritméticas
operadores aritméticos
operadores relacionais
operadores lógicos
Algoritmos
![Page 27: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/27.jpg)
Resolução de Problemas por
Computador
ESTRUTURA GERAL DE UM ALGORITMO
Algoritmo (Nome-do-Algoritmo);
Declaração de constantes, tipos e variáveis;
Início
Atribuições
Comandos de E/S
Estruturas de controle
Seleção
Repetição Fim.
Algoritmos
![Page 28: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/28.jpg)
Resolução de Problemas por
Computador
Atribuição
Fornece um valor a uma variável.
Ex: a 1;
sexo “FEMININO”;
salário 128,00;
Algoritmos
![Page 29: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/29.jpg)
Resolução de Problemas por
Computador
ESTRUTURA GERAL DE UM ALGORITMO
Algoritmo (Nome-do-Algoritmo);
Declaração de constantes, tipos e variáveis;
Início
Atribuições
Comandos de E/S
Estruturas de controle
Seleção
Repetição Fim.
Algoritmos
![Page 30: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/30.jpg)
Resolução de Problemas por
Computador
Comandos de Entrada e Saída
Exemplos do comando de entrada leia:
leia (x);
leia (a, nota, faltas);
Exemplos do comando de saída escreva:
escreva (x);
escreva (a, nota, faltas);
escreva („Bom Dia „, nome);
escreva („Você pesa „, x * 2, „quilos.‟);
Algoritmos
![Page 31: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/31.jpg)
Resolução de Problemas por
Computador
ESTRUTURA GERAL DE UM ALGORITMO
Algoritmo (Nome-do-Algoritmo);
Declaração de constantes, tipos e variáveis;
Início
Atribuições
Comandos de E/S
Estruturas de controle
Seleção
Repetição Fim.
Algoritmos
![Page 32: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/32.jpg)
Resolução de Problemas por
Computador
Estruturas de Controle de Fluxo
Seqüência
Seleção
simples
composta
encadeada
múltipla escolha
Repetição
Teste condicional no início
Número de repetições conhecido
Número de repetições desconhecido
Teste condicional no fim
Algoritmos
![Page 33: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/33.jpg)
Resolução de Problemas por
Computador
Estruturas de Controle de Fluxo
Seqüência
início
<comando 1>;
<comando 2>;
<comando N>;
fim
Algoritmos
![Page 34: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/34.jpg)
Resolução de Problemas por
Computador
Estruturas de Controle de Fluxo
Seleção simples início se <condição 1> então <comando 1>; <comando 2>; <comando N>; fim se fim
Algoritmos
![Page 35: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/35.jpg)
Resolução de Problemas por
Computador
Estruturas de Controle de Fluxo
Seleção composta início se <condição 1> então <comando 1>; <comando 2>; <comando N>; senão <comando 1>; <comando 2>; <comando N>; fim se fim
Algoritmos
BLOCO
VERDADE
BLOCO FALSO
![Page 36: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/36.jpg)
Resolução de Problemas por
Computador
Seleção composta início se <condição 1> então se <condição 2> então
<comando 1>; <comando N>; fim se senão se <condição 3> então
<comando 1>; <comando N>; senão
se <condição 4> então <comando 1>;
<comando N>; senão
<comando 1>; fim se <comando 1>; fim se fim se fim
Algoritmos
![Page 37: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/37.jpg)
Resolução de Problemas por
Computador
Seleção de múltipla escolha
início
escolha (x)
caso VALOR1 : <comando 1>;
caso VALOR2 : <comando 2>;
caso VALOR3 : <comando N>;
fim escolha fim
Algoritmos
![Page 38: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/38.jpg)
Resolução de Problemas por
Computador
Seleção de múltipla escolha
início
se <x = VALOR1> então <comando 1>; senão se <x = VALOR2> então
<comando 2>; senão
se <x = VALOR3> então <comando 3>;
fim se fim se fim se fim
Algoritmos
![Page 39: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/39.jpg)
Resolução de Problemas por
Computador
Repetição
Usada em trechos do algoritmo em que há a
necessidade de se realizar um bloco de comando
um número determinado de vezes.
Algoritmos
![Page 40: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/40.jpg)
Resolução de Problemas por
Computador
Repetição com teste no início (ENQUANTO-FAÇA)
Permite executar diversas vezes um trecho do algoritmo, porém, sempre verificando antes de cada execução se é “permitido” executar algum trecho.
enquanto (<condição1>) faça
<comando1>;
<comando2>;
<comandoN>;
fim enquanto
Quando o resultado da <condição1> for falso, o comando é abandonado.
Se já da primeira vez o resultado for falso, os comandos não são executados nem uma vez.
Algoritmos
![Page 41: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/41.jpg)
Resolução de Problemas por
Computador
Repetição com teste no FINAL (REPITA-ATÉ)
repita
<comando1>;
<comando2>;
<comandoN>;
até (<condição1>)
O bloco de comandos é executado pelo menos uma vez, independente da
validade da <condição1>. Isto ocorre porque a inspeção da <condição1> é feita após a execução do bloco.
Algoritmos
![Page 42: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/42.jpg)
Resolução de Problemas por
Computador
Repetição com variável de controle
(PARA)
para (V = vi; V <= vf; passo p) faça
<comando1>;
<comando2>;
<comandoN>;
fim para
Algoritmos
onde:
• V é a variável de controle;
• vi é o valor inicial de V;
• vf é o valor final de V, ou seja, o
valor até o qual ela pode chegar e;
• p é o valor do incremento dado a V.
![Page 43: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/43.jpg)
Resolução de Problemas por
Computador
Comparação entre as estruturas de Repetição
Toda estrutura ENQUANTO pode ser convertida para REPITA e vice-e-
versa;
Toda estrutura PARA pode ser convertida em ENQUANTO, mas nem
toda estrutura ENQUANTO pode ser convertida em PARA.
Estrutura Condição Qtde de execuções Cond. de existência
Enquanto início ? condição verdadeira
Repita fim mínimo 1 condição falsa
Para implícita início (vf - vi) div p vi vf
Algoritmos
![Page 44: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/44.jpg)
ALGUNS PROBLEMAS
![Page 45: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/45.jpg)
PROBLEMA DE ACHAR O MENOR
Encontrar o menor dentre um conjunto de números.
![Page 46: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/46.jpg)
PROBLEMA DE ACHAR O MENOR
ALGORITMO EncontraMenor;
VAR n, qtde-num, num, menor: INTEIRO;
INICIO
LER (n);
LER (num);
menor num;
qtde-num 1;
ENQUANTO (qtde-num < n)
LER (num);
SE num < menor
menor num;
FIM-SE;
qtde-num qtde-num +1;
FIM-ENQUANTO;
ESCREVER (menor);
FIM.
![Page 47: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/47.jpg)
PROBLEMA DE ACHAR O MENOR E O MAIOR
Encontrar o menor e o maior dentre um conjunto de números.
![Page 48: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/48.jpg)
ALGORITMO EncontraMenorMaior;
VAR n, qtde-num, num, menor, maior: INTEIRO;
INICIO
LER (n);
LER (num);
menor num;
maior num;
qtde-num 1;
ENQUANTO (qtde-num < n)
LER (num);
SE num < menor
menor num;
SENAO SE num > maior
maior num;
FIM-SE;
qtde-num qtde-num +1;
FIM-ENQUANTO;
ESCREVER (menor, maior);
FIM.
PROBLEMA DE ACHAR O MENOR E O MAIOR
![Page 49: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/49.jpg)
PROBLEMA DO AZARÃO
Fazer um programa que escreva os 100 primeiros múltiplos de 13.
![Page 50: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/50.jpg)
ALGORITMO Azarao;
CONST n = 100;
VAR num, cont: INTEIRO;
INICIO
num 13;
cont 1;
ENQUANTO cont < 100
ESCREVA (num);
num num +13;
cont cont +1;
FIM-ENQUANTO;
FIM.
PROBLEMA DO AZARÃO
![Page 51: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/51.jpg)
ALGORITMO Azarao;
CONST n = 100;
VAR num, cont: INTEIRO;
INICIO
num 13;
cont 1;
REPITA
ESCREVA (num);
num num +13;
cont cont +1;
ATE cont > 100;
FIM.
PROBLEMA DO AZARÃO
![Page 52: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/52.jpg)
PROBLEMA DO VÍCIO
Calcule e mostre a despesa diária, semanal e mensal de uma pessoa com cigarros, dados o número de cigarros que ela fuma por dia e o
preço do maço de cigarros que ela fuma.
![Page 53: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/53.jpg)
ALGORITMO Vicio;
VAR num-c-dia : INTEIRO;
preco-m, preco-c,
despesa-d, despesa-s, despesa-m: REAL;
INICIO
ESCREVA (‘Quantos cigarros vc fuma por dia?’);
LER (num-c-dia);
ESCREVA (‘Quanto custa o maco de cigarros que vc fuma?’);
LER (preco-m);
preco-c preco-m/20;
despesa-d preco-c * num-c-dia;
despesa-s despesa-d * 7;
despesa-m despesa-d * 30;
ESCREVA (‘Sua despesa com cigarros diária, semanal e mensal eh: ‘
despesa-d, despesa-s, despesa-m);
FIM.
PROBLEMA DO VÍCIO
![Page 54: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/54.jpg)
PROBLEMA DO FATORIAL DE UM NÚMERO
Calcule o fatorial de 5.
E para um n qualquer ?
![Page 55: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/55.jpg)
ENUNCIADO DO PROBLEMA: Calcular o fatorial de 5.
PARÂMETROS: n
RESTRIÇÕES: n Z+
SOLUÇÃO: result = n.(n-1).(n-2). ... .2.1
INSTÂNCIA: n=5
SOLUÇÃO_DA_INSTÂNCIA: result=5.4.3.2.1=120
PROBLEMA DO FATORIAL DE UM NÚMERO
![Page 56: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/56.jpg)
ALGORITMO Fatorial;
VAR fat, i : INTEIROS;
INICIO
fat = 1;
PARA i := 2 a n FAÇA
fat := fat * i;
END;
MOSTRE fat;
FIM.
PROBLEMA DO FATORIAL DE UM NÚMERO
![Page 57: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/57.jpg)
PROBLEMA SOBRE A SÉRIE DE FIBONACCI
Calcule o n-ésimo termos da série de Fibonacci.
![Page 58: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/58.jpg)
ENUNCIADO DO PROBLEMA: Mostrar o n-ésimo termo da Série de Fibonacci.
PARÂMETROS: n
RESTRIÇÕES: n Z+
SOLUÇÃO: result = n-ésimo termo
INSTÂNCIA: n=5
SOLUÇÃO_DA_INSTÂNCIA: result=3
PROBLEMA SOBRE A SÉRIE DE FIBONACCI
![Page 59: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/59.jpg)
ALGORITMO Fibonacci;
VAR i, fib,fib1,fib2,n : INTEIRO;
INICIO
SE n = 1 RETURN 0; SENAO SE n = 2 RETURN 1; fib1 := 1; fib2 := 0; PARA i := 3 a N FAÇA fib := fib1 + fib2; fib2 := fib1; fib1 := fib; FIM-PARA; MOSTRE fib;
FIM.
PROBLEMA SOBRE A SÉRIE DE FIBONACCI
![Page 60: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/60.jpg)
ALGORITMO Fibonacci-v2;
VAR i, fib,fib1,fib2,n : INTEIRO;
INICIO
SE n <= 2 RETURN n; fib1 := 1; fib2 := 0; PARA i := 3 a N FAÇA fib := fib1 + fib2; fib2 := fib1; fib1 := fib; FIM-PARA; MOSTRE fib;
FIM.
PROBLEMA SOBRE A SÉRIE DE FIBONACCI
![Page 61: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/61.jpg)
PROBLEMA DOS APROVADOS
Dado um conjunto de n notas de alunos, contar o número de alunos que foram aprovados.
Considera-se aprovado o aluno que obteve nota igual ou maior que 5.0.
![Page 62: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/62.jpg)
Solução
![Page 63: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/63.jpg)
PROBLEMA DA AVALIAÇÃO
Fornecer a média aritmética simples das n notas de um aluno, indicando também sua
situação final (média>=9 excelente, média>=7 bom, média>=5 regular, média<5 insuficiente).
![Page 64: Introdução a Linguagem de Programação (1)](https://reader031.vdocuments.com.br/reader031/viewer/2022020118/55cf9180550346f57b8e095a/html5/thumbnails/64.jpg)
FIM
Ia Parte de Lógica Computacional