Sei sulla pagina 1di 96

Algoritmos

e
Programao de Computadores

Msc. Vinicius Pessoni


vinicius.pessoni@alfa.br
1

Programa da Disciplina
Contedo
1. Introduo a Algoritmos
Funcionamento do computador
Definio de algoritmos
2. Programas de computador
O que um programa
Codificao de um programa
Compilao de um programa
Execuo de um programa
Linguagens de programao
3. Itens fundamentais
Tipos de Dados
Constantes
Variveis
Comentrios
Expresses Aritmticas ( + , - , / , * )
Expresses Lgicas (E, OU, NO)
Expresses Literais
Comandos de Entrada e Sada
Professor Pessoni

4. Estruturas de controle
Desvio Condicional Simples (SE)
Operadores Relacionais
Desvio Condicional Composto (SE SENO)
Desvios Condicionais Encadeados
Operadores Lgicos (E, OU, NO)
5. Estruturas de repetio
Estrutura PARA
Estrutura ENQUANTO
Varivel de controle
Estruturas de controle encadeadas
Estrutura de dados
Vetores unidimensionais (Vetores)
Vetores multidimensionais (Matrizes)

Algoritmos e Programao de Computadores

Roteiro das Aulas 3 e 4


1.
2.
3.
4.
5.
6.

O que um programa;
Codificao, Compilao e Execuo;
Linguagens de Programao;
Tipos de Dados e Instrues Primitivas;
Entrada, processamento e sada;
Representao em Portugol;

Professor Pessoni

Algoritmos e Programao de Computadores

Programa da Disciplina
Bibliografia desta Aula

Captulos 1 dos livros:

FORBELLONE, Andr Luiz Villar.; EBERSPACHER, Henri Frederico.;


Lgica de programao: a construo de algoritmos e estruturas
de dados, 3ed. So Paulo (SP): Pearson Prentice Hall, 2005. 195 p.
ISBN 9788576050247.;

MONTEIRO, Mrio A.; Introduo organizao de computadores. 5.


ed. Rio de Janeiro (RJ): LTC, 2007;

Captulos 1,2,3::
MANZANO, Jos Augusto N. G.; OLIVEIRA, Jayr Figueiredo.;
Algoritmos: lgica para desenvolvimento de programao de
computadores, 26 ed. So Paulo (SP): rica, 2012. 328 p. ISBN
9788536502212.;

**24 edio utilizada para as aulas.

OBS: alm dos livros da bibliografia, diversos materiais online foram


Algoritmos e Programao de Computadores
utilizados. Verifique as referncia no final dos slides.

Professor Pessoni

Anteriormente, nas aulas 1 e 2

Professor Pessoni

Algoritmos e Programao de Computadores

Conceitos Bsicos
O que um Computador?

uma mquina que pode resolver problemas para as pessoas executando instrues
que lhe so fornecidas;

Problema -> Lgica + Algoritmo + Linguagem de Programao -> Programa de


computador

Professor Pessoni

Algoritmos e Programao de Computadores

Conceitos Bsicos
O que um Computador?

Os bits representam o mundo externo nos circuitos eletrnicos do computadores e so


a menor unidade de informao de um computador:

bit: (binary digit - dgito binrio);

valores numricos "1" (um) e "O" (zero);


1: ligado/ativado/aberto;
0: desligado/desativado/fechado;;

Base 2 (por isso binrio ou digital);

Os dados so representados por um octeto de bits, o byte (unidade mtrica)

EX:

Professor Pessoni

10 = 0000 1000
A = 0100 0001
a = 0110 0001
h = 0110 1000
Algoritmos e Programao de Computadores

Conceitos Bsicos
O que um Algoritmo?
Forbellone:

sequncia de passos que visam a atingir um objetivo bem denido.

Manzano:
um conjunto de regras e operaes bem definidas e
ordenadas,
para a soluo de um problema ou de uma classe de
problemas,
em um nmero finito de passos.
Professor Pessoni

Algoritmos e Programao de Computadores

O que um Programa?

Professor Pessoni

Algoritmos e Programao de Computadores

O que um Programa?

Professor Pessoni

Algoritmos e Programao de Computadores

10

O que um Programa?
Tanenmbaum:
um computador digital uma mquina que pode resolver
problemas para as pessoas executando instrues que lhe so
dadas.
Uma sequncia de instrues que descrevem como
realizar uma tarefa chamada de programa.
Puga:
um programa um conjunto de instrues que dizem ao
computador o que deve ser feito.

E o que Software?! a mesma coisa que


programa?!
Professor Pessoni

Algoritmos e Programao de Computadores

11

O que um Programa?
Em alguma referncias, software e programa so conceitos
equivalentes;
Porm, o conceito de software mais amplo que o de programa:
Pressman
Software um composto:
a. um conjunto de instrues (programas de computador)
que, quando executadas, produzem a funo e o desempenho
desejados;
b. estruturas de dados que possibilitam que os programas
manipulem corretamente as informaes;
c. documentos que descrevem a operao e o uso dos
programas.
Professor Pessoni

Algoritmos e Programao de Computadores

12

O que um Programa?
Em alguma referncias, software e programa so conceitos
equivalentes;
Porm, o conceito de software mais amplo que o de programa:
Sommerville
Software no apenas o programa,
mas tambm toda a documentao associada
e os dados de configurao para fazer com que eles
operem corretamente.

Professor Pessoni

Algoritmos e Programao de Computadores

13

O que um Programa?
Assim,

Programa != Software

Professor Pessoni

Algoritmos e Programao de Computadores

14

O que um Programa?
Sistema de propsito especfico:
sistemas de computao que possuem programas fixos,
invariveis;
sistemas embarcados;
mp3 Players, microondas, semforo, etc.
Sistema de propsito geral:
sistemas de computao que possibilitam a utilizao de
programas;
computadores pessoais.
Professor Pessoni

Algoritmos e Programao de Computadores

15

O que um Programa?
Os circuitos eletrnicos dos computadores podem reconhecer
e executar diretamente um conjunto limitado de instrues
simples;
Para que os programas sejam executados, eles devem ser
convertidos nesse tipo de instrues;
O conjunto das instrues primitivas de um computador
denominado linguagem de mquina;
por meio dessa linguagem, as pessoas se comunicam com ele;

Professor Pessoni

Algoritmos e Programao de Computadores

16

O que um Programa?
Os projetistas do computador decidem quais instrues
estaro includas na linguagem de mquina;
em geral, eles fazem com que as instrues primitivas
sejam as mais simples possveis;
para reduzir a complexidade e o custo da
eletrnica necessria.

Professor Pessoni

Algoritmos e Programao de Computadores

17

O que um Programa?
Problema:
Como a maioria das linguagens de mquina muito
simples,
difcil / complexo / entendiante / mais suscetvel
a erros programar diretamente nelas;
simples para o computador, complexo para os
humanos!
linguagens de baixo nvel.
Professor Pessoni

Algoritmos e Programao de Computadores

18

O que um Programa?

Professor Pessoni

Algoritmos e Programao de Computadores

19

O que um Programa?

Professor Pessoni

Algoritmos e Programao de Computadores

20

O que um Programa?
Problema: simples para o computador, complexo para os
humanos!
Isso levou a estruturao dos computadores em nveis (ou
camadas) de abstrao;
cada camada acumula-se quela que lhe precede;
Essas abstraes, facilitam o projeto sistemtico e estruturado,
reduzindo a complexidade em lidar com os sistemas
computacionais;
Assim surgiram as linguagens de alto nvel (C, JAVA, C++...);

Professor Pessoni

Algoritmos e Programao de Computadores

21

O que um Programa?
Problema: simples para o computador, complexo para os
humanos!
Programamos ento em linguagens de alto nvel que so mais
fceis de estruturar e so mais legveis para os humanos;
No entanto, esses programas desenvolvidos em alto nvel devem
ser compilados/interpretados para o baixo nvel;

O que compilar e interpretar?


qual a diferena?

Professor Pessoni

Algoritmos e Programao de Computadores

22

O que um Programa?
Para que os computadores consigam executar os programas
codificados em linguagens de alto nvel, esses programas
devem ser convertidos/traduzidos em cdigo de mquina;

Isso pode ser feito de duas formas:


compilao (por meio de um compilador);
interpretao (por meio de um interpretador).

Professor Pessoni

Algoritmos e Programao de Computadores

23

O que um Programa?
Compilao: o mtodo utilizado traduz todo o texto do programa
(tambm chamado de cdigo), para s depois executar o
programa;
o programa compilado e o mecanismo utilizado para a
traduo um compilador (que tambm um programa);
a verso compilada do programa armazenada, e ele pode
ser executado infinitas vezes sem precisar compilar
novamente, o que compensa o tempo gasto na compilao.
EX:
Pascal, C.

Professor Pessoni

Algoritmos e Programao de Computadores

24

O que um Programa?
Compilao: o mtodo utilizado traduz todo o texto do programa
(tambm chamado de cdigo), para s depois executar o
programa;

Professor Pessoni

Algoritmos e Programao de Computadores

25

O que um Programa?
Interpretao: o texto do programa executado medida que vai
sendo traduzido, como em num processo de traduo de trechos
seguidos de sua execuo imediata;
o mecanismo utilizado para a traduo um interpretador.
EX:
JavaScript, BASIC, Python ou Perl.

***Java compilada e interpretada. compilada para um


cdigo intermedirio que interpretado por uma mquina
virtual.
Professor Pessoni

Algoritmos e Programao de Computadores

26

O que um Programa?
Interpretao: o texto do programa executado medida que vai
sendo traduzido, como em num processo de traduo de trechos
seguidos de sua execuo imediata;

a partir do cdigo fonte, a traduo feita em tempo de execuo.

Professor Pessoni

Algoritmos e Programao de Computadores

27

O que um Programa?
De maneira simplificada:
Podemos entender um programa de computador como a
formalizao de um algoritmo escrito em alguma linguagem de
programao como:
Cobol, Java, PHP, Pascal, C, Fortran, Visual Basic.

Problema -> Algoritmo + Linguagem de Programao -> Programa de


computador;

A partir de um problema, utilizando o raciocnio lgico


desenvolvemos um algoritmo em alguma linguagem de
programao.

Professor Pessoni

Algoritmos e Programao de Computadores

28

O que um Programa?

Professor Pessoni

Algoritmos e Programao de Computadores

29

O que um Programa?

E um sistema operacional?
o que ele ?
(windows, linux, macOS, unix, solaris...)

Professor Pessoni

Algoritmos e Programao de Computadores

30

O que um Programa?

O sistema operacional:
um programa ou um conjunto de programas
cuja funo gerenciar os recursos do sistema (definir
qual programa recebe ateno do processador, gerenciar
memria, criar um sistema de arquivos, etc.),
fornecendo uma interface entre o computador e o
usurio.

Professor Pessoni

Algoritmos e Programao de Computadores

31

O que uma
Linguagem de Programao?

Professor Pessoni

Algoritmos e Programao de Computadores

32

Linguagem de Programao
Linguagem de programao:
Para nos comunicarmos uns com os outros, utilizamos
uma linguagem:
Potugus, Ingls, Italiano, Japons, etc.
Da mesma, nos comunicamos com um computador
tambm por meio de linguagens especficas:
linguagens de programao.

Professor Pessoni

Algoritmos e Programao de Computadores

33

Linguagem de Programao
Linguagem de programao:
De forma simplificada, uma linguagem de programao:
uma notao para escrever programas, os quais so
uma especificao de um algoritmo;
um mtodo padronizado para comunicar instrues
para um computador;
uma notao formal para descrio de algoritmos que
sero executados por um computador.

Professor Pessoni

Algoritmos e Programao de Computadores

34

Linguagem de Programao
Refinando:
Linguagem de programao:
Conjunto de smbolos (comandos, identificadores,
caracteres etc)
e regras de sintaxe,
que permitem a construo de sentenas
que descrevem de forma precisa aes compreensveis e
executveis para o computador.
Tambm possui uma semntica (o que significam).
Professor Pessoni

Algoritmos e Programao de Computadores

35

Linguagem de Programao
Exemplo JAVA:
Conjunto de smbolos:
int variavel =1;
c = a / b;
abstract, double, int, strictfp, boolean, if, else,
interface, super, break.
public, static, void, main;
(, {, ),}, ; , .

Professor Pessoni

Algoritmos e Programao de Computadores

36

Linguagem de Programao
Exemplo JAVA:
Regras de sintaxe (ex. para declarar uma varivel):
<tipo> + <espao> + identificador + ;
<tipo> um tipo primitivo de dados ou o nome
de uma classe ou interface;

<identificador> identificador o nome da


varivel;

; (o ponto e vrgula significa que o comando


terminou).
Professor Pessoni

Algoritmos e Programao de Computadores

37

Linguagem de Programao
Exemplo JAVA:

public class helloWorld {


static public void main(String[] args) {
boolean obrigatorio;
int semestre; //observe que a regra** de sintaxe foi obedecida
semestre = 2;
String mensagem = "Alo mundo."; System.out.println(mensagem);
}
}
**regra de sintaxe p/ declarao de variavel em JAVA <tipo> + <espao> + identificador + ;
Professor Pessoni

Algoritmos e Programao de Computadores

38

Linguagem de Programao
Linguagem de programao:
As distinguimos em:
alto nvel: mais prximas dos humanos;
baixo nvel: mais prximas do computador.

Professor Pessoni

Algoritmos e Programao de Computadores

39

Tipos de Dados e
Instrues Primitivas

Professor Pessoni

Algoritmos e Programao de Computadores

40

Tipos de Dados
Um computador eletrnico (computador digital) executa
basicamente trs aes de trabalho:
entrada de dados: recebe os dados do mundo externo;
processamento de dados: quando o computador, por
meio de um programa, faz transformaes dos dados
entrados ou previamente armazenados, tornando-os fonte
de informao;
sada dos dados: envio dos dados processados na
memria principal ou armazenados para o mundo externo.

Professor Pessoni

Em nossas aulas, para representar algoritmos, utilizaremos o pseudocdigo ou portugol para


representar os algoritmos. Nesses slides, notao do livro do autor Manzano.

Algoritmos e Programao de Computadores

41

Tipos de Dados
Os dados so elementos do mundo exterior, que representam
dentro de um computador digital as informaes manipuladas
pelos seres humanos;
Podem ser classificados em trs tipos primitivos ou tipos
bsicos:
numricos (representados por valores numricos inteiros
ou reais);
caracteres (representados por valores alfabticos ou
alfanumricos);
lgicos (valores dos tipos falso e verdadeiro).
Professor Pessoni

Algoritmos e Programao de Computadores

42

Tipos de Dados
Numrico: Inteiro
Dados numricos positivos e negativos inteiros;
exclumos qualquer nmero fracionrio (fracionrios so
do conjunto real);
EX:
35, 0, 234, -56, -27.
representao em portugol inteiro.
o tipo de dado inteiro usado em operaes e
processamentos matemticos.
Professor Pessoni

Algoritmos e Programao de Computadores

43

Tipos de Dados
Numrico: Real
Dados numricos positivos e negativos reais;
incluindo todos os valores fracionrios e inteiros;
EX:
35, 0, 234, -56, -27, 45.999999, 4.5;
representao em portugol real.
o tipo de dado real usado em operaes e
processamentos matemticos.

Professor Pessoni

Algoritmos e Programao de Computadores

44

Tipos de Dados
Caractere / Cadeia
Caracteres delimitados pelos smbolos de aspas ;
So representados por:

letras (de A at Z);


nmeros (de 0 at 9),
smbolos (ex: todos os smbolos do teclado, @, #, $, );
palavras contendo esses smbolos.

O tipo de dado caractere tambm chamado de


alfanumrico, string, literal ou cadeia.

Professor Pessoni

Algoritmos e Programao de Computadores

45

Tipos de Dados
Caractere / Cadeia
EXs:

Professor Pessoni

ALGORITMOS;
FACULDADES ALFA 2016-2
Professor Pessoni;
CEP 74645-2000;
Fone: (62) 9-8888-8888
email@alfa.br;
-95.6;
a;
1;
[string vazia].
Algoritmos e Programao de Computadores

46

Tipos de Dados
Lgico / Booleano
Dados com valores binrios do tipo sim ou no,
verdadeiro ou falso, 1 ou 0.
ao usarmos, somente um dos valores pode ser
escolhido, nunca ambos ao mesmo tempo;
representao em portugol lgico;
Para usar, temos que escolher uma representao:
.V. para Verdadeiro; ou .S. para SIM;
.F. para Falso; ou .N. para NO.
Professor Pessoni

Algoritmos e Programao de Computadores

47

Tipos de Dados
Lgico / Booleano
EX:
Se uma condio for Verdadeira
realizo tal coisa
Se uma condio for Falsa
realizo outra coisa
Se estou com fome == V
vou comer algo;
Se estou com fome == V
no vou comer.
Professor Pessoni

Algoritmos e Programao de Computadores

48

O que uma varivel?

Professor Pessoni

Algoritmos e Programao de Computadores

49

Variveis
Varivel :
tudo que est sujeito a variaes;
que incerto, instvel ou inconstante;
Em computadores o volume de dados a serem tratados grande e
diversificado;
Desta forma, os dados a serem processados so bastante variveis;
Todo dado a ser armazenado na memria do computador deve ser
previamente identificado segundo seu tipo;
um espao que reservamos na memria do computador para
colocar dados de um determinado tipo.
Professor Pessoni

Algoritmos e Programao de Computadores

50

Variveis
Para entender o que uma varivel, utilizemos a Analogia das
gavetas:
imagine que a memria principal de um computador um
armrio com muitas gavetas;
cada gaveta pode armazenar apenas um valor (dado) por vez:

Professor Pessoni

inteiro;
real;
lgico;
caractere.

Algoritmos e Programao de Computadores

51

Variveis
Por ser um armrio com diversas gavetas, precisamos dar um nome
para elas;
com esse nome, podemos ir na gaveta posteriormente para
pegar de volta o que foi armazenado nela;

Professor Pessoni

Algoritmos e Programao de Computadores

52

Variveis
O nome de uma varivel utilizado para sua identificao e
representao em um programa de computador;
necessrio obedecer algumas regras para uso de variveis:
Os nomes de identificao de uma varivel podem utilizar um ou
mais caracteres, limitando-se a restries da prpria linguagem
formal de programao em uso.
No pseudicdigo essa restrio no existe.

Professor Pessoni

Algoritmos e Programao de Computadores

53

Variveis
necessrio obedecer algumas regras para uso de variveis:
O primeiro caractere de identificao do nome de uma varivel
no pode ser, em hiptese nenhuma:
numrico ou de smbolo grfico (cifro, tralha, vrgula, ponto
e vrgula, trao, parnteses, chaves, colchetes, entre outros);
ex: 1nome; @nome; %nome; #nome;
o primeiro caractere de identificao do nome de uma
varivel deve ser sempre alfabtico;
os demais caracteres do nome de uma varivel podem ser
alfanumricos (nmeros ou letras).
Professor Pessoni

Algoritmos e Programao de Computadores

54

Variveis
necessrio obedecer algumas regras para uso de variveis:
Em nome composto de varivel no pode haver espaos em
branco;
Para separar nomes compostos usamos underline _;
nome_composto;
nomeComposto;
**seguimos o conjunto de regras de boas prticas de programao da
linguagem. Em JAVA usamos nomeComposto, por exemplo (direto, sem
underline para composio).

Professor Pessoni

Algoritmos e Programao de Computadores

55

Variveis
necessrio obedecer algumas regras para uso de variveis:
Jamais uma varivel pode ser definida com o mesmo nome de
uma palavra que represente um dos comandos ou instrues
de uma linguagem de programao de computadores.
EX:
nunca poder se chamar while, for;
No pode ser utilizado como nome de varivel algum rtulo que
j tenha sido usado para identificar o nome de um programa ou
mesmo de outra varivel;
Um nome toma-se exclusivo no programa em que foi definido.
Professor Pessoni

Algoritmos e Programao de Computadores

56

Variveis
necessrio obedecer algumas regras para uso de variveis:
Exemplo de nomes vlidos:

Professor Pessoni

NOMEUSURIO;
NOME_USURIO;
NUSURIO;
N_USURIO, FONE1,
FONE_1;
F1;
F_1;
X;
DELTA25.

Algoritmos e Programao de Computadores

57

Variveis
necessrio obedecer algumas regras para uso de variveis:
Exemplo de nomes invlidos:

Professor Pessoni

NOME USURIO;
1X;
FONE#;
INTEIRO;
REAL;
CARACTERE;
LGICO;
int, char, boolean, float, double, for, while.

Algoritmos e Programao de Computadores

58

Variveis
Uma varivel pode assumir dois papis em um programa:
Papel de ao:
quando seu valor inicial modificado ao longo da execuo
de um programa;
Papel de controle:
quando seu valor "vigiado e utilizado principalmente em
operaes lgicas de deciso e laos de repetio ao longo
de um programa.
a representao em portugol para ambas var.

Professor Pessoni

Algoritmos e Programao de Computadores

59

Variveis

O que declarar uma varivel?

Professor Pessoni

Algoritmos e Programao de Computadores

60

O que uma constante?

Professor Pessoni

Algoritmos e Programao de Computadores

61

Constantes
Constante tudo que fixo, estvel, inaltervel, imutvel, contnuo,
incessante, invarivel, de valor fixo e que aplicado em diversos
pontos de vista;
uma grandeza numrica fixa utilizada normalmente numa
expresso aritmtica ou matemtica, a qual define um valor que ser
inalterado na expresso, independentemente das variveis
envolvidas na operao a ser realizada;
EX:
CONSTANTE_EXEMPLO = 5;
SAIDA = ENTRADA + 1.25;
em portugol usamos const.
Professor Pessoni

Algoritmos e Programao de Computadores

62

Operadores Aritmticos

Professor Pessoni

Algoritmos e Programao de Computadores

63

Operadores Aritmticos

Responsveis pelas operaes matemticas a serem realizadas em um


computador;

Ferramentas para executar algum tipo de ao computacional;

Responsveis pela execuo do processamento matemtico, exceto o


operador de atribuio tambm usado em aes de processamento lgico;

Os operadores aritmticos so classificados em:

binrios: quando precisam de dois componentes sob os quais vai


operar;
radiciao, exponenciao, diviso, multiplicao, adio e
subtrao.

unrios: operam sob um elemento;


mudana de negativo para positivo.

Professor Pessoni

Algoritmos e Programao de Computadores

64

Operadores Aritmticos

Professor Pessoni

Algoritmos e Programao de Computadores

65

Expresses Aritmticas

Professor Pessoni

Algoritmos e Programao de Computadores

66

Expresses Aritmticas
Uma operao muito comum em programao de computadores
usar expresses aritmticas para o estabelecimento de
processamentos matemticos;
So realizadas a partir do relacionamento existente entre variveis e
constantes numricas com a utilizao dos operadores aritmticos;
Ex:
area= 3,14 * raio;

Professor Pessoni

area: varivel;
3,14: constante;
raio: varivel;
: constante
Algoritmos e Programao de Computadores

67

Expresses Aritmticas
Ex:
X = { 43 . [ 55 : ( 30 + 2 ) ] } na matemtica;
X <- (43 * (55 / (30 + 2))) em computao.

Observe:
que o simbolo (=) "igual a", em computao representado
pelo smbolo (<-) "seta para a esquerda", que indica a
operao de atribuio.

Professor Pessoni

Algoritmos e Programao de Computadores

68

Expresses Aritmticas
Ex:
A frmula da rea anterior pode ser escrita:
area = 3,14 * raio;
area <- 3,14 * raio 2;
area <- 3,14 * raio ^ 2.

Professor Pessoni

Algoritmos e Programao de Computadores

69

Instrues e Comandos

Professor Pessoni

Algoritmos e Programao de Computadores

70

Instrues e Comandos
O controel de um computador realizado por meio de um conjunto de
programas;
Um programa, alm da lgica de programao necessria e dos
dados a serem manipulados, necessita de um conjunto de
instrues para comandar as aes programadas de um
computador;

Um comando (palavra-chave) um componente que pertence ao


dicionrio de uma linguagem de programao;

Assim, uma linguagem de programao formal (FORTRAN, COBOL,


BASIC, PASCAL, Lua, C, C++, ASSEMBLY, eyc) ou informal
(portugol) um conjunto de comandos que, utilizados isoladamente
ou em conjunto, que determinam as instrues a serem dadas por um
programa ao computador.
Professor Pessoni

Algoritmos e Programao de Computadores

71

Instrues e Comandos
Comandos em portugol:

ATE;
AT_QUE;
AT_SEJA;
CADEIA;
CARACTERE;
CASO;
CLASSE;
CONJUNTO;
CONST;
CONTINUA;
DE;
EFETUE;
ENQUANTO;
ENQUANTO_SEJA;
ENTO;
ESCREVA;
FAA;
FIM;
FIM_AT_SEJA;
FIM_CASO;
FIM_CLASSE;

Professor Pessoni

FIM_ENQUANTO;
FIM_FAA;
FIM_LAO;
FIM_PARA;
FIM_REGISTRO;
FIM_SE;
FUNO;
HERANA;
INICIO;
INTEIRO;
LAO;
LEIA.
LOGICO;
PARA;
PASSO,
PRIVADA;
PROCEDIMENTO;
PROGRAMA;
PROTEGIDA;
PBLICA;
REAL;
REGISTRO;

Algoritmos e Programao de Computadores

REPITA;
SAIA_CASO;
SE;
SEO_PRIVADA;
SEO_PROTEGIDA;
SEO_PBLICA;
SEJA;
SENO;
TIPO;
VAR;
VIRTUAL.

72

Instrues e Comandos
Regras para usar portugol:
Comandos, com letra maiscula e de forma;
O processo de entrada e de sada de dados representado em
portugol:
leia (entrada);
escreva (saida);
As operaes de processamento matemtico ou lgicoso
representadas com o uso do operador de atribuio (<-).

Professor Pessoni

Algoritmos e Programao de Computadores

73

Instrues e Comandos
Utilizao de portugol para representar algoritmos (programas):
EX: Desenvolver um programa de computador que efetue a
leitura de dois valores numricos inteiros. Processe a operao
de adio dos dois valores e apresente na sequncia a soma
obtida com a operao.
1 passo: entender o problema;
2 passo: decidir quais tipos de dados devemos usar, e por
quais variveis eles sero representados;
3 passo: pensar em como descrever esse a soluo do
problema para o computador com os passos de entrada,
processamento e sada;
4 passo: desenvolver o algoritmo.

Professor Pessoni

Algoritmos e Programao de Computadores

74

Instrues e Comandos
Utilizao de portugol para representar algoritmos (programas):
EX: Desenvolver um programa de computador que efetue a
leitura de dois valores numricos inteiros. Processe a operao
de adio dos dois valores e apresente na sequncia a soma
obtida com a operao.
1 passo: entender o problema;
um problema de soma;
tem dois nmeros;
tem entrada e sada de dados.

Professor Pessoni

Algoritmos e Programao de Computadores

75

Instrues e Comandos
Utilizao de portugol para representar algoritmos (programas):
EX: Desenvolver um programa de computador que efetue a
leitura de dois valores numricos inteiros. Processe a operao
de adio dos dois valores e apresente na sequncia a soma
obtida com a operao.
2 passo: decidir quais tipos de dados deve-se usar, e por
quais variveis eles sero representados;
se vai ler dois inteiros, ento devemos armazen-los em
algum lugar (duas variveis do tipo inteiro A e B);
se vai ter resultado, ento tambm precisamos guardar
essse resultado (mais uma varivel do tipo inteiro R);
Professor Pessoni

Algoritmos e Programao de Computadores

76

Instrues e Comandos
Utilizao de portugol para representar algoritmos (programas):
EX: Desenvolver um programa de computador que efetue a
leitura de dois valores numricos inteiros. Processe a operao
de adio dos dois valores e apresente na sequncia a soma
obtida com a operao.
3 passo: pensar em como descrever esse a soluo do
problema para o computador com os passos de entrada,
processamento e sada;

O que precisamos fazer primeiro?

Professor Pessoni

primeiro precisamos entrar esses dados no computador;


precisamos somar e armazenar em algum lugar;
por fim, mostrar o resultado.
Algoritmos e Programao de Computadores

77

Instrues e Comandos
Utilizao de portugol para representar algoritmos (programas):
EX: Desenvolver um programa de computador que efetue a
leitura de dois valores numricos inteiros. Processe a operao
de adio dos dois valores e apresente na sequncia a soma
obtida com a operao.
4 passo: desenvolver o algoritmo.

Professor Pessoni

Algoritmos e Programao de Computadores

78

Instrues e Comandos
EX: Desenvolver um programa de computador que efetue a leitura de
dois valores numricos inteiros. Processe a operao de adio dos dois
valores e apresente na sequncia a soma obtida com a operao.
4 passo: desenvolver o algoritmo.
programa SOMA_NUMEROS
var
R: inteiro
A: inteiro
B: inteiro

**um

programa em portugol
comea com o a palavra
programa e com a sua
identificao, nesse caso,
SOMA_NUMEROS.
**o deslocamento pra frente
do nome e tipo das variveis
chamado identao.

Professor Pessoni

Algoritmos e Programao de Computadores

79

Instrues e Comandos
EX: Desenvolver um programa de computador que efetue a leitura de
dois valores numricos inteiros. Processe a operao de adio dos dois
valores e apresente na sequncia a soma obtida com a operao.
4 passo: desenvolver o algoritmo.
programa SOMA_NUMEROS
var
R: inteiro
A: inteiro
B: inteiro
inicio
leia A
leia B
R <- A+B
escreva R
fim
Professor Pessoni

**um

programa em portugol
comea com o a palavra
programa e com a sua
identificao, nesse caso,
SOMA_NUMEROS.
**o deslocamento pra frente
do nome e tipo das variveis
chamado identao.

Algoritmos e Programao de Computadores

80

Exerccios

Professor Pessoni

Algoritmos e Programao de Computadores

81

Atividade em Sala 1

Desenvolva um programa de computador que


efetue a leitura de dois valores numricos
inteiros. Processe a operao de multiplicao
dos dois valores e apresente na sequncia o
resultado obtido com a operao.

Professor Pessoni

Algoritmos e Programao de Computadores

82

Atividade em Sala 1 - Soluo Exemplo


Desenvolver um programa de computador que efetue a leitura de dois
valores numricos inteiros. Processe a operao de multiplicao dos
dois valores e apresente na sequncia o resultado obtido com a
operao.
programa MULTIPLICA_NUMEROS
var
A: inteiro
B: inteiro
R: inteiro
inicio
leia A
leia B
R <- A*B
escreva R
fim

Professor Pessoni

Algoritmos e Programao de Computadores

83

Atividade em Sala 2

Faa um algoritmo em que o usurio fornea


como entrada dois nmeros inteiros. O algoritmo
dever som-los e multiplicar o resultado da
soma pelo primeiro nmero lido. O algoritmo
dever retornar o resultado do clculo como
sada.

Professor Pessoni

Algoritmos e Programao de Computadores

84

Atividade em Sala 2 - Soluo Exemplo


Faa um algoritmo em que o usurio fornea como entrada dois nmeros
inteiros. O algoritmo dever som-los e multiplicar o resultado da soma
pelo primeiro nmero lido. O algoritmo dever retornar o resultado do
clculo como sada.
programa SOMA_MULTIPLICA_NUMEROS
var
A: inteiro
B: inteiro
S: inteiro
R: inteiro
inicio
leia A
leia B
S <- A+B
R <-S*A
escreva R
fim
Professor Pessoni

Algoritmos e Programao de Computadores

85

Atividade em Sala 3

Faa um algoritmo em que o usurio fornea


como entrada dois nmeros inteiros. O algoritmo
dever divid-los. O algoritmo dever retornar o
resultado do clculo como sada.

Professor Pessoni

Algoritmos e Programao de Computadores

86

Atividade em Sala 3 - Soluo Exemplo


Faa um algoritmo em que o usurio fornea como entrada dois nmeros
inteiros. O algoritmo dever dividir o primeiro nmero lido pelo segundo
nmero lido. O algoritmo dever retornar o resultado do clculo como
sada.
programa DIVIDE_NUMEROS
var
R: inteiro
A: inteiro
B: inteiro
inicio
leia A
leia B
R <-A/B
escreva R
fim

Professor Pessoni

Algoritmos e Programao de Computadores

87

Atividade em Sala 4
Faa um algoritmo em que o usurio fornea como
entrada o nome e a idade de uma pessoa e, o
algoritmo retorne como sada quantos dias de vida
ela possui.
Considere sempre anos completos, e que um ano
possui 365 dias.
Exemplo: uma pessoa com 19 anos possui 6935 dias de
vida. Um exemplo de sada: MARIA, VOC J VIVEU
6935 DIAS
Professor Pessoni

Algoritmos e Programao de Computadores

88

Atividade em Sala 4 - Soluo Exemplo 1


Faa um algoritmo em que o usurio fornea como entrada o nome e a
idade de uma pessoa e, o algoritmo retorne como sada quantos dias de
vida ela possui.
programa DIAS_DE_VIDA
var
nome: cadeia
idade: inteiro
resultado: inteiro

inicio
leia nome
leia idade
resultado<- idade* 365
escreva nome , VOC J VIVEU , resultado , DIAS
fim

Professor Pessoni

Algoritmos e Programao de Computadores

89

Atividade em Sala 4 - Soluo Exemplo 2


Faa um algoritmo em que o usurio fornea como entrada o nome e a
idade de uma pessoa e, o algoritmo retorne como sada quantos dias de
vida ela possui.
programa DIAS_DE_VIDA
var
nome: cadeia
idade: inteiro
resultado: inteiro
const ano = 365

inicio
leia nome
leia idade
resultado<- idade* ano
escreva nome , VOC J VIVEU , resultado , DIAS
fim
Professor Pessoni

Algoritmos e Programao de Computadores

90

Atividade em Sala 5 (aula 1e2)


Torre de Hani (20 min)
O problema da Torre de Hanoi envolve um ambiente formado por uma
base, contendo 3 pinos, onde, em um deles, h uma pilha de discos
furados no meio e de dimetros diferentes ordenados de forma que o
disco maior esteja em baixo e o menor esteja em cima, formando assim
uma torre conforme a Fig. 1, a seguir.

Professor Pessoni

Algoritmos e Programao de Computadores

91

Atividade em Sala 5
Torre de Hani (20 min)
O problema consiste na transferncia da torre de um pino a outro,
conforme as Figuras 2 e 3, obedecendo as seguintes restries:
a) S possvel movimentar um disco por vez para qualquer pino;
b) Um disco maior nunca poder ser colocado sobre um menor;
c) A soluo dever ser encontrada com o menor nmero de passos
possvel.

Professor Pessoni

Algoritmos e Programao de Computadores

92

Atividade em Sala 5
Torre de Hani (20 min)
O problema consiste na transferncia da torre de um pino a outro,
conforme as Figuras 2 e 3, obedecendo as seguintes restries:
a) S possvel movimentar um disco por vez para qualquer pino;
b) Um disco maior nunca poder ser colocado sobre um menor;
c) A soluo dever ser encontrada com o menor nmero de passos
possvel.

Professor Pessoni

Algoritmos e Programao de Computadores

93

Atividade em Sala 5 - Soluo


Torre de Hani (20 min)

Professor Pessoni

Algoritmos e Programao de Computadores

94

Atividade em Sala 5 - Soluo


Torre de Hani (20 min)

Professor Pessoni

Algoritmos e Programao de Computadores

95

Referncias

Livros descritos na bibliografia bsica no programa da disciplina;


Tanenmbaum, Andrew S.; Organizao estruturada de computadores. 5. ed. So Paulo (SP): Pearson Prentice
Hall, 2007;
Puga, Sandra; RISSETTI, Gerson.; Lgica de programao e estruturas de dados: com aplicaes em Java.
1. ed. So Paulo: Pearson Education, 2004. xiv, 262 p. ISBN 9788576052074.;
Marula, Marcelo.; Filho, Pio Armando Benini.; Informtica Conceitos e Aplicaes, Editora rica, So Paulo, 2005,
1 edio.
Monteiro, Mrio A.; Introduo organizao de computadores. 5. ed. Rio de Janeiro (RJ): LTC, 2007;
Fischer, Alice E.; Grodzinsky, Frances S.; The Anatomy of Programming Languages, 1992. University of New
Haven.
http://www.inf.pucrs.br/~pinho/LaproI/ConceitosBasicos/ConceitosBasicos.htm
http://blog.academiadocodigo.com.br/2014/11/o-que-e-um-programa-de-computador/
FIAA- http://www.dainf.ct.utfpr.edu.br/~pbueno/Arquivos/Algoritmos.pdf
http://www.emu.edu.tr/aelci/Courses/D-318/D-318-Files/plbook/intro.htm
http://digitalcommons.newhaven.edu/cgi/viewcontent.cgi?article=1000&context=electricalcomputerengineering-books
Java Bsico e Intermedirio - INSOFT- http://www.milfont.org/blog/wp-content/upload/Manual.pdf
http://www.diegomacedo.com.br/conversoes-de-linguagens-traducao-montagem-compilacao-ligacao-e-interpretacao
/
http://pt.slideshare.net/gercelia/logica-3-pseudocodigo-condicao

Professor Pessoni

Algoritmos e Programao de Computadores

96

Potrebbero piacerti anche