Algoritmos e Programação Thyago Maia Tavares de Farias Aula 12
Sumário <ul><li>Pascal – Conceitos e Ambiente </li></ul>
Passos para a construção de Software <ul><li>1º passo: Conhecimento do problema; </li></ul><ul><li>2º passo: Construção do...
Linguagens de programação <ul><li>Para armazenar um algoritmo na memória de um computador, e para que o mesmo seja executá...
A linguagem Pascal <ul><li>Desenvolvida em 1968 por  Niklaus Wirth , da Universidade Técnica de Zurique, na Suíça; </li></...
A linguagem Pascal <ul><li>Linguagem parecida com a linguagem algorítmica; </li></ul><ul><li>Usa o paradigma estruturado, ...
Adaptando algoritmos para a linguagem Pascal <ul><li>Ex.: </li></ul>Algoritmo “exemplo” Var numero: inteiro Inicio escreva...
Área de Declarações program exemplo;  Var numero: integer; begin write(“Informe  um número: ”); readln(numero); numero := ...
Tipos de variáveis <ul><li>Integer </li></ul><ul><ul><li>Equivalente ao tipo  inteiro  em algoritmos; </li></ul></ul><ul><...
Tipos de variáveis <ul><li>Integer </li></ul><ul><ul><li>Tipos variantes: </li></ul></ul>Nome Valor mínimo Valor máximo By...
Tipos de variáveis <ul><li>Real </li></ul><ul><ul><li>Equivalente ao tipo  real  em algoritmos; </li></ul></ul><ul><ul><li...
Tipos de variáveis <ul><li>Real </li></ul><ul><ul><li>Tipos variantes: </li></ul></ul>Nome Valor mínimo Valor máximo Bytes...
Tipos de variáveis <ul><li>Boolean </li></ul><ul><ul><li>Equivalente ao tipo  lógico  em algoritmos; </li></ul></ul><ul><u...
Tipos de variáveis <ul><li>String </li></ul><ul><ul><li>Equivalente ao tipo  literal  em algoritmos (tamanho máximo de car...
Tipos de variáveis <ul><li>String </li></ul><ul><ul><li>Podemos limitar o tamanho de um string, utilizando  [  +  tamanho ...
Tipos de variáveis <ul><li>Char </li></ul><ul><ul><li>Equivalente ao tipo  literal  em algoritmos, porém representa  um ún...
Variáveis <ul><li>Representam os espaços reservados na memória para armazenar informações; </li></ul><ul><li>Funcionamento...
Variáveis <ul><li>Regras para identificadores de variáveis: </li></ul><ul><ul><li>Não devem ser extensas demais; </li></ul...
Variáveis <ul><li>Exemplos de declaração: </li></ul><ul><li>var numero: integer; </li></ul><ul><li>nome: string; </li></ul...
Palavras Reservadas <ul><li>Nomes utilizados pelo computador para representar comandos, operadores e nomes de seção de pro...
Constantes <ul><li>Variáveis que assumem um determinado valor atribuído e não pode ser alterado ao longo do programa; </li...
Constantes <ul><li>Para declarar constantes, utilizamos a palavra reservada  CONST , seguido do seu  identificador  (nome)...
Comentários <ul><li>Texto delimitado entre {} ou (* *) </li></ul><ul><li>Seu conteúdo não é compilado; </li></ul><ul><li>P...
Comentários <ul><li>Exemplo: </li></ul><ul><li>program exemplo;  </li></ul><ul><li>{área de declarações} </li></ul><ul><li...
Área de Comandos program exemplo;  Var numero: integer; begin write(“Informe  um número: ”); readln(numero); numero := num...
Comando de atribuição <ul><li>Utilizado para atribuir um valor a uma variável, um resultado de uma expressão ou o valor de...
Comando de atribuição <ul><li>OBS: No comando de atribuição, a variável e seu valor devem ter o mesmo tipo, exceto nos seg...
Comandos de Entrada <ul><li>Utilizado para receber dados digitados pelo usuário; </li></ul><ul><li>Funcionamento similar a...
Comandos de Entrada <ul><li>Exemplo: programa que lê o nome e a idade de um usuário: </li></ul><ul><li>program exemplo;  <...
Comandos de Saída <ul><li>Utilizado para exibir dados; </li></ul><ul><li>Funcionamento similar ao comando  escreva  e  esc...
Comandos de Saída <ul><li>No caso de variáveis do tipo integer ou real, podemos apresentar os dados na formatação desejada...
Comandos de Saída <ul><li>Exemplo: programa que lê o nome e a idade de um usuário: </li></ul><ul><li>program exemplo;  </l...
Operadores Operador Exemplo Comentário := X := 1 O valor 1 é atribuído a variável X. + X + Y Soma o conteúdo de X e de Y. ...
Funções Predefinidas Funções Matemáticas Função Comentários ABS (x) Obtém o valor absoluto de x. LOG(x) Obtém o logaritmo ...
Ambientes de Programação <ul><li>Free Pascal Compiler </li></ul><ul><ul><li>Código aberto e gratuito; </li></ul></ul><ul><...
Ambientes de Programação <ul><li>Dev-Pascal </li></ul><ul><ul><li>Gratuito; </li></ul></ul><ul><ul><li>Código Aberto; </li...
Ambientes de Programação <ul><li>Turbo Pascal </li></ul><ul><ul><li>Compilador Pascal; </li></ul></ul><ul><ul><li>Software...
Ambientes de Programação <ul><li>Pascal ZIM </li></ul><ul><ul><li>Desenvolvido no Departamento de Ciências da Computação d...
Ambientes de Programação <ul><li>Download : </li></ul><ul><li>Free Pascal Compiler:  http://www.freepascal.eti.br/ </li></...
Próximos SlideShares
Carregando em…5
×

Algoritmos e programação - Aula 14

3.730 visualizações

Publicada em

slides referentes a 14ª aula da disciplina de Algoritmos e Programação, realizada no dia 02/04/2011.

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
3.730
No SlideShare
0
A partir de incorporações
0
Número de incorporações
175
Ações
Compartilhamentos
0
Downloads
213
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Algoritmos e programação - Aula 14

  1. 1. Algoritmos e Programação Thyago Maia Tavares de Farias Aula 12
  2. 2. Sumário <ul><li>Pascal – Conceitos e Ambiente </li></ul>
  3. 3. Passos para a construção de Software <ul><li>1º passo: Conhecimento do problema; </li></ul><ul><li>2º passo: Construção do algoritmo; </li></ul><ul><li>3º passo: Codificação do algoritmo em uma linguagem de programação ; </li></ul>Problema !!! Solução Codificação
  4. 4. Linguagens de programação <ul><li>Para armazenar um algoritmo na memória de um computador, e para que o mesmo seja executável, é necessário que o mesmo seja programado (codificado); </li></ul><ul><li>Precisamos transcrever nossos algoritmos para uma linguagem de programação; </li></ul><ul><li>Exemplos: Pascal, C, Java, Cobol, etc. </li></ul><ul><li>Na disciplina, utilizaremos a linguagem de programação Pascal ; </li></ul>
  5. 5. A linguagem Pascal <ul><li>Desenvolvida em 1968 por Niklaus Wirth , da Universidade Técnica de Zurique, na Suíça; </li></ul><ul><li>Objetivo: Oferecer uma linguagem para o ensino de programação que fosse simples, coerente e capaz de confeccionar programas claros e legíveis; </li></ul><ul><li>Batizada em homenagem a Blaise Pascal , filósofo, matemático e inventor da primeira calculadora mecânica; </li></ul>
  6. 6. A linguagem Pascal <ul><li>Linguagem parecida com a linguagem algorítmica; </li></ul><ul><li>Usa o paradigma estruturado, onde qualquer problema pode ser resolvido utilizando três estruturas: </li></ul><ul><ul><li>Sequencial; </li></ul></ul><ul><ul><li>Condicional; </li></ul></ul><ul><ul><li>Iterativa (repetição); </li></ul></ul>
  7. 7. Adaptando algoritmos para a linguagem Pascal <ul><li>Ex.: </li></ul>Algoritmo “exemplo” Var numero: inteiro Inicio escreva(“Informe um número: ”) leia(numero) numero <- numero + 10; escreva(“Novo número: ”, numero) fimalgoritmo program exemplo; Var numero: integer; begin write(‘Informe um número: ‘); readln(numero); numero := numero + 10; write(‘Novo número: ‘, numero); end. PORTUGOL PASCAL
  8. 8. Área de Declarações program exemplo; Var numero: integer; begin write(“Informe um número: ”); readln(numero); numero := numero + 10; write(“Novo número: ”, numero); end. PASCAL Declaração de Variáveis: var <lista-de-identificadores>: <tipo> onde, <lista-de-identificadores>: lista variáveis de um mesmo tipo <tipo-de-dado>: nome de um dos tipos pré-definidos ou criados pelo programador
  9. 9. Tipos de variáveis <ul><li>Integer </li></ul><ul><ul><li>Equivalente ao tipo inteiro em algoritmos; </li></ul></ul><ul><ul><li>Exemplo de declaração: </li></ul></ul><ul><ul><li>Em algoritmos: var numero: inteiro </li></ul></ul><ul><ul><li>Em Pascal: var numero: integer; </li></ul></ul>Nome Valor mínimo Valor máximo Bytes ocupados Integer -32.768 32.767 2
  10. 10. Tipos de variáveis <ul><li>Integer </li></ul><ul><ul><li>Tipos variantes: </li></ul></ul>Nome Valor mínimo Valor máximo Bytes ocupados Shortint -128 127 1 Byte 0 255 1 Word 0 65.535 2 Longint -2.147.483.648 2.147.483.647 4
  11. 11. Tipos de variáveis <ul><li>Real </li></ul><ul><ul><li>Equivalente ao tipo real em algoritmos; </li></ul></ul><ul><ul><li>Exemplo de declaração: </li></ul></ul><ul><ul><li>Em algoritmos: var numero: real </li></ul></ul><ul><ul><li>Em Pascal: var numero: real; </li></ul></ul>Nome Valor mínimo Valor máximo Bytes ocupados Real -2.9 x 10 -39 1.7 x 10 38 6
  12. 12. Tipos de variáveis <ul><li>Real </li></ul><ul><ul><li>Tipos variantes: </li></ul></ul>Nome Valor mínimo Valor máximo Bytes ocupados Single -1.5 x 10 -45 1.7 x 10 38 4 Double 5.0 x 10 -324 1.7 x 10 308 5 Extended 3.4 x 10 -4932 1.1 x 10 4932 10 Comp -2 -63 +1 2 -63 -1 8
  13. 13. Tipos de variáveis <ul><li>Boolean </li></ul><ul><ul><li>Equivalente ao tipo lógico em algoritmos; </li></ul></ul><ul><ul><li>Exemplo de declaração: </li></ul></ul><ul><ul><li>Em algoritmos: var valor: logico </li></ul></ul><ul><ul><li>Em Pascal: var valor: boolean; </li></ul></ul>Valores True False
  14. 14. Tipos de variáveis <ul><li>String </li></ul><ul><ul><li>Equivalente ao tipo literal em algoritmos (tamanho máximo de caracteres: 255); </li></ul></ul><ul><ul><li>Exemplo de declaração: </li></ul></ul><ul><ul><li>Em algoritmos: var time: literal </li></ul></ul><ul><ul><li>Em Pascal: var time: String; </li></ul></ul><ul><ul><li>Exemplo de atribuição: </li></ul></ul><ul><ul><li>Em algoritmos: time <- “Sport Recife” </li></ul></ul><ul><ul><li>Em Pascal: time := ‘Sport Recife’; </li></ul></ul>
  15. 15. Tipos de variáveis <ul><li>String </li></ul><ul><ul><li>Podemos limitar o tamanho de um string, utilizando [ + tamanho do texto + ] ao lado da especificação de tipo </li></ul></ul><ul><ul><li>Exemplo de declaração: </li></ul></ul><ul><ul><li>var time: String[10]; </li></ul></ul><ul><ul><li>var sexo: String[1]; </li></ul></ul><ul><ul><li>Var nome_completo: String[100]; </li></ul></ul>
  16. 16. Tipos de variáveis <ul><li>Char </li></ul><ul><ul><li>Equivalente ao tipo literal em algoritmos, porém representa um único caractere; </li></ul></ul><ul><ul><li>Exemplo de declaração: </li></ul></ul><ul><ul><li>Em algoritmos: var sexo: literal </li></ul></ul><ul><ul><li>Em Pascal: var sexo: char; </li></ul></ul><ul><ul><li>Exemplo de atribuição: </li></ul></ul><ul><ul><li>Em algoritmos: sexo <- “M” </li></ul></ul><ul><ul><li>Em Pascal: sexo := ‘M’; </li></ul></ul>
  17. 17. Variáveis <ul><li>Representam os espaços reservados na memória para armazenar informações; </li></ul><ul><li>Funcionamento, declaração e atribuição semelhantes às variáveis utilizadas em algoritmos; </li></ul><ul><li>Assim como em algoritmos, cada variável possui um nome (identificador) e um tipo; </li></ul><ul><li>As regras para criação de nomes de variáveis são as mesmas utilizadas em algoritmos; </li></ul>
  18. 18. Variáveis <ul><li>Regras para identificadores de variáveis: </li></ul><ul><ul><li>Não devem ser extensas demais; </li></ul></ul><ul><ul><li>Caracteres permitidos: números, letras e sublinhado; </li></ul></ul><ul><ul><li>Primeiro caractere é sempre uma letra; </li></ul></ul><ul><ul><li>Identificadores não podem se repetir; </li></ul></ul><ul><ul><li>Não são permitidos caracteres em branco; </li></ul></ul><ul><ul><li>Não são permitidos caracteres especiais; </li></ul></ul><ul><ul><li>Não podemos utilizar palavras reservadas em nomes de variáveis; </li></ul></ul>
  19. 19. Variáveis <ul><li>Exemplos de declaração: </li></ul><ul><li>var numero: integer; </li></ul><ul><li>nome: string; </li></ul><ul><li>sexo: char; </li></ul><ul><li>salario: real; </li></ul>
  20. 20. Palavras Reservadas <ul><li>Nomes utilizados pelo computador para representar comandos, operadores e nomes de seção de programas; </li></ul>
  21. 21. Constantes <ul><li>Variáveis que assumem um determinado valor atribuído e não pode ser alterado ao longo do programa; </li></ul><ul><li>Constantes assumem o tipo de valor a ela atribuído (não é necessária a definição de tipo na declaração!); </li></ul><ul><li>Uma constante, assim como uma variável, deverá ser declarada na área de declarações; </li></ul>
  22. 22. Constantes <ul><li>Para declarar constantes, utilizamos a palavra reservada CONST , seguido do seu identificador (nome) + = + valor da constante + ; </li></ul><ul><li>Exemplos: </li></ul><ul><li>CONST time_professor = ‘Sport Recife’; </li></ul><ul><li>CONST pi = 3.1416; </li></ul><ul><li>CONST max = 10; </li></ul>
  23. 23. Comentários <ul><li>Texto delimitado entre {} ou (* *) </li></ul><ul><li>Seu conteúdo não é compilado; </li></ul><ul><li>Pode conter qualquer tipo de caractere; </li></ul><ul><li>Pode conter mais de uma linha; </li></ul><ul><li>Pode ser colocado em qualquer região do programa; </li></ul><ul><li>Utilizado para documentar código, esclarecer alguma região de código, etc.; </li></ul>
  24. 24. Comentários <ul><li>Exemplo: </li></ul><ul><li>program exemplo; </li></ul><ul><li>{área de declarações} </li></ul><ul><li>Var numero: integer; </li></ul><ul><li>begin </li></ul><ul><li>{lista de instruções} </li></ul><ul><li> write(“Informe um número: ”); </li></ul><ul><li> readln(numero); </li></ul><ul><li> numero := numero + 10; </li></ul><ul><li> write(“Novo número: ”, numero); </li></ul><ul><li>end. </li></ul>
  25. 25. Área de Comandos program exemplo; Var numero: integer; begin write(“Informe um número: ”); readln(numero); numero := numero + 10; write(“Novo número: ”, numero); end. PASCAL <ul><li>Área de Comandos: </li></ul><ul><li>Delimitada pelo BEGIN e END . </li></ul><ul><li>Os comandos são separados entre si </li></ul><ul><li>pelo delimitador ponto-e-vírgula. </li></ul><ul><li>A forma geral é: </li></ul><ul><li>Begin </li></ul><ul><li>< comando >; </li></ul><ul><li>... </li></ul><ul><li>< comando >; </li></ul><ul><li>End. </li></ul>
  26. 26. Comando de atribuição <ul><li>Utilizado para atribuir um valor a uma variável, um resultado de uma expressão ou o valor de outra variável; </li></ul><ul><li>Equivalente ao comando de atribuição <- utilizando em algoritmos; </li></ul><ul><li>Sintaxe em Pascal: </li></ul><ul><li>Nome_variavel := valor, variável ou expressão ; </li></ul>
  27. 27. Comando de atribuição <ul><li>OBS: No comando de atribuição, a variável e seu valor devem ter o mesmo tipo, exceto nos seguintes casos: </li></ul><ul><ul><li>Variáveis reais podem receber valores integer ; </li></ul></ul><ul><ul><li>Variáveis string podem receber valores char ; </li></ul></ul><ul><li>Exemplos: </li></ul><ul><li>nome := ‘Thyago’ ; </li></ul><ul><li>media := (nota1+nota2) / 2 ; </li></ul>
  28. 28. Comandos de Entrada <ul><li>Utilizado para receber dados digitados pelo usuário; </li></ul><ul><li>Funcionamento similar ao comando leia utilizado em algoritmos; </li></ul><ul><li>Comandos de entrada disponíveis em Pascal: </li></ul><ul><ul><li>read </li></ul></ul><ul><ul><li>readln (similar ao read, realizando também a leitura do “new line” (nova linha) após o pressionamento da tecla Enter); </li></ul></ul>
  29. 29. Comandos de Entrada <ul><li>Exemplo: programa que lê o nome e a idade de um usuário: </li></ul><ul><li>program exemplo; </li></ul><ul><li>Var nome: string; </li></ul><ul><li>idade: integer; </li></ul><ul><li>begin </li></ul><ul><li> readln(nome); </li></ul><ul><li>readln(idade); </li></ul><ul><li>end. </li></ul>
  30. 30. Comandos de Saída <ul><li>Utilizado para exibir dados; </li></ul><ul><li>Funcionamento similar ao comando escreva e escreval utilizados em algoritmos; </li></ul><ul><li>Comandos de saída disponíveis em Pascal: </li></ul><ul><ul><li>write (similar ao escreva) </li></ul></ul><ul><ul><li>writeln (realiza a escrita de dados e passa o cursor para a próxima linha). Similar ao escreval </li></ul></ul>
  31. 31. Comandos de Saída <ul><li>No caso de variáveis do tipo integer ou real, podemos apresentar os dados na formatação desejada; </li></ul><ul><li>Exemplo: </li></ul><ul><ul><li>Media := (8 + 2) / 2; </li></ul></ul><ul><ul><li>Writeln(Media); {escreveria 5.00000000E + 01} </li></ul></ul><ul><ul><li>Writeln(Media:0:2); {escreveria 5.00} </li></ul></ul>
  32. 32. Comandos de Saída <ul><li>Exemplo: programa que lê o nome e a idade de um usuário: </li></ul><ul><li>program exemplo; </li></ul><ul><li>Var nome: string; </li></ul><ul><li>idade: integer; </li></ul><ul><li>begin </li></ul><ul><li>writeln(‘Digite seu nome:’); </li></ul><ul><li> readln(nome); </li></ul><ul><li>writeln(‘Digite sua idade:’); </li></ul><ul><li>readln(idade); </li></ul><ul><li>writeln(‘Seu nome: ’, nome); </li></ul><ul><li>writeln(‘Sua idade: ’, idade); </li></ul><ul><li>end. </li></ul>
  33. 33. Operadores Operador Exemplo Comentário := X := 1 O valor 1 é atribuído a variável X. + X + Y Soma o conteúdo de X e de Y. - X – Y Subtrai o conteúdo de Y do conteúdo de X. * X * Y Multiplica o conteúdo de X pelo conteúdo de Y. / X/Y Obtém o quociente da divisão de X por Y. DIV X DIV Y Obtém o quociente inteiro da divisão de X por Y. MOD X MOD Y Obtém o resto da divisão inteira de X por Y. = X = Y Testa se o conteúdo de x é igual ao conteúdo de Y. <> X <> Testa se o conteúdo de x é diferente do conteúdo de Y. >= X >= Y Testa se o conteúdo de x é maior ou igual ao de Y. <= X <= Y Testa se o conteúdo de x é menor ou igual ou de Y. > X > Y Testa se o conteúdo de x é maior do que o conteúdo de Y. < X < Y Testa se o conteúdo de x é menor do que o conteúdo de Y.
  34. 34. Funções Predefinidas Funções Matemáticas Função Comentários ABS (x) Obtém o valor absoluto de x. LOG(x) Obtém o logaritmo de x. TRUNC (x) Obtém a parte inteira do número real armazenado em x. FRAC(x) Obtém a parte fracionária do número real armazenado em x. ROUND (x) Arredonda x. SIN (x) Calcula o seno de x. COS (x) Calcula o cosseno de x. PI Retorna o valor de ¶ SQRT (x) Calcula a raiz quadrada de x. SQR (x) Calcula x elevado ao quadrado. INC (x, Y) Incrementa a variável x com o valor da variável Y. DEC (x,y) Decrementa a variável x com o valor da variável Y
  35. 35. Ambientes de Programação <ul><li>Free Pascal Compiler </li></ul><ul><ul><li>Código aberto e gratuito; </li></ul></ul><ul><ul><li>Interpreta Pascal e Object Pascal; </li></ul></ul><ul><ul><li>Criado em 1993; </li></ul></ul><ul><ul><li>Versões para vários sistemas operacionais; </li></ul></ul>
  36. 36. Ambientes de Programação <ul><li>Dev-Pascal </li></ul><ul><ul><li>Gratuito; </li></ul></ul><ul><ul><li>Código Aberto; </li></ul></ul>
  37. 37. Ambientes de Programação <ul><li>Turbo Pascal </li></ul><ul><ul><li>Compilador Pascal; </li></ul></ul><ul><ul><li>Software Proprietário da Borland International; </li></ul></ul><ul><ul><li>Em 1995, deixou de ser desenvolvido; </li></ul></ul><ul><ul><li>Licença de uso livre; </li></ul></ul>
  38. 38. Ambientes de Programação <ul><li>Pascal ZIM </li></ul><ul><ul><li>Desenvolvido no Departamento de Ciências da Computação da Universidade de Brasília, sendo utilizado pelo curso desde 2000. </li></ul></ul><ul><ul><li>O compilador implementa um subconjunto da linguagem Pascal e contém as estruturas de dados, funções e comandos mais utilizados. </li></ul></ul><ul><ul><li>É freeware. </li></ul></ul>
  39. 39. Ambientes de Programação <ul><li>Download : </li></ul><ul><li>Free Pascal Compiler: http://www.freepascal.eti.br/ </li></ul><ul><li>Dev-Pascal: http://www.bloodshed.net/devpascal.html </li></ul><ul><li>Turbo Pascal: h ttp://www.netdownloads.com.br/Download/2303/Turbo-Pascal-70.html </li></ul><ul><li>Pascal ZIM: http://pascalzim.tripod.com/index.html </li></ul>

×