Você está na página 1de 34

Programao de Computadores I ca Aula 03

Linguagem algor tmica: Portugol


Jos Romildo Malaquias e
Departamento de Computao ca Universidade Federal de Ouro Preto

2011-1

1/34

Introduo I ca

Lgica o
A lgica usada no dia a dia das pessoas que trabalham com o e computao para solucionar problemas de forma eciente. ca

Algoritmo
Um algoritmo representa de forma estruturada, uma seqncia de ue aes, que levam a um resultado esperado. co Resumindo: algoritmo: exerc de racioc (denir o problema); cio nio tcnicas de programao: exerc da implementao e ca cio ca

2/34

Introduo II ca
Exemplo: Seqncia de aes para chegar ao ue co trabalho/universidade pegar o o nibus chegar os destino

Acordar

levantar

tomar cafe

ou

pegar o carro

3/34

Introduo III ca

Para cada ao acontecer, necessrio que a ao anterior ca e a ca tenha sido executada Cada ao pode conter outros eventos associados (outros ca algoritmos)

4/34

Portugol I

Portugol
E uma pseudolinguaguem que permite ao programador pensar no problema em si e no no equipamento que ir executar o algoritmo. a a

5/34

Portugol II

Estrutura de um algoritmo
Inicio < d e c l a r a c o e s de v a r i v e i s > a <comandos> Fim

6/34

Portugol III

Identicadores: elemento bsico da linguagem, a sua sintaxe a denida por e

Exemplos: area, nota1, i, N1, . . .

7/34

Portugol IV
Varivel a
Varivel um local que armazena um tipo espec a e co de contedo u Contm um valor que se modica durante a execuo de um e ca programa. E identicada por um nome (identicador), que pode ser representando:

Declarao de variveis: ca a

8/34

Portugol V
No Portugol existem quatro tipos bsicos de dados: INTEIRO, a REAL, CARACTER e LOGICO

9/34

Portugol VI

Inteiro: qualquer nmero inteiro (negativo, nulo ou positivo) u Exemplo: 100, 0, 1, 2, 1250 Real: qualquer nmero real (negativo, nulo ou positivo) u Exemplo: -10, -1.5, 11.2, 0, 1, 2, 50 Caracter: caracteres alfanumricos e Exemplo: casa, Win31, 123 Lgico: valor lgico verdadeiro ou falso o o Exemplo: x > y ?

10/34

Portugol VII

Exemplo:
i n t e i r o : idade ; r e a l : nota1 , nota2 , media ; c a r a c t e r : nome aluno ; l o g i c o : maior ;

11/34

Portugol VIII
E importante no esquecer a
1. No poss denir variveis de diferentes tipos com o a e vel a mesmo identicador. Exemplo: real A; inteiro A; causaria erro na programao. ca 2. Tomar cuidado em relao ` sintaxe da linguagem. No ca a a poss ter identicador como: e vel c a r a c t e r nomeempregado ; real valor ; i n t e i r o 8x ; logico positivo ?; 3. Letras maisculas e minsculas so tratadas de forma u u a diferente. Exemplo: Media diferente de media, como tambm de e e MEDIA;

12/34

Portugol IX

Constantes
Uma constante um valor xo que no se modica ao longo e a do tempo Em algoritmo representaremos constantes pelo tipo const ou #define (eventualmente alguns elementos da linguagem C podem ser escritos no algoritmo)
const M 10;

13/34

Portugol X

Comandos bsicos: a
O comando de atribuio utilizado para atribuir um valor a ca e uma varivel. a Para isso usamos o s mbolo

14/34

Portugol XI

A notao usada para expresses basicamente uma forma ca o e linear comumente usada na matemtica, que pode conter a operadores:
Aritmticos: +, , , /, raiz(), , sen(), cos(), mod, div, . . . e Lgicos: e, ou, no o a Relacionais: =, =, >, (ou >=), <, (ou <=)

15/34

Portugol XII
Exemplos:
Atribuio de um valor constante ca
inteiro valor ; v a l o r < 1 0 ;

Atribuio entre variveis ca a


inteiro valor ; inteiro x; x < 1 0 ; v a l o r < x ;

Resultado de expresses o
inteiro valor ; inteiro x , y; x < 1 0 ; y < 5 ; v a l o r < x + y 2 ;
16/34

Exerc 1 I cio

Desenvolva um algoritmo em portugol para somar dois valores inteiros (10+5)


Inicio i n t e i r o x , y , z ; // d e c l a r a t r s v a r i v e i s i n t e i r a s e a x < 1 0 ; // a t r i b u i 10 p a r a x y < 5 ; // a t r i b u i 5 p a r a y z < x + y ; // soma x e y , o r e s u l t a d o a t r i b u i d o a z e Fim

17/34

Entrada e Sa de dados I da

Um algortimo pode receber um dado informado atravs de um e comando de leitura Tambm pode ser necessrio conhecer o resultado de uma e a determinada operao, nesse caso usaremos um comando de ca escrita

18/34

Entrada e Sa de dados II da
O comando de entrada leia e

O comando de sa escreva da e

19/34

Exerc 2 I cio

Inserir dois nmeros inteiros e encontrar a soma u


Inicio i n t e i r o : x , y , soma ; l e i a (x , y ); soma < x + y ; e s c r e v a ( "A soma entre " , x , " e " , y , " " , soma ) ; e Fim

20/34

Regras para escrever algoritmos I

Incluir comentrios a Usar nomes signicativos para as variveis que possam a identicar o contedo u Identar os comandos facilita a legibilidade do algoritmo e reduz a possibilidade de erros

21/34

Exerc 3 I cio

Desenvolva um algoritmo que calcule o volume de uma esfera de raio R, fornecido pelo usurio. (V = 4/3R 3 ) a

22/34

Exerc 3 II cio

Inicio const pi 3.14159; r e a l : R , volume ; e s c r e v a ( " Inserir raio da esfera " ) ; l e i a (R ) ; volume < 4/3 p i (R 3 ) ; e s c r e v a ( "O volume da esfera : " , volume ) ; Fim

23/34

Exerc 3 III cio

Desenvolva um algoritmo para encontrar a mdia entre 4 valores e fornecidos pelo usurio a

24/34

Exerc 3 IV cio

Inicio r e a l : nota1 , nota2 , nota3 , nota4 , media ; e s c r e v a ( " Inserir quatro notas " ) ; l e i a ( nota1 , nota2 , nota3 , n o t a 4 ) ; media < ( n o t a 1 + n o t a 2 + n o t a 3 + n o t a 4 ) / 4 ; e s c r e v a ( " Valor da media : " , media ) ; Fim

25/34

Comandos de Controle I

Permite
alterar a direo tomada por um programa, ou (desvio) ca fazer com que partes espec cas de um algoritmo sejam executadas mais de uma vez (loop)

26/34

Comandos de Controle II

Desvio condicional: muitas vezes ser necessrio desviar a a a execuo do programa segundo uma condio. ca ca
Por exemplo, ir a universidade de carro ou de nibius? o Para se testar condies pode ser necessrio utilizar operadores co a lgicos e relacionais o

27/34

Comandos de Controle III

Desvio condicional simples


se ( condico ) ento a a l i s t a de comandos fim se

Inserir um nmero real, se ele for positivo imprimir o nmero u u

28/34

Comandos de Controle IV

Inicio i n t e i r o A; e s c r e v a ( " Inserir valor " ) ; l e i a (A ) ; se A > 0 ento a e s c r e v a (A ) ; fim se Fim

29/34

Comandos de Controle V

Desvio condicional composto


As condies, verdadeiras ou falsas, geram aes atravs de co co e um unico comando de desvio condicional
se ( condico ) entao a l i s t a de comandos seno a l i s t a de comandos fim se

Inserir dois valores numricos e encontrar o maior deles e

30/34

Comandos de Controle VI

Inicio r e a l num1 , num2 ; e s c r e v a ( " Inserir dois valores " ) ; l e i a ( num1 , num2 ) ; s e num1 > num2 e s c r e v a ( "o maior " , num1 ) ; e seno a e s c r e v a ( "o maior " , num2 ) ; e fim se Fim

31/34

Exerc cios em aula I


1. Desenvolva um algoritmo que l o nome de um aluno, as e notas a, b e c de suas trs provas, calcula e exibe a mdia e e harmnica das provas, dada por o 3
1 a 1 b 1 c

. 2. Faa um algoritmo para calcular a rea de um c c a rculo, sendo fornecido o valor do raio, que deve ser positivo. 3. Escreva um algoritmo que leia um nmero inteiro. Se o u nmero lido for positivo, escreva uma mensagem indicando se u ele par ou e mpar. Se o nmero for negativo, escreva a u seguinte mensagem Este nmero no positivo. u a e
32/34

Exerc cios propostos I


1. Crie um algoritmo que faa a soma de dois valores inteiros c obtidos atravs de leitura e imprima o resultado dessa soma. e Em seguida leia outro nmero inteiro e calcule e exiba a u quociente da soma calculada anteriormente por este nmero. u 2. Faa um algoritmo que leia o nome de um piloto, uma c distncia percorrida em km e o tempo que o piloto levou para a percorr-la (em horas). O programa deve calcular a velocidade e mdia e Distncia a Velocidade = Tempo em km/h, e exibir a seguinte frase: A velocidade mdia do <nome do piloto> foi <velocidade e media calculada> km/h.
33/34

FIM

Crditos: e Baseado no material preparado pelo Prof. Guillermo Cmara-Chvez. a a

34/34