Algoritmos - Pascal

7,256 views

Published on

Algoritmos - Pascal

Published in: Education
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,256
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
229
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Algoritmos - Pascal

  1. 1. Prof.ª Ms. Eng.ª Elaine Cecília Gatto Algoritmos e Estruturas de Dados Engenharia de Computação Universidade Sagrado Coração PASCAL Parte do material contido nestes slides foi gentilmente cedido pelos Prof. Elvio Gilberto da Silva e pelo Prof. Patrick Pedreira
  2. 2. CONCEITOS BÁSICOS DE ALGORITMOS
  3. 3. INTRODUÇÃO A finalidade de um computador é receber, manipular e armazenar dados. O computador só consegue armazenar dados em discos, imprimir relatórios, gerar gráficos, realizar cálculos, entre outras funções, por meio de programas.
  4. 4. Portanto, sua finalidade principal é realizar a tarefa de processamento de dados, isto é, receber dados por um dispositivo de entrada (por exemplo, teclado, mouse, scanner, entre outros), realizar operações com esses dados e gerar uma resposta que será expressa em um dispositivo de saída (por exemplo, impressora, monitor de vídeo, entre outros).
  5. 5. PROCESSAMENTO DE DADOS Informações Iniciais Dispositivos de Entrada + Operações sobre as Informações Resposta Memória (CPU) Dispositivo de Saída
  6. 6. Portanto um computador tem duas partes diferentes que trabalham juntas... o hardware composto pelas partes físicas. o software composto pelos programas.
  7. 7. Etapas para o desenvolvimento de um Programa Análise: nessa etapa estuda-se o enunciado do problema para definir os dados de entrada, o processamento e os dados de saída. Algoritmo: onde ferramentas do tipo descrição narrativa, fluxogramas ou português estruturado são utilizados para descrever o problema com suas soluções.
  8. 8. Etapas para o desenvolvimento de um Programa Codificação: onde o algoritmo é transformado em códigos da linguagem de programação escolhida para se trabalhar.
  9. 9. Portanto, um programa é a codificação de um algoritmo em uma determinada linguagem de programação (ASCENCIO, 1990).
  10. 10. Conceito de ALGORITMO “Algoritmo é uma seqüência de passos que visa atingir um objetivo bem definido” (FORBELLONE, 1999). “Algoritmo é uma seqüência finita de instruções ou operações cuja execução, em tempo finito, resolve um problema computacional, qualquer que seja sua instância” (SALVETTI, 1999).
  11. 11. Conceito de ALGORITMO “Algoritmo são regras formais para a obtenção de um resultado ou da solução de um problema, englobando fórmulas de expressões aritméticas” (MANZANO, 1997).
  12. 12. Algoritmos Computadores são máquinas que executam comandos (instruções). Comandos: operações lógicas e aritméticas que quando realizadas em determinada seqüência produzem um efeito. Exemplo: Seqüência de comandos para calcular a média entre dois números  Início  Receber Número 1  Receber Número 2  Somar Número 1 e Número 2  Dividir a soma por por 2  Fim.
  13. 13. Algoritmo Algoritmo é uma seqüência de passos que deve ser executada para a resolução de uma tarefa (ASCENCIO, 1999). Algoritmo para Acordar Início 1.Abrir olhos; 2.Levantar da cama; 3.Ir ao Banheiro; 4.Escovar Dentes; 5.Pentear Cabelo; 6.Trocar Roupa; 7.Tomar Café; 8.Arrumar Cama; 9.Sair de Casa; Fim.
  14. 14. Maneiras de se construir um algoritmo Inicio 1.Abrir olhos 2.Levantar da cama 3.Ir ao Banheiro 4.Escovar Dentes 5.Pentear Cabelo 6.Trocar Roupa 7.Tomar Café 8.Arrumar Cama 9.Sair de Casa Fim Início 1.Abrir olhos; 2.Levantar da cama; 3.Trocar Roupa; 4.Ir ao Banheiro; 5.Pentear Cabelo; 6.Escovar Dentes; 7.Tomar Café; 8.Arrumar Cama; 9.Sair de Casa; Fim.
  15. 15. Trocando a Lâmpada Quais os passos para se trocar uma Lâmpada?
  16. 16. Trocando a Lâmpada • E se a Lâmpada estiver queimada? • Verificar se uma lâmpada está queimada e caso ela esteja, trocá-la;
  17. 17. Trocando a Lâmpada • E se a lâmpada nova estiver queimada? • Trocar uma lâmpada, considerando que a lâmpada nova pode estar queimada
  18. 18. Trocando a Lâmpada • E se tivermos uma sala com 10 soquetes (10 lâmpadas para serem trocadas) • Verificar as lâmpadas dos dez soquetes e trocar as queimadas • Considerar que as lâmpadas novas podem estar queimadas
  19. 19. Como representar algoritmos • Até agora representamos algoritmos por linguagem natural • Algoritmos também podem ser representados por formas gráficas • Mais puras • Representação mais clara • Mais trabalhosas
  20. 20. Fluxograma do Algoritmos Trocar Lâmpada Início 1. Pegar uma lâmpada nova 2. Pegar uma escada 3. Abrir a escada 4. Subir na escada 5. Remover a lâmpada 6. Colocar a lâmpada nova Fim.
  21. 21. Fluxograma do Algoritmo Trocar Lâmpada Início 1. Acionar O Interruptor 2. Se a Lâmpada não acender 1. Pegar uma lâmpada nova 2. Pegar uma escada 3. Abrir a escada 4. Subir na escada 5. Remover a lâmpada 6. Colocar a lâmpada nova Fim.
  22. 22. Fluxograma do Algoritmo Trocar Lâmpada Início 1. Acionar O Interruptor 2. Se a Lâmpada não acender 1. Pegar uma lâmpada nova 2. Pegar uma escada 3. Abrir a escada 4. Subir na escada 5. Remover a lâmpada 6. Colocar a lâmpada nova 7. Enquanto Lâmpada não Acender 1. Remover a Lâmpada queimada 2. Colocar Lâmpada nova Fim.
  23. 23. Linguagens de Programação • Considere a seguinte frase: “O policial escutou o barulho da porta.” Quantas interpretações podemos ter para essa frase? • 1 - O policial escutou o barulho produzido pela porta. • 2 - O policial escutou o barulho que veio através da porta. O computador não é capaz de interpretar essa frase. A linguagem do computador não pode ter ambiguidade.
  24. 24. Linguagens de Programação • Possuem regras bem definidas • Comandos não tem ambiguidade • Exemplos: • Pascal •C • C++ • Java • C#
  25. 25. Pseudocódigo • Pseudocódigo • Pseudocódigo é uma forma genérica de escrever um algoritmo, utilizando uma linguagem simples (nativa a quem o escreve, de forma a ser entendida por qualquer pessoa) sem necessidade de conhecer a sintaxe de nenhuma linguagem de programação. É, como o nome indica, um pseudo-código e, portanto, não pode ser executado num sistema real (computador) — de outra forma deixaria de ser
  26. 26. Pseudocódigo • Pseudocódigo • Entre as vantagens está a possibilidade de utilização do idioma nativo • Maioria das ling. de prog. usam termos em inglês • Porém ainda deve ser mantida rigidez semântica • Ele é intermediário entre a linguagem natural e a linguagem de programação • Um pseudocódigo bastante conhecido no Brasil é o Portugol • Simples • Rigidez mantida • Usa o português • Usaremos o Portugol com pequenas variações
  27. 27. Passos para elaboração de um programa 1. Compreender o problema. 2. Esboçar um procedimento para resolver o problema. 3. Formular o algoritmo (Pseudocódigo). 4. Traduzir o algoritmo para uma linguagem de programação (Codificação).
  28. 28. Passos para elaboração de um programa :: Exemplo • Programa para mostrar o resultado da multiplicação de dois números inteiros programa multiplicacao_numeros; var a,b,resultado:inteiro; início escreva (‘indique o primeiro número’); leia(a); escreva (‘indique o segundo número’); leia(b); resultadoa*b; escreva (‘o resultado é:’, resultado); fim
  29. 29. Estrutura Seqüencial em Linguagem Pascal PROGRAM nome; USES nomes das unidades; VAR nome das variáveis: tipo; BEGIN bloco de comandos; END Unidades são as bibliotecas utilizadas pela linguagem Pascal para a correta execução do Programa.
  30. 30. A unidade CRT/ WinCrt é obrigatória em todos os programas, pois faz a adequação do hardware com o seu programa.
  31. 31. Declaração de Variáveis em Pascal As variáveis são declaradas após a palavra VAR e os tipos mais utilizados são:  INTEGER  REAL (para números inteiros) (para números reais)  CHAR (para um caractere)  STRING (para vários caracteres)  BOOLEAN (para verdadeiro ou falso)
  32. 32. Exemplo var x: integer; y, z: real; nome: string; sexo: char; teste: boolean;
  33. 33. Declaração de Variáveis em Pascal Os identificadores são os nomes das variáveis, dos programas, das constantes, das rotinas e unidades, entre outras. As regras básicas para a formação dos identificadores são:  Podem ter qualquer tamanho. Entretanto, apenas os 63 primeiros caracteres são utilizados pelo compilador;  Os caracteres que você pode utilizar na formação dos identificadores são: os números, as letras maiúsculas, as letras minúsculas e o caractere sublinhado;
  34. 34. Declaração de Variáveis em Pascal (continuação...)  O compilador NÃO FAZ distinção entre letras maiúsculas e minúsculas;  O primeiro caractere deve ser sempre uma letra ou o caractere sublinhado;  NÃO são permitidos espaços em branco e caracteres especiais tais como: @, $, +, -, %, !);  NÃO é permitido usar palavras RESERVADAS. RESERVADAS
  35. 35. Palavras reservadas: São nomes utilizados pelo compilador para representar comandos, operadores e nomes de seções dos programas. As palavras reservadas da linguagem Pascal são: AND END NIL SHR ASM FILE NOT STRING ARRAY FOR OBJECT THEN BEGIN FUNCTION OF TO CASE GOTO OR TYPE
  36. 36. Palavras reservadas (continuação)... CONST IF PACKED UNIT CONSTRUCTOR IMPLEMENTATION PROCEDURE UNTIL DESTRUCTOR IN PROGRAM USES DIV INLINE RECORD VAR DO INTERFACE REPEAT WHILE DOWNTO LABEL SET WITH ELSE MOD SHL XOR
  37. 37. Comando de Atribuição em Pascal O comando de atribuição é utilizado para atribuir valores ou operações a variáveis, sendo representado por := (o sinal de dois pontos e o sinal de igual).
  38. 38. Exemplos x := 4; x := x + 2; y := 2.5; nome:=‘Aula’; sexo := ‘F’; teste := false;
  39. 39. Em PASCAL os caracteres literais são representados entre apóstrofos simples e os números reais utilizam o ponto como separador decimal.
  40. 40. Comando de Entrada em Pascal O comando de entrada é utilizado para receber dados digitados pelo usuário. Os dados recebidos são armazenados representado em variáveis. pela Esse palavra comando é READLN. Sintaxe: Readln(nome_da_variável); Readln(nome_da_variável1, nome_da_variável2);
  41. 41. Exemplo Nº 1 READLN(x); Neste exemplo acima, um valor será digitado pelo usuário e armazenado na variável x. Exemplo Nº 2 READLN(NOME); Um ou vários caracteres digitados armazenados na variável NOME. pelo usuário serão
  42. 42. Comando de Saída em Pascal O comando de saída é utilizado para mostrar dados na tela ou na impressora. Esse comando é representado pelas palavras WRITE ou WRITELN e os dados podem ser conteúdos de variáveis ou mensagens. Sintaxe: WRITE(nome_da_variável); WRITELN(nome_da_variável); WRITE(‘mensagem’); WRITELN(‘mensagem’); WRITE(‘mensagem’,nome_da_variável); WRITELN(‘mensagem’,nome_da_variável);
  43. 43. Exemplo Nº 1 WRITELN(x); WRITE(x); Mostra o valor armazenado na variável x. Exemplo Nº 2 WRITELN(‘Conteúdo de Y =‘,Y); WRITE(‘Conteúdo de Y = ‘,Y); Mostra a mensagem “Conteúdo de Y = “ e em seguida o valor armazenado na variável Y.
  44. 44. A diferença entre esses comandos (WRITE e WRITELN) é que o comando WRITELN mostra o seu conteúdo e passa o cursor para a linha de baixo, enquanto que o comando WRITE mantém o cursor na mesma linha, após mostrar a mensagem.
  45. 45. Operadores e Funções Predefinidas em Pascal OPERADOR FUNÇÃO + Somar - Subtrair * Multiplicar / Dividir div Quociente inteiro mod Resto da divisão
  46. 46. Operadores e Funções Predefinidas em Pascal (continuação)... OPERADORES OPERANDOS RESULTADO + Z ou R Z ou R - Z ou R Z ou R * Z ou R Z ou R / Z ou R Z ou R div Z Z mod Z Z Z= Inteiro R=Real
  47. 47. Os operadores DIV e MOD só podem ser aplicados com operandos inteiros. Com os operadores +, -, * e /, se pelo menos um dos operandos for real, então o resultado será real.
  48. 48. Operadores Predefinidas (continuação)... e em Funções Pascal OPERADOR FUNÇÃO = Igual <> Diferente <= Menor igual >= Maior igual < Menor > Maior
  49. 49. Operadores e Funções Predefinidas em Pascal (continuação)... FUNÇÃO ARGUMENTO RESULTADO PASCAL Z ou R R EXP(X) Parte inteira de x R Z TRUNC(x) Arredondar x R Z ROUND(x) Parte fracionária de x R Z FRAC(x) Raiz quadrada de x Z ou R R SQRT(x) x2 Z ou R Z ou R SQR(x) Incrementar Z Z INC(x, valor) Decrementar Z Z DEC(x, valor) ex
  50. 50. EXERCÍCIOS 1. Faça um programa que receba quatro números inteiros, calcule e mostre a soma desses números. 2. Faça um programa que receba três notas, calcule e mostre a média aritmética entre elas.
  51. 51. ATENÇÃO: SINTAXE PARA FORMATAÇÃO Variável:número total de casas:número de casas decimais
  52. 52. Exemplos de Formatação X:6:2 No exemplo acima a variável x será exibida com seis casas, duas casas para a parte decimal, uma casa para o ponto e as quatro casas restantes para a parte inteira. Y:8:3 A variável y será exibida com oito casas, sendo que dessas oito casas, três casas para a parte decimal, uma casa para o ponto e as quatro casas restantes para a parte inteira.
  53. 53. 3. Faça um programa que receba três notas e seus respectivos pesos, calcule e mostre a média ponderada dessas notas.
  54. 54. Solução dos exercícios (1) program soma_numeros; Uses WinCrt; var a,b,c,d,soma:integer; begin Writeln('Digite o primeiro número: '); Read(a); Writeln('Digite o segundo número: '); Read(b); Writeln('Digite o terceiro número: '); Read(c); Writeln('Digite o quarto número: '); Read(d); soma:=a+b+c+d; Writeln('A soma é = ',soma); end.
  55. 55. Solução dos exercícios (2) program media_aritmetica; uses WinCrt; var a,b,c,media:real; begin Writeln('Digite a primeira nota: '); Read(a); Writeln('Digite a segunda nota: '); Read(b); Writeln('Digite a terceira nota: '); Read(c); media:=(a+b+c)/3; Writeln('A media é = ',media:3:2); end.
  56. 56. Solução dos exercícios (3) program media_ponderada; uses WinCrt; var a,b,c,d,e,f,media:real; begin Writeln('Digite a primeira nota: '); Read(a); Writeln('Digite o peso da primeira nota: '); Read(b); Writeln('Digite a segunda nota: '); Read(c); Writeln('Digite o peso da segunda nota: '); Read(d); Writeln('Digite a terceira nota: '); Read(e); Writeln('Digite o peso da terceira nota: '); Read(f); media:=(a*b)+(c*d)+(e*f); Writeln('A media é = ',media:3:2); end.

×