Linguagem algor tmica: Portugol Jos e Romildo Malaquias - - PowerPoint PPT Presentation

linguagem algor tmica portugol
SMART_READER_LITE
LIVE PREVIEW

Linguagem algor tmica: Portugol Jos e Romildo Malaquias - - PowerPoint PPT Presentation

Programa c ao de Computadores I Aula 03 Linguagem algor tmica: Portugol Jos e Romildo Malaquias Departamento de Computa c ao Universidade Federal de Ouro Preto 2011-1 1/34 Introdu c ao I L ogica A l ogica e


slide-1
SLIDE 1

1/34

Programa¸ c˜ ao de Computadores I Aula 03

Linguagem algor´ ıtmica: Portugol

Jos´ e Romildo Malaquias

Departamento de Computa¸ c˜ ao Universidade Federal de Ouro Preto

2011-1

slide-2
SLIDE 2

2/34

Introdu¸ c˜ ao I

  • gica

A l´

  • gica ´

e usada no dia a dia das pessoas que trabalham com computa¸ c˜ ao para solucionar problemas de forma eficiente.

Algoritmo

Um algoritmo representa de forma estruturada, uma seq¨ uˆ encia de a¸ c˜

  • es, que levam a um resultado esperado.

Resumindo:

◮ algoritmo: exerc´

ıcio de racioc´ ınio (definir o problema);

◮ t´

ecnicas de programa¸ c˜ ao: exerc´ ıcio da implementa¸ c˜ ao

slide-3
SLIDE 3

3/34

Introdu¸ c˜ ao II

◮ Exemplo: Seq¨

uˆ encia de a¸ c˜

  • es para chegar ao

trabalho/universidade Acordar levantar tomar cafe

  • u

pegar

  • ˆ
  • nibus

pegar

  • carro

chegar

  • s

destino

slide-4
SLIDE 4

4/34

Introdu¸ c˜ ao III

◮ Para cada a¸

c˜ ao acontecer, ´ e necess´ ario que a a¸ c˜ ao anterior tenha sido executada

◮ Cada a¸

c˜ ao pode conter outros eventos associados (outros algoritmos)

slide-5
SLIDE 5

5/34

Portugol I

Portugol

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

slide-6
SLIDE 6

6/34

Portugol II

Estrutura de um algoritmo

I n i c i o <d e c l a r a ¸ c ˜

  • e s

de v a r i ´ a v e i s > <comandos> Fim

slide-7
SLIDE 7

7/34

Portugol III

◮ Identificadores: elemento b´

asico da linguagem, a sua sintaxe ´ e definida por

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

slide-8
SLIDE 8

8/34

Portugol IV

◮ Vari´

avel

◮ Vari´

avel ´ e um local que armazena um tipo espec´ ıfico de conte´ udo

◮ Cont´

em um valor que se modifica durante a execu¸ c˜ ao de um programa.

◮ ´

E identificada por um nome (identificador), que pode ser representando:

◮ Declara¸

c˜ ao de vari´ aveis:

slide-9
SLIDE 9

9/34

Portugol V

◮ No Portugol existem quatro tipos b´

asicos de dados: INTEIRO, REAL, CARACTER e L´ OGICO

slide-10
SLIDE 10

10/34

Portugol VI

◮ Inteiro: qualquer n´

umero inteiro (negativo, nulo ou positivo) Exemplo: 100, 0, 1, 2, 1250

◮ Real: qualquer n´

umero real (negativo, nulo ou positivo) Exemplo: -10, -1.5, 11.2, 0, 1, 2, 50

◮ Caracter: caracteres alfanum´

ericos Exemplo: casa, Win31, 123

◮ L´

  • gico: valor l´
  • gico verdadeiro ou falso

Exemplo: x > y ?

slide-11
SLIDE 11

11/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 ;

slide-12
SLIDE 12

12/34

Portugol VIII

◮ ´

E importante n˜ ao esquecer

  • 1. N˜

ao ´ e poss´ ıvel definir vari´ aveis de diferentes tipos com o mesmo identificador. Exemplo: real A; inteiro A; causaria erro na programa¸ c˜ ao.

  • 2. Tomar cuidado em rela¸

c˜ ao ` a sintaxe da linguagem. N˜ ao ´ e poss´ ıvel ter identificador como: c a r a c t e r nome−empregado ; r e a l v a l o r ∗; i n t e i r o 8x ; l o g i c o p o s i t i v o ? ;

  • 3. Letras mai´

usculas e min´ usculas s˜ ao tratadas de forma diferente. Exemplo: Media ´ e diferente de media, como tamb´ em de MEDIA;

slide-13
SLIDE 13

13/34

Portugol IX

◮ Constantes

◮ Uma constante ´

e um valor fixo que n˜ ao se modifica ao longo 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;

slide-14
SLIDE 14

14/34

Portugol X

◮ Comandos b´

asicos:

◮ O comando de atribui¸

c˜ ao ´ e utilizado para atribuir um valor a uma vari´ avel.

◮ Para isso usamos o s´

ımbolo “←”

slide-15
SLIDE 15

15/34

Portugol XI

◮ A nota¸

c˜ ao usada para express˜

  • es ´

e basicamente uma forma linear comumente usada na matem´ atica, que pode conter

  • peradores:

◮ Aritm´

eticos: +, −, ∗, /, raiz(), ∧, sen(), cos(), mod, div, . . .

◮ L´

  • gicos: e, ou, n˜

ao

◮ Relacionais: =, =, >, ≥ (ou >=), <, ≤ (ou <=)

slide-16
SLIDE 16

16/34

Portugol XII

Exemplos:

◮ Atribui¸

c˜ ao de um valor constante

i n t e i r o v a l o r ; v a l o r <− 10;

◮ Atribui¸

c˜ ao entre vari´ aveis

i n t e i r o v a l o r ; i n t e i r o x ; x <− 10; v a l o r <− x ;

◮ Resultado de express˜

  • es

i n t e i r o v a l o r ; i n t e i r o x , y ; x <− 10; y <− 5; v a l o r <− x + y ∗ 2;

slide-17
SLIDE 17

17/34

Exerc´ ıcio 1 I

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

I n i c i o i n t e i r o x , y , z ; // d e c l a r a t r ˆ e s v a r i ´ a v e i s i n t e i r a s x <− 10; // a t r i b u i 10 para x y <− 5; // a t r i b u i 5 para y z <− x + y ; // soma x e y ,

  • r e s u l t a d o

´ e a t r i b u i d o a z Fim

slide-18
SLIDE 18

18/34

Entrada e Sa´ ıda de dados I

◮ Um algortimo pode receber um dado informado atrav´

es de um comando de leitura

◮ Tamb´

em pode ser necess´ ario conhecer o resultado de uma determinada opera¸ c˜ ao, nesse caso usaremos um comando de escrita

slide-19
SLIDE 19

19/34

Entrada e Sa´ ıda de dados II

O comando de entrada ´ e leia O comando de sa´ ıda ´ e escreva

slide-20
SLIDE 20

20/34

Exerc´ ıcio 2 I

Inserir dois n´ umeros inteiros e encontrar a soma

I n i c i o 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 , " ´ e " , soma ) ; Fim

slide-21
SLIDE 21

21/34

Regras para escrever algoritmos I

◮ Incluir coment´

arios

◮ Usar nomes significativos para as vari´

aveis que possam identificar o conte´ udo

◮ Identar os comandos facilita a legibilidade do algoritmo e

reduz a possibilidade de erros

slide-22
SLIDE 22

22/34

Exerc´ ıcio 3 I

Desenvolva um algoritmo que calcule o volume de uma esfera de raio R, fornecido pelo usu´

  • ario. (V = 4/3πR3)
slide-23
SLIDE 23

23/34

Exerc´ ıcio 3 II

I n i c i o const p i 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

slide-24
SLIDE 24

24/34

Exerc´ ıcio 3 III

Desenvolva um algoritmo para encontrar a m´ edia entre 4 valores fornecidos pelo usu´ ario

slide-25
SLIDE 25

25/34

Exerc´ ıcio 3 IV

I n i c i o 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 , nota4 ) ; media <− ( nota1 + nota2 + nota3 + nota4 ) / 4; e s c r e v a ( "Valor da media: " , media ) ; Fim

slide-26
SLIDE 26

26/34

Comandos de Controle I

◮ Permite

◮ alterar a dire¸

c˜ ao tomada por um programa, ou (desvio)

◮ fazer com que partes espec´

ıficas de um algoritmo sejam executadas mais de uma vez (loop)

slide-27
SLIDE 27

27/34

Comandos de Controle II

◮ Desvio condicional: muitas vezes ser´

a necess´ ario desviar a execu¸ c˜ ao do programa segundo uma condi¸ c˜ ao.

◮ Por exemplo, ir a universidade de carro ou de ˆ

  • nibius?

◮ Para se testar condi¸

  • es pode ser necess´

ario utilizar operadores l´

  • gicos e relacionais
slide-28
SLIDE 28

28/34

Comandos de Controle III

◮ Desvio condicional simples

se ( condi¸ c˜ ao ) ent˜ ao l i s t a de comandos f i m s e

Inserir um n´ umero real, se ele for positivo imprimir o n´ umero

slide-29
SLIDE 29

29/34

Comandos de Controle IV

I n i c i o 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 ent˜ ao e s c r e v a (A) ; f i m s e Fim

slide-30
SLIDE 30

30/34

Comandos de Controle V

◮ Desvio condicional composto

◮ As condi¸

  • es, verdadeiras ou falsas, geram a¸

  • es atrav´

es de um ´ unico comando de desvio condicional

se ( condi¸ c˜ ao ) entao l i s t a de comandos sen˜ ao l i s t a de comandos f i m s e

Inserir dois valores num´ ericos e encontrar o maior deles

slide-31
SLIDE 31

31/34

Comandos de Controle VI

I n i c i o r e a l num1 , num2 ; e s c r e v a ( "Inserir dois valores" ) ; l e i a (num1 , num2 ) ; se num1 > num2 e s c r e v a ( "o maior ´ e " , num1 ) ; sen˜ ao e s c r e v a ( "o maior ´ e " , num2 ) ; f i m s e Fim

slide-32
SLIDE 32

32/34

Exerc´ ıcios em aula I

  • 1. Desenvolva um algoritmo que lˆ

e o nome de um aluno, as notas a, b e c de suas trˆ es provas, calcula e exibe a m´ edia harmˆ

  • nica das provas, dada por

3

1 a + 1 b + 1 c

.

  • 2. Fa¸

ca um algoritmo para calcular a ´ area de um c´ ırculo, sendo fornecido o valor do raio, que deve ser positivo.

  • 3. Escreva um algoritmo que leia um n´

umero inteiro. Se o n´ umero lido for positivo, escreva uma mensagem indicando se ele ´ e par ou ´ ımpar. Se o n´ umero for negativo, escreva a seguinte mensagem “Este n´ umero n˜ ao ´ e positivo”.

slide-33
SLIDE 33

33/34

Exerc´ ıcios propostos I

  • 1. Crie um algoritmo que fa¸

ca a soma de dois valores inteiros

  • btidos atrav´

es de leitura e imprima o resultado dessa soma. Em seguida leia outro n´ umero inteiro e calcule e exiba a quociente da soma calculada anteriormente por este n´ umero.

  • 2. Fa¸

ca um algoritmo que leia o nome de um piloto, uma distˆ ancia percorrida em km e o tempo que o piloto levou para percorrˆ e-la (em horas). O programa deve calcular a velocidade m´ edia Velocidade = Distˆ ancia Tempo em km/h, e exibir a seguinte frase: A velocidade m´ edia do <nome do piloto> foi <velocidade media calculada> km/h.

slide-34
SLIDE 34

34/34

FIM

Cr´ editos: Baseado no material preparado pelo

  • Prof. Guillermo C´

amara-Ch´ avez.