1 / 52

Programação de computadores

Programação de computadores. Algoritmos e programação. Programação. Conceito: Conjunto de métodos , técnicas e procedimentos para elaboração de um SW. Pessoas Usuário: usa o SW como ferramenta de trabalho

stuart
Download Presentation

Programação de computadores

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. Programação de computadores Algoritmos e programação

  2. Programação • Conceito: Conjunto de métodos, técnicas e procedimentos para elaboração de um SW. • Pessoas • Usuário: usa o SW como ferramenta de trabalho • Programador: define e codifica comandos a serem realizados em SW, utilizando-se uma linguagem de programação

  3. Programação • Primórdios: • Desenvolvimento era uma arte (artesanal) • Exigia conhecimentos profundos de HW, muito criatividade e raciocínio lógico • Não existiam métodos formais • Atualmente: • Ainda exige criatividade e raciocínio lógico • SWsdevem fáceis de serem entendidos por outros programadores, • Devem ter poucos erros e possuir bom desempenho • Uso da programação estruturada

  4. Algoritmos x problemas Problema: Qualquer questão levantada para se chegar a uma decisão/solução. Solução: É necessário conhecer, entender os domínios do problema Algoritmo: É uma sequênciaordenada e finita de etapas, cuja execução resolve um determinado problema.

  5. Algoritmos x problemas Problema Algoritmo Solução • Exemplos de problemas: • Realizar saque em um caixa automático • Beber água • Comandos com sequência, desvio, repetição • Algoritmos podem ser reutilizados: • Outras pessoas, máquinas, ocasiões, linguagens

  6. Exercício • Escreva um algoritmo para: • Ir de casa até a faculdade • Preparar café na cafeteira elétrica • Procurar o significado de uma palavra no dicionário

  7. Estruturar algoritmos • A codificação é a fase da programação em que transcrevemos um algoritmo para uma linguagem de programação. • É a etapa mais fácil. • O difícil é saber o quê programar: • O que é o problema? • Como modelar uma solução? • Qual seu algoritmo?

  8. Nossos algoritmos • Características: • Conversão fácil: notação próxima às ling. de programação • Objetividade: evitar ambiguidades, maior precisão • Fácil entendimento: entendido por pessoas , ao invés de máquinas. • Foco no problema: não é específica para uma ling. de programação.

  9. Computadores X programas Sequência de comandos e dados Memória principal(RAM) CPU Busca sequencial de comandos Saída Programa Monitor, impressora, modem, placa de som Memória secundária Dispositivo de entrada Sistema Operacional

  10. Português estruturado • É uma pseudolinguagem (pseudocódigo) que representa em alto nível algoritmos. • Existem outras formas • Também conhecido como portugol • Características: • Conj. limitado de comandos • Constrói algoritmos simples e complexos • Interpretação única • Permite criar uma lista ordenada de comandos

  11. Português estruturado • Léxico: escrita correta de uma palavra • Hematoma ou ematoma ? • Sintaxe: sequência de regras a serem seguidas • Frase deve ser composta de sujeito, depois verbo e por último predicado. • Exemplo: Vou beber água. • Semântico: Rege o sentido de uma frase • Exemplo: Vou beber água benta.

  12. Português estruturado • Tipos de dados • Inteiros: -100, 0, 300 • Real: (fracionários)-3.1415, 0.99, +11.1 • Lógico: verdadeiro ou falso • Caractere: “a”, “!”, “@”, “9” • Cadeia de caracteres (String): ‘undb’, ‘(98) 8181-8888’ • Identifique os tipos dos dados a seguir: • Salário, nº de dedos, peso, saldo, aprovação no vestibular, cep, logradouro, placa, PI, arroba

  13. Português estruturado • Operadores aritméticos: binários • Soma: + • Subtração: - • Multiplicação: * • Divisão real: / • Quociente da divisão inteira: # • Resto da divisão inteira: % • Potência: ^ • Operadores aritméticos: unário • Oposto: - • Positivo: +

  14. Português estruturado • 2+3 • 3.2*9 • 8 * • 2-9 • 11#3 • 11%3 • 7.4 #2 • 7.4%2 • 7.4/2 • %3 • -(2^10) • -(4+10)*3.0 • (8/0)+1 • Classifique as operações em corretas ou erradas, e dê o resultado

  15. Português estruturado • Igual a: = • Maior que: > • Maior que: < • Maior ou igual a: >= • Menor ou igual a: <= • Diferente: <> • Operadores relacionais: relação entre dois elementos. • Resultam em valor lógico.

  16. Português estruturado • 3>4 • 10>=9 • -1>-2 • 7.3 <> 7.2 • <10 • Dê o resultado das seguintes expressões relacionais

  17. Português estruturado • Operador NÃO (negação) • Operador E (conjunção) • Operador OU (disjunção) • Operador XOU (disjunção exclusiva) • Operadores lógicos: estendem o uso dos operadores relacionais.

  18. Português estruturado

  19. Português estruturado • 3>4 ou 10>=9 • (-1>-2) e (7.3 <> 7.2) • Não (10 < 10) • (5<=(10/2)) xou (não(não (falso))) • Dê o resultado das seguintes expressões relacionais

  20. Português estruturado • Funções: • São subprogramas • Geram valores de saída (resultado) • Devem ser criados preferencialmente quando trechos de código se repetem pelo programa • Organizam os programas • Dividir para conquistar • Facilita: • Entendimento • Detecção de erros • Manutenção

  21. Português estruturado • Funções: sintaxe (uso) • <nomeFunção> (<p1>, <p2>, ..., <pn>) • p = parâmetro, variável ou valor de qualquer tipo • <> indicam onde os valores devem ser escritos • Exemplos: • raiz(x) • abs(x) • arred(x) • trunc(x) • quad(x)

  22. Português estruturado • Prioridades

  23. Português estruturado • Prioridade: Exemplos • 3+4*9 • (3+4)*9 • 8–quad(4)+5 • 10>9 e 5+4>14 • 2+3-5*8 • Raiz(quad(abs(-9)+1)) • Não(3+5 <> 5 /2 -1)

  24. Português estruturado • Conversão de fórmulas: uso apenas de parênteses Exemplo 1: (matemáticaportugol)  ((a+b)/c)*d Exemplo 2: (matemáticaportugol)  (-b+raiz(b*b-4*a*c))/(2*a) ou (-b-raiz(b*b-4*a*c))/(2*a)

  25. Português estruturado • Variáveis: é um identificador de endereço • ENTRADA  PROCESSAMENTO SAÍDA • Dados devem ser armazenados na memória (endereço) • Uso: através de um nome específico, ou endereço • Pode ocupar quantidades de memória diferentes, dependendo do tipo do dado • São eliminadas com o fim do programa • Uma variável contém um valor por vez • Sintaxe • Nome único dentro do trecho (bloco) de código • Deve ser iniciada com letra, depois “_”, ou números • Não deve conter acentos, nem usar nomes de comandos

  26. Português estruturado • Variáveis: Sintaxe correta Sintaxe errada Valor_pagosoma Media2 Idade nomeDopaciente médiavalor pago 2nota Valor_em_U$ Nome-do-aluno

  27. Português estruturado • Variáveis: declaração (criação) • Devem ser criadas no início do bloco de código • Possuem um tipo específico • Sintaxe: • Declaração única: • <variável> : tipo; • Declaração múltipla: • <v1>, <v2>, ..., <vn> : tipo; • Exemplos: • Quant_latas, quant_pessoas : inteiro; • Salario, multa, juros : real; • Opcao : caractere; • nome, endereco, cep, cidade, estado: cadeia;

  28. Português estruturado • Programa: sintaxe Tipos <novoTipo> = <TipoBase>; ... Variaveis <v1>, <v2>, ..., <vn> : <TipoBase>; ... Início comando1; ... comandoN; Fim. (continua no próximo slide)

  29. Português estruturado • Programa: sintaxe (continuação) Modulo <nomeModulo>; [[ comando1; ... comandoN; ]]; ... • Comentários: • É qualquer informação após a barra dupla “//” • Qualquer trecho de código pode conter um comentário. • Não é considerado código • Identação: facilita a organização

  30. Português estruturado • Comando de atribuição: <- Sintaxe: <nomeDaVariável> <- <expressão>; • Modifica o valor de uma variável. • Expressão: constantes, operações aritméticas, lógica ou relacionais; • O resultada da expressão deve ser compatível com o tipo da variável; • <- pode ser interpretado como “recebe”.

  31. Português estruturado • Comando de atribuição: exemplo • Teste <-falso; • idade <- idade+1; • SalarioLiquido <- salarioBruto – impostos; • status <- ‘ocupado’

  32. Português estruturado • Comando de entrada: ler • Permite a comunicação entre o usuário e a máquina. • Os valores informados serão armazenados nas respectivas variáveis. • Sintaxe: ler <var1>, <var2>, ... ; • Exemplo: ler nome; ler nome, idade, peso, altura;

  33. Português estruturado • Comando de saída: escrever • Permite a comunicação entre a máquina e o usuário. • A saída será o monitor (por padrão). • Sintaxe: escrever <var ou expr ou valor>, <var ou expr ou valor>, ... ; • Exemplo: escrever ‘Meu nome é ’, nome; escrever a+b;

  34. Português estruturado • Exemplo de programa: Variáveis n1,n2,soma:inteiro; Início ler n1; ler n2; soma<-n1+n2; escrever soma; Fim. • Exemplo de programa: Variáveis n1,n2,soma:inteiro; Início ler n1; soma<-n1+n2; ler n2; escrever soma; Fim.

  35. Português estruturado • Exercícios páginas 37 e 38

  36. Português estruturado • Módulos: • Permitem dividir um programa em sub-programas; • Facilita: entendimento, manutenção, correção. • Sintaxe: Módulo <nome>; [[<comando1>; . . . <comandoN>]];

  37. Português estruturado • Ex.: Calcular gastos com azuleijo Variáveis gasto, area, comprimento, altura, largura, total_azuleijos: real; Início lerDimensoes; Calcular_custo; Escrever_custo Fim.

  38. Português estruturado • Ex.: Calcular gastos com azuleijo Módulo LerDimensoes; [[ escrever ‘Comprimento: ’; ler comprimento; escrever ‘altura”; ler altura; ]] Exercício: fazer demais módulos

  39. Português estruturado • Exercícios: 57 a 60.

  40. Português estruturado • Decisões • Algumas vezes não queremos usar todos os comandos; • Decidir quais comandos executar • São baseadas em testes lógicos • Se • Sintaxe: • se <exp_lógica> então <comando_verdade>; • se <exp_lógica> então <comando_verdade> senão <comando_falsidade>;

  41. Português estruturado • Se • Melhor organização: se <exp_lógica> então <comando_verdade>; se <exp_lógica> então <comando_verdade> senão <comando_falsidade>;

  42. Português estruturado • Exercícios: • 1. Ler idade e informar se maior de idade. • 2. Ler idade e informar se maior de idade ou menor de idade. • 3. Informar se um número é par ou ímpar.

  43. Português estruturado • Teste encadeados (aninhados): • Usado na existência de mais possibilidades. • Substitui-se <comandoX> por outro “se”. • Ex.: se <exp_lógica> então se <exp_lógica> então <comando_verdade> senão <comando_falsidade>; senão <comando_falsidade>; • Exercícios. • Calcular a situação de um aluno dadas as 3 avaliações semestrais. • Identificar o caçula entre 3 irmãos de idades distintas.

  44. Português estruturado • Exercícios: • Páginas 75 a 77.

  45. Português estruturado • Caso • Testa uma variável com diversos valores possíveis. • Executa comandos diferentes pra valores diferentes. • Sintaxe: Caso < variável ou expressão> seja <valorA>: <comandoA>; <valorB>: <comandoB>; . . . <valorN>: <comandoN>; Senão <comando_Falso>; Fimcaso;

  46. Português estruturado • Caso • Exercício: Um sócio de um clube tem o pagamento de sua anuidade de acordo com o dígito final de sua matrícula. • Final 0  pagamento em janeiro • Final 1  pagamento em fevereiro • Final 2 pagamento em março • Final 3  pagamento em abril • Qualquer outro  pagamento em maio

  47. Português estruturado • Caso: Solução 1 (se) Variáveis num_matricula, final : inteiro; Início ler num_matricula; final <-num_matricula % 10; se final = 0 então escrever ‘Pagamento em janeiro.’ senão se final = 1 então escrever ‘Pagamento em fevereiro.’ senão se final = 2 então escrever ‘Pagamento em março.’

  48. Português estruturado • Caso: Solução 1 (se) se final = 2 então escrever ‘Pagamento em março.’ Senão se final = 3 então escrever ‘Pagamento de abril.’ senão Escrever ‘Pagamento de maio.’; Fim.

  49. Português estruturado • Caso: Solução 2 (caso) Variáveis num_matricula, final : inteiro; Início ler num_matricula; final <-num_matricula % 10; caso final seja 0: escrever ‘Pagamento em janeiro’; 1: escrever ‘Pagamento em fevereiro’; 2: escrever ‘Pagamento em março’; 3: escrever ‘Pagamento em abril’; senão Escrever ‘Pagamento em maio’; Fimcaso; Fim.

  50. Português estruturado • Exercícios páginas 86 a 91.

More Related