introduÇÃo À lÓgica de rogramaÇÃo ... real, caracter, texto e logico - portugol introduÇÃo...

90
INTRODUÇÃO À L ÓGICA DE PROGRAMAÇÃO PROFESSOR EDUARDO P ARETO

Upload: phamnhan

Post on 13-Nov-2018

234 views

Category:

Documents


4 download

TRANSCRIPT

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

PROFESSOR EDUARDO PARETO

LÓGICA

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

”A lógica é o ramo da filosofia que cuida das regras do bem pensar, ou do pensar correto, sendo, portanto, um instrumento do pensar” . (disponível em: www.academia.edu/4435931/curso_completo_de_logica)

LÓGICA DE PROGRAMAÇÃO

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

“uso correto das leis do pensamento, da ‘ordem da razão’ e de processos de raciocínio e simbolização formais na programação de computadores, objetivando racionalidade e o desenvolvimento de técnicas que cooperem para a produção de soluções logicamente válidas e coerentes, que resolvam com qualidade os problemas que se deseja programar”. Forbellone, A., Eberspacher, H, 2000). (disponível em: www.academia.edu/4435931/curso_completo_de_logica)

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ORIGEM

“É uma palavra derivada do nome do matemático Abu Ja´far Muhammad(800- 847) que introduziu a escrita dos cálculos substituindo o ábaco. Ele ficou conhecido como Al-Kharazmi.” (Autor: ...)

Designa um procedimento geral de cálculo que se desenvolve, por assim dizer, automaticamente, poupando-nos esforço

mental durante o seu curso. (FONSECA,F. C., 1999, p.50)

“É uma sequência de passos finitos que devem ser escritos de forma precisa e clara, evitando qualquer tipo de dúvida na interpretação e que tem como objetivo solucionar um problema computacional.”(Autor: ...)

MATEMÁTICA

PROGRAMAÇÃO

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

Interpretação do Enunciado do problema

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

Co

nstru

ção

do

Algo

ritmo

Interpretação do Enunciado do problema

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

Co

nstru

ção

do

Algo

ritmo

Codificação em uma Linguagem de Programação

Interpretação do Enunciado do problema

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

LINGUAGENS PARA REPRESENTAR ALGORITMOS

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

LINGUAGEM GRÁFICA

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

PSEUDOLINGUAGEM PORTUGOL

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

http://www.dei.estt.ipt.pt/portugol/node/33

SÍMBOLOS DO FLUXOGRAMA

<-

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

INTERPRETADOR FLUXOGRAMA - PORTUGOL

Todos os símbolos deverão ser colocados entre início e fim e unidos por linhas de fluxo.

ESTRUTURA DO FLUXOGRAMA

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

Dentro desse símbolo, poderemos encontrar:

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

23 + 18 23 nome “Entendi”

SAÍDA (display)

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

SAÍDA (display)

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

SAÍDA (display)

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ESTRUTURA DA PSEUDOLINGUAGEM Portugol de Tomar

Todos os comandos e estruturas deverão ser colocados entre inicio e fim.

escrever variável escrever constante numérica escrever "texto" escrever [expressão] escrever variável , "texto" ,. . .

escrever dia escrever 23 escrever “Entendi” escrever 23 + 89 escrever dia , “ Domingo”

COMANDO DE SAÍDA (display)

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

COMANDO DE SAÍDA (display)

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

Tecla tab Tecla enter

COMANDO DE SAÍDA (display) com \n e \t

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

12345678901234567890123456789012345678901234567890

s e m p r e sol g o s t o

.

.

fim.

COMANDO DE SAÍDA (display) com \n e \t

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

escrever “sol\t\tgosto\n\tsempre\n\n\nfim.”

12345678901234567890123456789012345678901234567890

s e m p r e sol g o s t o

.

.

fim.

COMANDO DE SAÍDA (display) com \n e \t

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

COMANDO DE SAÍDA (display) com \n e \t

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

Operador Significado Exemplo

+ adição 13 + 28

- subtração 28 - 13

* multiplicação 28 * 13

/ divisão 8 / 5 1 Portugol

/ divisão 8/ 5. 1.6 Portugol

% ou mod resto 8 % 5 3 Portugol

8 mod 5 3 VisualG

^ potenciação 2 ^ 3 8 Portugol

OPERADORES ARITMÉTICOS

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

OPERADORES ARITMÉTICOS

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

OPERADORES ARITMÉTICOS

Manipular dados/informações é, com certeza, uma das principais

funções de um computador.

O dado é um valor fornecido pelo usuário, gerado pelo programa ou lido de um arquivo

Tipos de Dados

Inteiro, Real, Caracter e Lógico

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ORIGEM DO DADO

Célula

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

CONCEITO DE VARIÁVEL

Célula Endereço

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

CONCEITO DE VARIÁVEL

DECLARANDO VARIÁVEL - Portugol

tipo nomeDaVariável tipo nV1, nV2, nVn

1- O nome tem de começar por uma letra ou pelo carácter undescore (_) e não pode ser uma palavra reservada da linguagem. 2- Depois pode ter letras , algarismos ou undescore

Regras para se nomear variáveis

Tipos de variáveis

inteiro, real, caracter, texto e logico - Portugol

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

EXERCITANDO - Portugol

Nome de uma pessoa

Idade de uma pessoa

Salário de uma pessoa

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

Nome de uma pessoa

Idade de uma pessoa

Salário de uma pessoa

inteiro idade

real salario

texto nome

inicio inteiro idade real salario texto nome fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

EXERCITANDO - Portugol

É um dos três comandos sequenciais da programação. Consiste em se atribuir um valor a uma variável.

COMANDO DE ATRIBUIÇÃO

a <- ...

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

DECLARANDO E/ OU ATRIBUINDO - Portugol

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ENTRADA DE DADOS

INTERAGINDO

Quando começamos a construir algoritmos, no início, parece tudo muito difícil afinal, essa não é nossa forma de pensar no cotidiano, visto que nossa vida não se resume a um conjunto de atividades onde uma só pode ser iniciada quando a outra for concluída. ESTRUTUTRA SEQUENCIAL (escrever, atribuição e ler)

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ENTRADA DE DADOS INTERAGINDO

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ENTRADA DE DADOS leia

Dentro desse símbolo, poderemos encontrar:

nomeVariavel noVar1, noVar2

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ENTRADA DE DADOS Leia - Portugol

ler nomeVariavel ler noVar1, noVar2

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ALGORITMO DO DOBRO Fluxograma

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ALGORITMO DO DOBRO Portugol

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

Integrated Development Environment - IDE Ambiente de Desenvolvimento Integrado

Integrated Development Environment – IDE Ambiente de Desenvolvimento Integrado

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

LINGUAGEM C++ Bibliotecas

iostream

cstring

cmath

cctype

iomanip cstdlib

...

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

LINGUAGEM C++ Bibliotecas

#include <iostream> #include “prepara.h”

Como incluir uma biblioteca no programa?

A diretiva include seguida do nome na biblioteca entre o sinal de < e o de >. Podem ser aspas também em alguns casos.

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

LINGUAGEM C++ Bibliotecas

Como Facilitar o Uso dos Recursos de E/S da Biblioteca iostream?

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

LINGUAGEM C++ Bibliotecas

Como Facilitar o Uso dos Recursos de E/S da Biblioteca iostream?

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

LINGUAGEM C++ ESTRUTURA BÁSICA

--- --- inicio <declaração_ de_ variáveis> <corpo_ do_ algoritmo> fim

#include <iostream> using namespace std; int main() { <declaração_ de_ variáveis> <corpo_ do_ programa> }

PORTUGOL C++

SINTAXES

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

Tipos das variáveis •inteiro •real •caracter •texto •logico Exemplos: inteiro <identificador> real <identificador

Tipos das variáveis •int /long long int •float / double •char • vetor de char •bool Exemplos: int <identificador> ; float <identificador> ;

C++ PORTUGOL

SINTAXES

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

<identificador> formado por letras não acentuadas, algarismos e caracter underscore _ O 1o é, normalmente uma letra, mas pode ser o underscore. Exemplo: float mediaAluno ou float media_Aluno

<identificador> formado por letras não acentuadas, algarismos e caracter underscore _ O 1o é, normalmente uma letra, mas pode ser o underscore. Exemplo: float mediaAluno ; ou float media_Aluno ;

C++ PORTUGOL

SINTAXES

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

// comentário de uma linha /* comentário com mais de uma linha */

Comando de Saída escrever <variável>

escrever <constantes>

escrever <operações>

escrever variável, “texto”, ...

// comentário de uma linha /* comentário com mais de uma linha */

Comando de Saída

cout<< <variável> ;

cout<< <constantes>;

cout<< <operações> ;

cout<< variável <<”texto” << ...;

C++ PORTUGOL

SINTAXES

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

Caracteres de controle usados com imprima:

"\n" alimenta linha(enter)

"\t" tabula (tab)

1/ 9/ 17/ 25/ 33/ 41/ 49/ 57/ 65/ 73

Caracteres de controle usados com cout:

"\n" alimenta linha(enter)

"\t" tabula (tab)

1/ 9/ 17/ 25/ 33/ 41/ 49/ 57/ 65/ 73

"\\" exibe \

"\" " exibe "

C++ PORTUGOL

SINTAXES

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

Comando de Atribuição

<identificador> <- expressão;

Exemplo:

media <- ( a + b ) / 2

Comando de Atribuição

<identificador> = expressão;

Exemplo:

media = ( a + b ) / 2;

C++ PORTUGOL

SINTAXES

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

Comando de Entrada

ler <variável>

ler var1, var2

Comando de Entrada

cin>> <variável> ;

cin>> <var1> >> <var2>;

C++ PORTUGOL

SINTAXES

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

OPERADOR DE EXTRAÇÃO E OPERADOR DE INSERÇÃO, cin e cout

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

OPERADORES ARITMÉTICOS

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

Operador C/ C++ PORTUGOL

adição + +

subtração - -

multiplicação * *

divisão / /

resto % %

potenciação __ ^

OBS: Se o dividendo e o divisor forem inteiros, INTEIRO será o QUOCIENTE

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

PROGRAMA DO DOBRO

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ESTRUTURA DE DECISÃO

Muitas vezes em nossos algoritmos/ programas precisaremos tomar uma decisão, ou várias, para que certas situações aconteçam. Nesses momentos, teremos que fazer uso da estruturas de decisão. As estruturas decisão poderão ser: • Simples - quando somente será executado um bloco, que poderá ter somente uma instrução, se a condição lógica for verdadeira. • Composta - quando desejarmos que um bloco seja executado quando a condição for verdadeira e um outro bloco, quando for falsa. • Encadeadas – quando temos várias possibilidades de respostas

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ESTRUTURA DE DECISÃO Operadores

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ESTRUTURA DE DECISÃO Teste

Uma expressão relacional

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ESTRUTURA DE DECISÃO Teste

Uma expressão relacional

Duas, ou mais, expressões relacionais unidas por operadores lógicos

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ESTRUTURA DE DECISÃO Exemplos

C++ Portugol

idade >= 18 idade >= 18

n % 2 == 0 n % 2 = 0

8 != 5 8 =/= 5

sexo == ‘f’ sexo = "f"

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ESTRUTURA DE DECISÃO Exemplos

C++

num >=100 && num <= 999

!var

Portugol

num >=100 e num <= 999

nao var

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ESTRUTURA DE DECISÃO se ... entao

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ESTRUTURA DE DECISÃO se ... entao ... senao

ESTRUTURA DE DECISÃO Simples - Exercício

Uma empresa fez uma seleção de candidatos baseada em prova e entrevista. Hoje será anunciado o resultado. O candidato deverá entrar com o número de inscrição e a nota que ele recebeu em casa. Se ele estiver na lista dos classificados, aparecerá a matrícula na tela. Caso contrário, nada acontece. Para estar na lista, a nota deverá ser maior do que 8,5.

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

PE > 8.5

Insc, PE

Insc

ESTRUTURA DE DECISÃO Simples - Exercício

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ESTRUTURA DE DECISÃO Simples - Exercício

inicio inteiro Insc real PE escrever "digite Inscrição " ler Insc escrever "digite nota recebida " ler PE se PE > 8.5 então escrever Insc fimSe fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ESTRUTURA DE DECISÃO Simples - Exercício

#include <iostream> #include <cstdlib> using namespace std; int main() { int Insc; float PE; cout << "digite Inscricao "; cin >> Insc; cout << "digite nota recebida " ; cin >> PE ; if( PE > 8.5 ) { //Experimente retirar a chave cout << Insc <<"\n"; //troque por << endl; } //Experimente retirar a chave system("pause"); }

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

ESTRUTURA DE DECISÃO Composta - Exercício

Um comerciante resolveu fazer uma liquidação dando desconto nas mercadorias e ainda podendo parcelar em duas vezes caso o valor com desconto ficasse maior ou igual a R$ 200,00. Construa um programa que deixe entrar com o valor do produto e o percentual do desconto. Deverá ser exibida uma das mensagens: • Duas parcelas no valor de ... • Total: ...

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

total >=200

valor, percentual

total=valor – valor*percentual / 100

total

“ 2 parcelas “, total/2

ESTRUTURA DE DECISÃO Composta - Exercício

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

inicio real valor, percentual, total escrever "\nValor do produto " ler valor escrever "\nPercentual de desconto " ler percentual total <- valor - valor * percentual / 100 se total >= 200 entao escrever "\nDuas parcela no valor de ", total / 2 , "\n" senao escrever "\nTotal ", total , "\n" fimse fim

ESTRUTURA DE DECISÃO Composta - Exercício

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

#include <iostream> #include <cstdlib> using namespace std; int main() { float valor, percentual, total; cout << "\nValor do produto "; cin >> valor; cout << "\nPercentual de desconto "; cin >> percentual; total = valor - valor * percentual / 100; if(total >= 200 ) cout << "\nDuas parcelas no valor de "<< total / 2 << endl; else cout << "\nTotal "<< total << endl ; system("pause"); }

ESTRUTURA DE DECISÃO Composta - Exercício

inicio

inteiro num, u, d, c, um

escrever "\Número inteiro positivo de 4 algarismos: "

ler num

se num >= 1000 e num <=9999 então

u <- num % 10

d <- ( num / 10) % 10

c <- ( num / 100) % 10

um <- num / 1000

escrever um ,"\t", c, "\t", d, "\t", u

SENAO

ESCREVER "\nNumero não tem quatro algarismos ou é negativo "

fimse

fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

TESTE DE MESA

inicio

inteiro num, u, d, c, um

escrever "\Número inteiro positivo de 4 algarismos: "

ler num

se num >= 1000 e num <=9999 então

u <- num % 10

d <- ( num / 10) % 10

c <- ( num / 100) % 10

um <- num / 1000

escrever um ,"\t", c, "\t", d, "\t", u

SENAO

ESCREVER "\nNumero não tem quatro algarismos ou é negativo "

fimse

fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

TESTE DE MESA

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

TESTE DE MESA

inicio

inteiro num, u, d, c, um

escrever "\Número inteiro positivo de 4 algarismos: "

ler num

se num >= 1000 e num <=9999 então

u <- num % 10

d <- ( num / 10) % 10

c <- ( num / 100) % 10

um <- num / 1000

escrever um ,"\t", c, "\t", d, "\t", u

SENAO

ESCREVER "\nNumero não tem quatro algarismos ou é negativo "

fimse

fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

TESTE DE MESA

Memória Principal Display

inicio

inteiro num, u, d, c, um

escrever "\Número inteiro positivo de 4 algarismos: "

ler num

se num >= 1000 e num <=9999 então

u <- num % 10

d <- ( num / 10) % 10

c <- ( num / 100) % 10

um <- num / 1000

escrever um ,"\t", c, "\t", d, "\t", u

SENAO

ESCREVER "\nNumero não tem quatro algarismos ou é negativo "

fimse

fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

TESTE DE MESA

Memória Principal Display

inicio

inteiro num, u, d, c, um

escrever "\Número inteiro positivo de 4 algarismos: "

ler num

se num >= 1000 e num <=9999 então

u <- num % 10

d <- ( num / 10) % 10

c <- ( num / 100) % 10

um <- num / 1000

escrever um ,"\t", c, "\t", d, "\t", u

SENAO

ESCREVER "\nNumero não tem quatro algarismos ou é negativo "

fimse

fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

TESTE DE MESA

num u d c um

Número inteiro...

inicio

inteiro num, u, d, c, um

escrever "\Número inteiro positivo de 4 algarismos: "

ler num

se num >= 1000 e num <=9999 então

u <- num % 10

d <- ( num / 10) % 10

c <- ( num / 100) % 10

um <- num / 1000

escrever um ,"\t", c, "\t", d, "\t", u

SENAO

ESCREVER "\nNumero não tem quatro algarismos ou é negativo "

fimse

fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

TESTE DE MESA

Memória Principal Display

num u d c um

Número inteiro...

9876

inicio

inteiro num, u, d, c, um

escrever "\Número inteiro positivo de 4 algarismos: "

ler num

se num >= 1000 e num <=9999 então

u <- num % 10

d <- ( num / 10) % 10

c <- ( num / 100) % 10

um <- num / 1000

escrever um ,"\t", c, "\t", d, "\t", u

SENAO

ESCREVER "\nNumero não tem quatro algarismos ou é negativo "

fimse

fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

TESTE DE MESA

Memória Principal Display

num u d c um

9876

Número inteiro...

9876

9876 % 10 = 6

inicio

inteiro num, u, d, c, um

escrever "\Número inteiro positivo de 4 algarismos: "

ler num

se num >= 1000 e num <=9999 então

u <- num % 10

d <- ( num / 10) % 10

c <- ( num / 100) % 10

um <- num / 1000

escrever um ,"\t", c, "\t", d, "\t", u

SENAO

ESCREVER "\nNumero não tem quatro algarismos ou é negativo "

fimse

fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

TESTE DE MESA

Memória Principal Display

num u d c um

9876 6

Número inteiro...

9876

9876 / 10 = 987 987 % 10 = 7

inicio

inteiro num, u, d, c, um

escrever "\Número inteiro positivo de 4 algarismos: "

ler num

se num >= 1000 e num <=9999 então

u <- num % 10

d <- ( num / 10) % 10

c <- ( num / 100) % 10

um <- num / 1000

escrever um ,"\t", c, "\t", d, "\t", u

SENAO

ESCREVER "\nNumero não tem quatro algarismos ou é negativo "

fimse

fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

TESTE DE MESA

Memória Principal Display

num u d c um

9876 6 7

Número inteiro...

9876

9876 / 100 = 98 98 % 10 = 8

inicio

inteiro num, u, d, c, um

escrever "\Número inteiro positivo de 4 algarismos: "

ler num

se num >= 1000 e num <=9999 então

u <- num % 10

d <- ( num / 10) % 10

c <- ( num / 100) % 10

um <- num / 1000

escrever um ,"\t", c, "\t", d, "\t", u

SENAO

ESCREVER "\nNumero não tem quatro algarismos ou é negativo "

fimse

fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

TESTE DE MESA

Memória Principal Display

num u d c um

9876 6 7 8

Número inteiro...

9876

9876 / 1000 = 9

inicio

inteiro num, u, d, c, um

escrever "\Número inteiro positivo de 4 algarismos: "

ler num

se num >= 1000 e num <=9999 então

u <- num % 10

d <- ( num / 10) % 10

c <- ( num / 100) % 10

um <- num / 1000

escrever um ,"\t", c, "\t", d, "\t", u

SENAO

ESCREVER "\nNumero não tem quatro algarismos ou é negativo "

fimse

fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

TESTE DE MESA

Memória Principal Display

num u d c um

9876 6 7 8 9

num u d c um

Número inteiro...

9876

9876 6 7 8 9

9 8 7 6

inicio

inteiro num, u, d, c, um

escrever "\Número inteiro positivo de 4 algarismos: "

ler num

se num >= 1000 e num <=9999 então

u <- num % 10

d <- ( num / 10) % 10

c <- ( num / 100) % 10

um <- num / 1000

escrever um ,"\t", c, "\t", d, "\t", u

SENAO

ESCREVER "\nNumero não tem quatro algarismos ou é negativo "

fimse

fim

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

TESTE DE MESA

Memória Principal Display