1 / 66

LA SALLE Curso Técnico em Informática

LA SALLE Curso Técnico em Informática. Método de Programação Prof. Esp. Valter N. Silva e-mail: nei@portoweb.com.br Tel: (0XX) (51) 9991-5369. Algoritmo.

tana
Télécharger la présentation

LA SALLE Curso Técnico em Informática

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LA SALLECurso Técnico em Informática Método de Programação Prof. Esp. Valter N. Silva e-mail: nei@portoweb.com.br Tel: (0XX) (51) 9991-5369

  2. Algoritmo • Produzir um programa para um computador é definir, detalhadamente, os passos lógicos que o computador precisa seguir para executar uma determinada tarefa. • Só é possível informar ao computador o que fazer se tivermos uma idéia clara de como pretendemos que ele faça o que desejamos.

  3. Algoritmo • Está aí dificuldade de programação: mostrar que um dado problema pode ser resolvido por um conjunto seqüencial de instruções. Neste sentido, primeiro raciocinamos sobre o assunto, tentando definir com clareza os passos necessários para a solução imaginada e, por fim codificamos em uma linguagem que o computador possa entender.

  4. Dentre as formas de representação de algoritmos mais conhecidas sobressaltam: • Descrição Narrativa; • Fluxograma Convencional; • Pseudocódigo, conhecida como Linguagem estruturada ou Portugol.

  5. Descrição Narrativa: Receita de bolo: Misture os ingredientes Unte a forma com manteiga Despeje a mistura na forma Se houver coco ralado então despeje sobre a mistura Leve a forma ao forno Enquanto não corar Deixe a forma no forno Retire do forno Deixe esfriar

  6. Fluxograma Convencional Início Ler N1, N2 Média (N1+N2)/2 “Reprovado” Média > 7 .S. .N. “Aprovado” Fim

  7. Pseudocódigo ou Linguagem Estruturada Algoritmo Média Var N1, N2, Média : real Início Leia N1, N2 Média  (N1 + N2) / 2 Se Média < 7 Então Escreva “Reprovado” Senão Escreva “Aprovado” Fim_se Fim.

  8. Dados Numéricos O conjunto dos números naturais é representado por N e é dado por: N = {1,2,3,4,...) Conjunto dos números inteiros. Z = { ...,-3,-2,-1,0,1,2,3,...} Conjunto de números reais. PI = 3,14159

  9. Dados Numéricos Inteiros Os números inteiros são aqueles que não possuem componentes decimais ou fracionários, podendo ser positivos ou negativos. Exemplo de números inteiros: 28 – número inteiro positivo 0 – número inteiro -12 – número inteiro negativo

  10. Dados Numéricos Reais Os dados de tipo real são aqueles que podem possui componentes decimais ou fracionários, e podem também ser positivos ou negativos. Exemplo de dados do tipo real: 24.01 – número real positivo com duas casas decimais 144. - número real positivo com zero casas decimais -13.3 - numero real negativo com uma casa decimal 0.0 - número real com uma casa decimal 0. - número real com zero casas decimais

  11. Dados Literais (caracter) O tipo de dados literal é constituído por uma seqüência de caracteres contendo letras, dígitos e/ou símbolos especiais. Este tipo de dados é também muitas vezes chamado de alfanumérico, (0..9 – A ..Z, a .. Z) carateres especiais ( #, /, %, *, ?, ~, !, @ ...) cadeia (ou cordão) de caracteres, ou ainda, do inglês , STRING. Obs.: Os dados literais são representados nos algoritmos pela coleção de caracteres , delimitada em seu início e término com o caracteres aspas ( “ ). Exemplos: “QUANDO ?” - Literal de comprimento 8 “ ” - Literal de comprimento 1 “1-2+7=“ - Literal de comprimento 6

  12. Dados Lógicos O tipo de dados lógico é usado para representar dois únicos valores lógicos possíveis: verdadeiro e falso. É comum encontrar referências como tipos de valores lógicos como sim/não, 1,0, true/false. (dois estados) Exemplo: .V. - valor lógico verdadeiro .F. - valor lógico falso

  13. Algoritmos Seqüenciais. • Consiste de comandos de atribuição de entrada e saída encadeados em uma seqüência. • 1 Escrever um algoritmo que leia 3 notas de um aluno e calcule a média aritmética. Ao final escreva a média.

  14. Algoritmo de notas • Programa Notas • Variáveis • MA, N1, N2, N3: real • Início • Ler (N1, N2,N3) • MA : = (N1+N2+N3) / 3 • Escrever “Média Aritmética: “ , MA • Fim do Algoritmo.

  15. Exemplo 2  Faça um Algoritmo que calcule as raízes de uma equação de 2º grau, a partir dos coeficientes A,B,C fornecidos pelo usuário.

  16. Algoritmo • Programa calculo; • Variáveis • A,B, C, X1, X2 : real; • Início • Ler (A, B,C) • X1 : = (-B+SQRT(B*B-4*A*C) / 2 * A • X2 : = (-B-SQRT(B*B-4+A+C)/2*A • Escrever “As Raízes: “ ,X1,X2 • Fim

  17. Atenção Para que um computador possa desempenhar uma tarefa é necessário que esta seja detalhada passo a passo numa forma compreensível pela máquina, utilizando aqui que se chama de programa. Neste sentido, um programa de computador nada mais é que um algoritmo escrito numa forma compreensível pelo computador.

  18. Para se ter um algoritmo é necessário preciso: • Que se tenha um número finito de passos • Que cada passo esteja precisamente definido; • Que existam entradas ou valores iniciais; • Que existam uma ou mais saídas; • Que exista uma condição de fim.

  19. Elementos de um algoritmo • Seqüência; • Seleção; • Repetição condicional; • Repetição contada;

  20. Tipos Primitivos de Dados A elaboração de qualquer algoritmo seria impossível se desconsiderasse as estruturas de dados envolvidos, pois todo o trabalho do computador está baseado na manipulação das informações contidas na sua memória.

  21. Declaração de variáveis Var <nome da variável>:<Tipo primitivo de dados> Ou <lista de variáveis>:<Tipo primitivo de dados> Sintaxe: var idade :inteiro salario, inflacao :real endereco :caracter verdade :logico

  22. Tipos de informações As informações tratadas em um algoritmo podem ser classificadas em dois tipos: Constantes  Informações que não sofrem alterações com o decorrer da execução do algoritmo. Sintaxe: const nome := “Angela” mensagem := “Bom noite !” UF : = “RS” Instrução de atribuição muito utilizado nos algoritmos como () e na programação em pascal (:=)

  23. Variáveis: Informações que tem a possibilidade de serem alteradas em algum instante no decorrer da execução do algoritmo ( programa). Sintaxe: var nome : caracter; salario : real; idade : inteiro;

  24. Comando de atribuição Comando de atribuição <variável> := <expressão>

  25. Estrutura de um algoritmo Algoritmo < nome do algoritmo > Var < declaração de variáveis > Const < declaração de constante > Inicio escrever ler testar calcular Fim. Comandos

  26. Comando de entrada e saída Entrada: ler < lista de variáveis> Saída: escrever < lista de variáveis> Exemplo: Ler A, B, C calcular Escrever “A media do aluno é: “, media

  27. Algoritmos Condicional. 1  Faça um algoritmo que receba 3 números reais diferentes e informe qual é o maior . Algoritmo nros; Var A, B, C : inteiro; Ler A, B e C Se A é Maior que B Então Se A é Maior que C Escrever “A é o maior” Senão Escrever “C é o maior” Fim Se Senão Então Se B é maior que C Escrever “B” é o maior” Senão Escrever “C é o maior” Fim Se Fim Se Fim do Algoritmo.

  28. 2  Leia número, nome e salário atual de um funcionário. Calcule o novo salário com um reajuste de 10 %. Escreva o número, nome e salário novo ao final da leitura do registro. • Algoritmo Salário • Var • nro : inteiro • nome : Literal[30] • salário : real • inicio • ler nro, nome, salário • salário := (salário * 1.10) • escrever (número, nome, salário) • fim.

  29. 3 - Leia o ano de nascimento de uma pessoa e calcule sua idade. Caso seja maior ou igual à 21 anos exiba a seguinte mensagem: “Maior de idade” caso contrário “Menor de idade”. Algoritmo idade Var Ano_nasc: inteiro; Ano_atual: inteiro; Idade: inteiro; Inicio Ler ano_atual Ler ano_nasc Idade := (ano_atual – ano_nasc) Escrever idade Se idade >= 21 Então Escrever “Maior de idade” Senão Escrever “Menor de idade” Fim.

  30. Fluxograma • Exemplo: Ler salário de funcionários da empresa XYZ e conceder reajuste salarial conforme os cargos. Aos Técnicos o reajuste será de 50 %, os Gerentes 30 % e aos demais 10 %.

  31. Algoritmo • Programa reaj_salario; • Var Salario, sal_reaj : real; • Prof : literal[20]; • Início; • Leia salário, prof; • Escolha • Caso prof = “Técnico” • Sal_reaj 1.5 * salário • Caso prof = “Gerente” • Sal_reaj 1.3 * salário • Senão • Sal_reaj 1.1 * salário • Fim escolha • Escrever “ Salario Reajuste = “ ; Sal_reaj; • Fim.

  32. Fluxograma seguido de algoritmo Algoritmo Program reaj_salario; var Salario, Sal_reaj : real; Prof : literal[20]; Início; Leia salário, prof; Escolha Caso prof = “Técnico” Sal_reaj 1.5 * salário; Caso prof = “Gerente” Sal_reaj 1.3 * salário; Senão Sal_reaj 1.1 * salário; Fim escolha Escrever “Salário Reajustado”, Sal_reaj; Fim. Início Ler Salário Prof.. Prof = “Técnico”. V Sal_Reaj. 1.5 * Salário V Prof = “Gerente”. Sal_Reaj. 1.3 * Salário F Sal_reaj. 1.1 * Salário “Salário Reajustado”, Sal_reaj Fim

  33. Fluxograma seguido de algoritmo Algoritmo Média Var N1, N2, Média : real Início Leia N1, N2 Média  (N1 + N2) / 2 Se Média < 7 Então Escreva “Reprovado” Senão Escreva “Aprovado” Fim_se Fim. Início Ler N1, N2 Média (N1+N2)/2 .N. “Reprovado” Média > 7 .S. “Aprovado” Fim

  34. Exercícios 1)Desenvolver um algoritmo que leia a altura, largura e profundidade após calcule o perímetro. Programa área; Variavel A,L,P : integer; Início Escrever(‘Altura:’); ler(A); Escrever(‘Largura:’); ler(L); Escrever(‘Profundidade:’); ler(P); escrever(‘Resposta: ‘,A*L*P,’cm3); fim.

  35. 1) Ler 10 nº e mostre a quantidade de nº negativos e positivos. Programa ler_num; variavel X,N,POS,NEG : inteiro; início limpar tela; escrever(´Informe 10 numeros´); X:= 1; enquanto (X< 11) faça início ler(N); se (N < 0 ) então neg := neg +1 senão pos := pos + 1; fim. X:=X +1; escrever(´Numeros positivos: ´, POS); escrever(´Numeros negativos:´, NEG); fim Fim.

  36. 2) Digite um número que não seja negativo, caso ocorra de um ser negativo escreva-o na tela e envie esta mensagem  Este número eh negativo, quando o número for positivo você enviará duas mensagens:  Você digitou certo  Este número não é negativo programa nro_correto; variável numero : real; início escrever(´Digite um numero não negativo´); ler(numero); se numero < 0 então início escrever(´Voce digitou : ´, numero); escrever(´Este numero eh negativo´); fim senão início escrever(´Voce digitou certo: ´, numero); escrever(´Este valor não eh negativo´); fim; fim.

  37. Atenção !!! - repete o bloco de comandos até que a condição seja verdadeira; - não é necessário incluir inicioe fim para especificar o bloco de comandos pertencentes ao comando repetir; - como a condição é testada somente no final do comando, o bloco de comandos do repetir é executado pelo menos uma vez.

  38. Algoritmo 1 – Conhecer dois valores (variáveis A e B); 2 - Efetuar a soma dos valores A e B e implicar o valor da soma em X; 3 – Verificar se X e maior ou igual 10, caso sim mostre X+5, senão mostre X-7. Programa ADICIONA_NUMEROS; Var X, A, B : integer; Inicio escrever(‘Informe um valor para a variável A: ‘); ler(A); escrever(‘Informe um valor para a variável B: ‘); ler(B); X := A + B; escrever(‘O resultado equivalente a: ‘); se (X >= 10) então então(X + 5) senão então(X – 7); fim.

  39. Operadores Aritméticos As quatro operações básicas: +  adição - subtração * multiplicação /  divisão

  40. Operadores Relacionais e Lógicos < menor que > maior que <= menor ou igual que >= maior ou igual que = igual a <> diferente de e; ou; não negação

  41. Operadores Lógicos Existem ocasiões onde é necessário trabalhar com o relacionamento de duas ou mais condições ao mesmo tempo na mesma instrução se...então, efetuando desta forma testes múltiplos. Para estes casos é necessário trabalhar com a utilização dos operadores lógicos, também conhecidos como operadores boleanos.

  42. Os operadores relacionais são três: e, ou e não. Em alguns casos, o uso de operadores lógicos evita a utilização de muitas instruções se...senão encadeadas.

  43. PONTO E VÍRGULA: O ponto e vírgula no Algoritmo (Turbo Pascal) indica o fim do comando e sua presença é obrigatória. INÍCIO E FIM DE PROGRAMA: Todos os programas em Algoritmo (Turbo Pascal) devem começar e terminar desse modo:  programa Exemplo; . . início . . fim. O "programa" indica o início do programa; "Exemplo" é um nome qualquer dado ao programa; “início" indica o início e ‘fim" o fim do processamento.

  44. Operador Lógico: E O operador do tipo E é utilizado quando dois ou mais relacionamentos lógicos de uma determinada condição necessitam ser verdadeiros. Abaixo é apresentada a tabela verdade para este tipo de operador: Condição 1 Condição 2 Resultado Falsa Falsa Falso Falsa Verdadeira Falso Verdadeira Falsa Falso Verdadeira Verdadeira Verdadeiro

  45. O operador E faz com que somente seja executada uma determinada operação se todas as condições mencionadas forem simultaneamente verdadeiras, gerando assim um resultado lógico verdadeiro. Exemplo: programa TESTA_LOGICA_E; var numero : inteiro; início escrever('Informe um número: '); ler(numero); se (numero >= 20) e (numero <= 90) então escrever('O número está  na faixa de 20 a 90') senão escrever('O número está  fora da faixa de 20 a 90'); fim.

  46. Operador Lógico: OU O operador o tipo ou é utilizado quando pelo menos um dos relacionamentos lógicos (quando houver mais de um relacionamento) de uma condição necessita ser verdadeiro. Abaixo é apresentada a tabela verdade para este tipo de operador: Condição 1 Condição 2 Resultado Falsa Falsa Falso Verdadeira Falsa Verdadeiro Falsa Verdadeira Verdadeiro Verdadeira Verdadeira Verdadeiro

  47. Exemplo: programa TESTA_LOGICA_OR; var sexo : literal; início escrever('Entre com o seu sexo: '); ler(sexo); escrever; se sexo = 'masculino' ou sexo = 'feminino' então escrever('O seu sexo ‚ válido') senão escrever('O seu sexo ‚ inválido'); fim.

  48. Operador Lógico: NÃO O operador do tipo não é utilizado quando se necessita estabelecer que uma determinada condição deve não ser verdadeira ou deve não ser falsa. O operador não se caracteriza por inverter o estado lógico de uma condição. Abaixo é apresentada a tabela verdade para este tipo de operador: Condição 1 Resultado Verdadeira Falso Falso Verdadeiro

  49. O operador não faz com que seja executada uma determinada operação, invertendo o resultado lógico da condição. Veja o exemplo a seguir: programa TESTA_NÃO_LOGICA; var A, B, C, X : inteiro; início; escrever('Entre um valor para a variável A: '); ler(A); escrever('Entre um valor para a variável B: '); ler(B); escrever('Entre um valor para a variável X: '); ler(X); senão (X > 5) então C := (A + B) * X senão C := (A - B) * X; escrever('O resultado da variável C corresponde a: ', C); fim.

  50. Os Loopings Existem situações onde é necessário repetir um determinado trecho de um programa um número de vezes. Isto pode ser conseguido de duas formas: a primeira, onde será escrito o mesmo trecho tantas vezes quanto necessário, um tanto trabalhoso, e a Segunda forma onde poderá ser utilizado o conceito de looping. Os loopings são conhecidos também por: laços ou malhas. A principal vantagem em se utilizar o conceito de looping é que passa a ter um tamanho menor.

More Related