elementos básicos das linguagens de programação · programação estruturada paradigma de...
TRANSCRIPT
![Page 1: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/1.jpg)
Elementos básicos das linguagens de programação
Objetivos:
● Apresentar os últimos elementos básicos das linguagens de programação
![Page 2: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/2.jpg)
Elementos básicos já estudados
● Entrada (read, readln)● Saída (write, writeln)● Atribuição (:=)● Comando de repetição (while … do)
● Expressões aritméticas● Expressões booleanas
![Page 3: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/3.jpg)
O que falta?
● Possibilitar desvios no fluxo de execução● Eles podem ser condicionais ou incondicionais
![Page 4: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/4.jpg)
O que falta?
● Possibilitar desvios no código● Eles podem ser condicionais ou incondicionais
● Desvios incondicionais (goto)● Desvios condicionais (if … then … else)
![Page 5: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/5.jpg)
Desvios incondicionais
● É uma das estruturas básicas
● Permite que o fluxo de execução seja alterado para qualquer outro trecho do programa
● É implementado em Pascal através do comando goto
![Page 6: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/6.jpg)
Desvios incondicionais
● Exemplo
Begin 10: Read (n);
Cont := Cont + 1;Goto 10;
End.
![Page 7: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/7.jpg)
Desvios incondicionais
● Problema: este programa nunca termina...
Begin 10: Read (n);
Cont := Cont + 1;Goto 10;
End.
![Page 8: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/8.jpg)
Desvios condicionais
● Permite que o fluxo de execução seja alterado de maneira controlada
● É implementado em Pascal através do comando if
![Page 9: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/9.jpg)
Desvios condicionais: primeira forma
● Exemplo: queremos ler um número e imprimí-lo na tela apenas se ele for positivo
Read (n);If n > 0 then
Writeln (n);
![Page 10: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/10.jpg)
Desvios condicionais: primeira forma
● Exemplo: queremos ler um número e imprimí-lo na tela apenas se ele for positivo
Read (n);If n > 0 then
Writeln (n);
● Se n for negativo ou nulo, ele não será impresso
![Page 11: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/11.jpg)
Desvios condicionais: primeira forma
● O controle (ou condição) relativo ao comando if é uma expressão booleana
Read (n);If n > 0 then
Writeln (n);
![Page 12: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/12.jpg)
Desvios condicionais: primeira forma
● O controle (ou condição) relativo ao comando if é uma expressão booleana
If < expressão booleana > thenWriteln (n);
![Page 13: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/13.jpg)
Expressões booleanas
● Uma expressão booleana sempre resulta em um valor lógico que só pode ser verdadeiro ou falso
![Page 14: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/14.jpg)
Desvios condicionais: segunda forma
● Exemplo: queremos ler um número.
● Se ele for positivo deve ser impresso na tela mas caso não seja queremos imprimir uma mensagem de erro
![Page 15: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/15.jpg)
Desvios condicionais: segunda forma
Read (n);If n > 0 then
Writeln (n)Else
Writeln ('numero invalido');
![Page 16: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/16.jpg)
Exemplos de problemas
● Determinar se um número é par
![Page 17: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/17.jpg)
Exemplos de problemas
● Determinar se um número é ímpar
![Page 18: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/18.jpg)
Exemplos de problemas
● Determinar se dois números são pares
![Page 19: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/19.jpg)
Exemplos de problemas
● Determinar se, dados dois números, se pelo menos um deles é par
![Page 20: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/20.jpg)
Exemplos de problemas
● Determinar se, dados dois números, se nenhum deles é par
![Page 21: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/21.jpg)
Exemplos de problemas
● Dados três números reais a, b e c, caracterizando uma equação do segundo grau da forma ax2 + bx + c = 0, decidir se o discriminante (b2 - 4ac) é positivo ou nulo
![Page 22: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/22.jpg)
Exemplos de problemas
● Dados três números reais a, b e c, caracterizando uma equação do segundo grau da forma ax2 + bx + c = 0, e outros dois números reais x
1 e x
2, decidir se eles são as duas soluções
reais da equação
![Page 23: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/23.jpg)
Exemplos de problemas
● Dados três números reais a, b e c, caracterizando uma equação do segundo grau da forma ax2 + bx + c = 0, e outros dois números reais x
1 e x
2, decidir se eles são as duas soluções
reais da equação. Caso não existam raízes reais, imprimir mensagem avisando ao usuário.
![Page 24: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/24.jpg)
Desvios incondicionais
BeginCont:= 0;
10: Read (n);If n = 0 then
Goto 20;Cont := Cont + 1;Goto 10;
20: Writeln (cont);End.
![Page 25: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/25.jpg)
Estes códigos fazem a mesma coisa
Begin
Cont := 0;
Read (n);
While n <> 0 do
Begin
Cont := Cont + 1;
Read (n);
End;
Writeln (Cont);
End.
Begin
Cont:= 0;
10: Read (n);
If n = 0 then
Goto 20;
Cont := Cont + 1;
Goto 10;
20: Writeln (cont);
End.
![Page 26: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/26.jpg)
Programação estruturada
● Paradigma de linguagem de programação na qual não se usa goto
● Todos os programas podem ser escritos usando-se atribuição, desvios condicionais, repetição, além de entrada e saída
● Neste curso o uso de goto é proibido!
![Page 27: Elementos básicos das linguagens de programação · Programação estruturada Paradigma de linguagem de programação na qual não se usa goto Todos os programas podem ser escritos](https://reader031.vdocuments.pub/reader031/viewer/2022020216/5c0ca34c09d3f2e9148c4e60/html5/thumbnails/27.jpg)
Programação estruturada
● Entrada (read, readln)● Saída (write, writeln)● Atribuição (:=)● Comando de repetição (while … do)● Desvios condicionais (if … then … else)
● Expressões aritméticas● Expressões booleanas