You are on page 1of 28

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
Expresses Aritmticas ( + , - , / , * )
Comandos de Entrada e Sada
Expresses Literais
Comentrios

Professor Pessoni - vinicius.pessoni@alfa.br

4. Estruturas de controle
Expresses Lgicas (E, OU, NO)
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

Programa da Disciplina
Avaliaes (N1, N2, N3 e N4)
N1

N2

FORMAL:

Prova escrita (03 de Outubro, daqui duas semanas): 7 pontos;

TESTE1: 1 ponto (05 DE SETEMBRO)

PROCESSUAL:
Atividades individuais, grupo, reposio: 1 ponto
Prova de conhecimentos gerais: 1 ponto

FORMAL:
Prova escrita (28 de Novembro): 7 pontos;
ATR2: 1 ponto (21 Novembro)
PROCESSUAL:
Atividades individuais, grupo, reposio: 1 ponto
Prova do livro: 1 ponto
**Resoluo sobre provas No. 010/2015, de 15 de outubro de 2015.

Professor Pessoni - vinicius.pessoni@alfa.br

Algoritmos e Programao de Computadores

Programa da Disciplina
Meio de comunicao oficial (email institucional):

vinicius.pessoni@alfa.br
Os materiais sero disponibilizados no site da disciplina, acessvel
pelo link:

goo.gl/mC9h9n
**pasta Arquitetura e Organizao de Computadores 2016-2

Por favor, respondam o formulrio de informaes


IMPORTANTES das nossas disciplinas no link:

goo.gl/JGSbgi
Professor Pessoni - vinicius.pessoni@alfa.br

Algoritmos e Programao de Computadores

Roteiro das Aulas 11 e 12


1. Devolutiva de TESTE 1;
a. entrega dos testes corrigidos e comentrios gerais;
b. resoluo do teste e dvidas;
2. Exerccios sobre entrada, processamento, sada (com operadores e
expresses aritmticas).

Professor Pessoni - vinicius.pessoni@alfa.br

Algoritmos e Programao de Computadores

**As aulas 9 e 10 foram as aulas de aplicao do TESTE 1

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 (pode ser encontrado em pdf na internet).

OBS: alm dos livros da bibliografia, diversos materiais online foram utilizados. Verifique as
referncias no final dos slides.

Professor Pessoni

Algoritmos e Programao de Computadores

Anteriormente, nas aulas 7 e 8

Professor Pessoni

Algoritmos e Programao de Computadores

Operadores Aritmticos

A tabela apresenta os operadores segundo a ordem de prioridade matemtica em que as operaes


so realizadas, exceo definio do operador div que aritmtico e de uso exclusivo para obteno
de quocientes inteiros, por esta razo possui nivel de prioridade inferior a qualquer outro operador
aritmtico.
Manzano, Cap 3, 24 ed.
Professor Pessoni

Algoritmos e Programao de Computadores

Expresses Aritmticas
Ex1:
X = { 43 . [ 55 : ( 30 + 2 ) ] } na matemtica;
X <- (43 * (55 / (30 + 2))) em computao.
Ex2:
area= 3,14 * raio;
area: varivel;
3,14: constante;
raio: varivel;
: constante
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

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.

10

Instrues e Comandos
Regras para usar portugol (pseudocdigo):

O processo de entrada e de sada de dados representado em


portugol:
leia entrada;
escreva saida;
As operaes de processamento matemtico ou lgicos so
representadas com o uso do operador de atribuio (<-).
**notao de portugol livro Manzano.

Professor Pessoni

Algoritmos e Programao de Computadores

11

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.
passos para escrita de um algoritmo.
Professor Pessoni

Algoritmos e Programao de Computadores

12

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
A: inteiro
B: inteiro
R: inteiro
inicio
leia A
leia B
R <- A+B
escreva R
fim
Professor Pessoni

4.1. um programa em pseudocdigo comea


com o a palavra programa e com a sua
identificao, nesse caso, SOMA_NUMEROS.

4.2. Declaramos as variveis que vamos utilizar


para armazenar as os dados;
**o deslocamento pra frente do nome e tipo das
variveis chamado indentao.
4.3. Abrimos a seo de processamento com a
palavra inicio;
Escrevemos os passos de processamento para
trabalhar com as variveis criadas;
Escrevemos a palavra fim para dizer que nosso
algoritmo acabou.
Algoritmos e Programao de Computadores

13

Comentrios em Cdigo
O que so comentrios?
So anotaes feitas no cdigo para contribuir com sua clareza;
O programa/cdigo produzido, dever ser de fcil entendimento:
para o programador;
para outras pessoas da rea:
programadores, analistas, testers
Eles funcionam como lembretes ou explicaes curtas sobre o
que determinada parte do cdigo realiza;
O compilador/interpretador no transforma os comentrios em
aes no programa, ele os ignora.
Professor Pessoni

Algoritmos e Programao de Computadores

14

Comentrios em Cdigo
Exemplos
programa SOMA_NUMEROS
var
A: inteiro
B: inteiro
R: inteiro
/* Comandos que expressam a realizao das operaes matemticas
* do programa, ou seja, o processamento do programa
*/
inicio
leia A
leia B
R <- A+B //realiza a soma dos dois nmeros inseridos pelo usurio
escreva R
fim
Professor Pessoni

Algoritmos e Programao de Computadores

15

Exerccios

Professor Pessoni

Algoritmos e Programao de Computadores

16

Atividade em Sala 1 (10 min)


Escreva um algoritmo que armazene o valor 10 em
uma varivel A e o valor 20 em uma varivel B.
A seguir (utilizando apenas atribuies entre
variveis) troque os seus contedos fazendo com
que o valor que est em A passe para B e
vice-versa.
Ao final, escrever na tela os valores que ficaram
armazenados nas variveis.
Professor Pessoni

Algoritmos e Programao de Computadores

17

Atividade em Sala 1 (10 min) - Resposta


Programa Troca
var
//Declarao das variveis
A: inteiro
B: inteiro
C: inteiro
incio
/* Leitura dos dados */
escreva "Digite o primeiro valor inteiro "
leia A
escreva " Digite o segundo valor inteiro "
leia B
/* Troca de lugares dos dados entre as variveis */
CA
AB
BC
escreva "Aps a troca, cada varivel tem os valores:
escreva "A: ", A
escreva "B: ", B
fim

**Existe outra forma de resolver esse problema?


Professor Pessoni

Algoritmos e Programao de Computadores

18

Atividade em Sala 1 (10 min) - Resposta 2


Programa Troca
var
//Declarao das variveis
A: inteiro
B: inteiro
C: inteiro
incio
//Valores hard coded no cdigo
A 10
B 20
/* Troca de lugares dos dados entre as variveis */
CA
AB
BC
escreva "Aps a troca, cada varivel tem os valores:
escreva "A: ", A
escreva "B: ", B
fim

Professor Pessoni

Algoritmos e Programao de Computadores

19

Atividade em Sala 2 (10 min)


Elabore um programa para o que forneamos dois
nmeros quaisquer, ele calcule o quadrado da soma
e exiba na tela o resultado.
A frmula de clculo do quadrado da soma :
(a + b)2 = a2 + (2 x a x b) + b2

Professor Pessoni

Algoritmos e Programao de Computadores

20

Atividade em Sala 2 (10 min) - Resposta


Programa SomaQuadrados
var
//Declarao das variveis
a: real
b: real
resultado: real
incio
/* Leitura dos dados */
escreva "Digite o primeiro valor real"
leia a
escreva " Digite o segundo valor real"
leia b
/* Calculo do quadrado da soma */

resultado a2 + (2*a*b) + b 2
escreva "O resultado : , resultado
fim

Professor Pessoni

Algoritmos e Programao de Computadoresa

21

Atividade em Sala 3 (15 min)


SuperEmprego uma empresa que precisa de um programa para recolher os
dados de seus clientes que procuram por emprego.
Elabore um programa que tenha como entradas:
o nome do cliente;
sua idade em anos;
profisso;
tempo de experincia em anos;
e se j est empregado.
Aps a leitura, o programa calcula um ndice de empregabilidade que
calculado da seguinte forma:
empregabilidade = idade * tempo de experincia
O programa deve exibir os dados do cliente da seguinte forma:
O cliente XXX tem XXX anos e possui experincia na rea XXX de XXX anos.
No momento eles est XXX empregado.
Seu ndice de empregabilidade XXX.
Professor Pessoni

Algoritmos e Programao de Computadores

22

Atividade em Sala 4 (10 min)


Elabore um algoritmo que calcule a rea de uma
circunferncia e apresente a medida da rea
calculada.
Note que a frmula da rea da circunferncia :

* raio [ pi vezes o raio ao quadrado]


= 3,14 [o valor de pi 3,14]

Professor Pessoni

Algoritmos e Programao de Computadores

23

Atividade em Sala 4 (10 min) - Soluo Exemplo


Elabore um algoritmo que calcule a rea de uma circunferncia e
apresente a medida da rea calculada.
Soluo alternativa

programa AREA_CIRCUNFERENCIA
const
PI = 3,14
var
raio: real
areaCircunferencia: real
inicio
leia raio
areaCircunferencia PI * raio 2
escreva areaCircunferencia
fim
Professor Pessoni

const
PI = 3,14
var
raio: real
areaCircunferencia: real
inicio
leia raio
areaCircunferencia PI * (raio *
raio)
escreva areaCircunferencia
fim
**um nmero ao quadrado esse
nmero vezes ele mesmo.

Algoritmos e Programao de Computadores

24

Atividade em Sala 5 (10 min)

Faa um algoritmo em que o usurio fornea


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

Professor Pessoni

Algoritmos e Programao de Computadores

25

Atividade em Sala 5 (10 min) Soluo Exemplo


Faa um algoritmo em que o usurio fornea como entrada dois nmeros.
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: real
A: real
B: real
inicio
leia A
leia B
RA/B
escreva R
fim
Professor Pessoni

Algoritmos e Programao de Computadores

26

Atividade em Sala 5 (10 min) Soluo Exemplo


Faa um algoritmo em que o usurio fornea como entrada dois nmeros.
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: real
A: real
B: real
inicio
leia A
leia B
RA/B
escreva R
fim
Professor Pessoni

O que acontece quando o


segundo nmero zero?
Existe uma regra na
matemtica sobre no existir
diviso por zero, como
implementamos essa
restrio no algoritmo?

Algoritmos e Programao de Computadores

27

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
http://aprendermmatematica.blogspot.com.br/p/potenciacao-e-radiciacao.html
http://www.rafaeltoledo.net/os-piores-comentarios-em-codigos-fonte/

Professor Pessoni

Algoritmos e Programao de Computadores

28