BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar...
Transcript of BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar...
![Page 1: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/1.jpg)
1/35
BCC 201 - Introducao a Programacao
Portugol
Guillermo Camara-ChavezUFOP
![Page 2: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/2.jpg)
2/35
Introducao I
Logica
A logica e usada no dia a dia das pessoas que trabalham comcomputacao para solucionar problemas de forma eficiente.
Algoritmo
Um algoritmo representa de forma estruturada, uma sequencia deacoes, que levam a um resultado esperado.
Resumindo:
I algoritmo: exercıcio de raciocınio (definir o problema);
I tecnicas de programacao: exercıcio da implementacao
![Page 3: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/3.jpg)
3/35
Introducao II
I Exemplo: Sequencia de acoes para chegar aotrabalho/universidade
Acordar levantartomarcafe
ou
pegaro
onibus
pegaro carro
chegarao
destino
![Page 4: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/4.jpg)
4/35
Introducao III
I Para cada acao acontecer, e necessario que a acao anteriortenha sido executada
I Cada acao pode conter outros eventos associados (outrosalgoritmos)
![Page 5: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/5.jpg)
5/35
Portugol I
Portugol
E uma pseudolinguaguem que permite ao programador pensarno problema em si e nao no equipamento que ira executar oalgoritmo.
![Page 6: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/6.jpg)
6/35
Portugol II
Estrutura de um algoritmo
I n i c i o<d e c l a r a c o e s de v a r i a v e i s ><comandos>
Fim
![Page 7: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/7.jpg)
7/35
Portugol III
I Identificadores: elemento basico da linguagem, a sua sintaxee definida por
I Exemplos: area, nota1, i, N1, . . .
![Page 8: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/8.jpg)
8/35
Portugol IV
I Declaracao de variaveisI E um local que armazena um tipo especıfico de conteudoI Contem um valor que se modifica durante a execucao de um
programa.I Possue um identificador (nome), que pode ser representando:
![Page 9: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/9.jpg)
9/35
Portugol V
I No Portugol existem quatro tipos basicos de dados utilizados:INTEIRO, REAL, CARACTER e LOGICO
![Page 10: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/10.jpg)
10/35
Portugol VI
I Inteiro: qualquer numero inteiro (negativo, nulo ou postivo)Exemplo: 100, 0, 1, 2, 1250
I Real: qualquer numero real (negativo, nulo ou postivo)Exemplo: -10, -1.5, 11.2, 0, 1, 2, 50
I Caracter: caracteres alfanumericosExemplo: casa, Win31, 123
I Logico: valor logico verdadeiro ou falsoExemplo: x > y ?
![Page 11: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/11.jpg)
11/35
Portugol VII
I Exemplo:
i n t e i r o : i d a d e ;r e a l : nota1 , nota2 , media ;c a r a c t e r : nome aluno ;l o g i c o : maior ;
![Page 12: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/12.jpg)
12/35
Portugol VIII
I E importante nao esquecer
1. Nao e possıvel definir variaveis de diferentes tipos com omesmo identificador.Exemplo: real A; inteiro A; causaria erro na programacao.
2. Tomar cuidado em relacao a sintaxe da linguagem. Naoe possıvel ter identificador como: caracter ?nome; real valor*;inteiro 1x;
3. Letras maiusculas e minusculas sao tratadas de formadiferente.Exemplo: Media e diferente de media, como tambem deMEDIA;
![Page 13: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/13.jpg)
13/35
Portugol IX
I Constantes
I Uma constante e um valor fixo que nao se modifica ao longodo tempo
I Em algoritmo representaremos constantes pelo tipo const ou#define (eventualmente alguns elementos da linguagem Cpoder ser escritos no algoritmo)
c o n s t M 1 0 ;
![Page 14: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/14.jpg)
14/35
Portugol X
I Comandos basicos:I O comando de atribuicao e utilizado para atribuir um valor a
uma variavel.I Para isso usamos o sımbolo “←”
![Page 15: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/15.jpg)
15/35
Portugol XI
I A notacao usada para expressoes e basicamente uma formalinear comumente usada na matematica, que pode conteroperadores:
I Aritmeticos: +, −, ∗, /, raiz(), ∧, sen(), cos(), mod, div, . . .I Logicos: e, ou, naoI Relacionais: =, 6=, >, ≥ (ou >=), <, ≤ (ou <=)
![Page 16: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/16.jpg)
16/35
Portugol XII
Exemplos:I Atribuicao de um valor constante
i n t e i r o v a l o r ;v a l o r <− 1 0 ;
I Atribuicao entre variaveis
i n t e i r o v a l o r ;i n t e i r o x ;x <− 1 0 ;v a l o r <− x ;
I Resultado de expressoes
i n t e i r o v a l o r ;i n t e i r o x , y ;x <− 1 0 ;y <− 5 ;v a l o r <− x + y ∗ 2 ;
![Page 17: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/17.jpg)
17/35
Exercıcio 1 I
Desenvolva um algoritmo em portugol para somar dois valoresinteiros (Ex. 10+5)
I n i c i oi 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 sx <− 1 0 ; // a t r i b u i 10 para xy <− 5 ; // a t r i b u i 5 para yz <− x + y ; // soma x e y , o r e s u l t a d o e a t r i b u i d o a z
Fim
![Page 18: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/18.jpg)
18/35
Entrada e Saıda de dados I
I Um programa pode receber um dado informado atraves de umcomando de leitura
I Tambem pode ser necessario conhecer o resultado de umadeterminada operacao, nesse caso usaremos um comando deescrita
![Page 19: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/19.jpg)
19/35
Entrada e Saıda de dados II
O comando de entrada e leia
O comando de saıda e escreva
![Page 20: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/20.jpg)
20/35
Exercıcio 2 I
De forma generica, a construcao de um algoritmo se resume asseguintes etapas:
1. entendimento do problema;
2. elaboracao da solucao algorıtmica; e
3. codificacao da solucao no Portugues Estruturado
![Page 21: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/21.jpg)
21/35
Exercıcio 2 IIInserir dois numeros inteiros e encontrar a soma
![Page 22: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/22.jpg)
22/35
Exercıcio 2 III
Etapa 1Simples, sabemos que vamos a calcular a soma de dois numerosEtapa 2Os dados necessarios serao os dois valores, que colocaremos emduas variaveis A e B, de tipo inteiro, e uma terceira variavel, quechamaremos de soma, que armazenara a soma das duas variaveis.Etapa 3A obtencao dos dados neste programa e simples e direta. Bastapedir ao usuario que digite os valores.Etapa 4O processamento aqui e o calculo da soma, usando o metodocitado na etapa 1. O resultado sera armazenado na variavel soma.Etapa 5Exibir o conteudo da variavel soma
![Page 23: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/23.jpg)
23/35
Exercıcio 2 IV
I n i c i oi n t e i r o : x , y , soma ;e s c r e v a ("Inserir dois numeros: " ) ;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
![Page 24: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/24.jpg)
24/35
Regras para escrever algoritmos I
I Incluir comentarios
I Usar nomes significativos para as variaveis que possamidentificar o conteudo
I Identar os comandos facilita a legibilidade do algoritmo ereduz a possibilidade de erros
![Page 25: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/25.jpg)
25/35
Exercıcio 3 I
Desenvolva um programa que calcule o volume de uma esfera deraio R, fornecido pelo usuario. (V = 4/3πR3)
![Page 26: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/26.jpg)
26/35
Exercıcio 3 II
I n i c i oc o n s t p i 3 . 1 4 1 5 9 ;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
![Page 27: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/27.jpg)
27/35
Exercıcio 3 III
Desenvolva um algoritmo para encontrar a media entre 4 valoresfornecidos pelo usuario
![Page 28: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/28.jpg)
28/35
Exercıcio 3 IV
I n i c i or 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
![Page 29: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/29.jpg)
29/35
Comandos de Controle I
I Permite
I alterar a direcao tomada por um programa, ou (desvio)I fazer com que partes especıficas de um algoritmo seja
executada mais de uma vez (loop)
![Page 30: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/30.jpg)
30/35
Comandos de Controle II
I Desvio condicional: muitas vezes sera necessario desviar aexecucao do programa segundo uma condicao.
I Por exemplo, ir a universidade de carro ou de onibus?I Para se testar condicoes e necessario utilizar operadores logicos
e relacionais
![Page 31: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/31.jpg)
31/35
Comandos de Controle III
I Desvio condicional simples
s e ( c o n d i c a o ) ent aol i s t a de comandos
f i m s e
Inserir um numero real, se ele for positivo imprimir o numero
![Page 32: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/32.jpg)
32/35
Comandos de Controle IV
I n i c i oi n t e i r o : A ;e s c r e v a ("Inserir valor " ) ;l e i a (A ) ;s e A > 0 ent ao
e s c r e v a (A ) ;f i m s e
Fim
![Page 33: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/33.jpg)
33/35
Comandos de Controle V
I Desvio condicional composto
I As condicoes, verdadeiras ou falsas, geram acoes atraves deum unico comando de desvio condicional
s e ( c o n d i c a o ) entaol i s t a de comandos
sen aol i s t a de comandos
f i m s e
Inserir dois valores numericos e encontrar o menor deles e amedia
![Page 34: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/34.jpg)
34/35
Comandos de Controle VI
I n i c i or e a l : num1 , num2 , media ;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 menor e " , num1 ) ;sen ao
e s c r e v a ("o menor e " , num2 ) ;f i m s emedia = ( num1 + num2 ) / 2 ;e s c r e v a ("A media e: " , media ) ;
Fim
![Page 35: BCC 201 - Introdu˘c~ao a Programa˘c~ao Portugol · Desenvolva um algoritmo em portugol para somar dois valores inteiros (Ex. 10+5) I n i c i o i n t e i r o : x , y , z ;//declaratr^esv](https://reader033.fdocumentos.tips/reader033/viewer/2022052803/5f21eadd4da86828433f6902/html5/thumbnails/35.jpg)
35/35
FIM