Instituto Superior
Politécnico
PROGRAMAÇÃO
1º SEMESTRE/2014
Professor: Lic. Adilson José da Silva Silvério
SUMÁRIO
• ELEMENTOS BÁSICOS DE UMA
LINGUAGEM ALGORÍTMICA.
2
introdução
Os termos de programação modular, programação descendente
e programação estruturada foram introduzidos na segunda
metade da decada de 1960 e costumam ser usados omo
sinonimos, embora não segnificam a mesma coisa. A
programação estruturada significa escrever um programa
conforme as seguintes regras e ou técnicas:
• O programa tem um projecto modular;
• Os modulos são projectados no modo descendentes;
• Cada modulo é codificado utilizando-se as três estruturas de
controlo basicas: Selecção, Sequência e Repetição;
3
Instruções básicas
1. Inicio/Fim;
2. Atribuição;
3. Leitura de dados;
4. Escrita;
4
Tipo de instrução Pseudocódigo
Começo do processo inicio
Fim do processo fim
Entrada (leitura) ler
Saída (escrita) escrever
Atribuição B←7
Variável
Representa uma posição na memória, onde pode ser armazenado um dado
Possui um nome e um valor
Durante a execução do algoritmo, pode ter seu valor alterado (seu valor
pode variar)
Mudanças no valor das variáveis:
<variavel> : <tipo de dados>
Por entrada de dados (“Ler N1”)
Por atribuição (“MEDIA <- <um certo valor>”)
5
Operador de Atribuição
Atribui o valor da direita à variável da esquerda
O valor pode ser uma constante, uma variável ou uma expressão
A←8
MEDIA ← (N1+N2+N3+N4) / 4
(Lê-se media recebe N1+...)
Neste caso, estamos atribuindo o resultado da fórmula à variável média, ou
seja, a variável média está recebendo como valor o resultado da fórmula
Outros Exemplos:
x ← 3;
a ← x;
6
Instruções de leitura
Esta instrução lê dados de um dispositivo de entrada.
Ler (Número, Horas)
Significa que vai ler do terminal valores Números e Horas, arquivando-os
na memória; se os três números digitados em resposta a instrução são
123, 32, significa que forma atribuidos as variaveis estes valores, o que
equivale a execução das instruções:
Número ←123;
Hora←32.
7
Instruções de escrita
Estas instruções são escritas num dispositivo de saída. Exemplo:
A ←100;
B ←200;
C ←300.
escrever (A, B, C) , significa que seram visualizados na tela os valores
100, 200, 300, que contëm as variáveis A, B, C.
8
Tipos de dados
Os tipos de dados simples são: númericos (inteiro e real).
Lógicos (booleano).
Caracteres (Alfabeticos “maiusculas e minusculas”, númericos,
caracteres especiais) e texto.
9
Operadores
Usados para incrementar, decrementar, comparar e avaliar dados, que são
operações básicas em processamento de dados.
Tipos:
Aritméticos (+, -, *, /, ** ou ^)
Resultados numéricos
Relacionais (>, <, >=, <=, =, <> ou #)
Resultados lógicos (V ou F)
Lógicos (e, ou, não)
Combinam resultados lógicos
10
Operadores Aritméticos
11
Nível de prioridade Operadores
1º (…)
2º Exponenciação: **, ↑ ou
^
3º * e /
4º mod e div
5º + e -
Operadores relacionais
 Operadores relacionais são muito usados quando temos que tomar
decisões nos algoritmos. Com eles fazemos testes, comparações, que
resultam em valores lógicos (verdadeiro ou falso):
12
Exemplo:
tendo duas variáveis, A = 5 e B = 3:
Operadores lógicos
Operadores lógicos combinam resultados lógicos, gerando novos valores
lógicos (verdadeiro ou falso). A “tabela-verdade” abaixo mostra todos os
valores possíveis de se obter com oper. lógicos:
13
T = Verdad.
F = Falso
AND = E
OR = OU
NOT = NÃO
Operadores lógico
13
Operadores lógicos
vs
Operadores relacionais
Combinando operadores relacionais e operado-res lógicos criamos
operações lógicas, que pro-duzirão resultados lógicos (verdadeiro ou
falso). Por exemplo, se A = 5, B = 8 e C = 1:
(A = B) E (B > C) é falso (f e v)
(A <> B) OU (B < C) é verdadeiro (v ou f)
NÃO (A > B) é verdadeiro (não f)
(A < B) E (B > C) é verdadeiro (v e v)
(A >= B) OU (B = C) é falso (f ou f)
NÃO (A <= B) é falso (não v)
São usadas em decisões nos algoritmos...
14
Escrevendo algoritmos em
pseudocodigos
algoritmo <identificador>
var
tipo de dados: lista de identificadores
const
lista de identificadores=valor
inicio
<sentença 1>
<sentença 1>
.
.
.
<sentença n>
fim
15
Elementos basicos
• Palavras reservadas;
• Identificadores;
• Caracteres especiais;
• Constantes;
• Variáveis;
• Expressões;
• Instuções.
16
Exercícios
Tendo como dados de entrada a altura de uma pessoa, construa um
algoritmo que calcule seu peso ideal, utilizando a seguinte fórmula:
peso ideal ← (72.7*h) – 58
Faca um algoritmo que receba como entrada uma determinada
temperatura em graus Celsius e mostre a temperatura em fahrenheit
OBS: Fahrenheit ← (9/5)*(Celsius) + 32
Tendo como entrada o total vendido por um funcionário no mês de
abril, faça um algoritmo que mostres a sua comissão e salário bruto
neste mês, sabendo que o seu salário base é 1.200,00 Kz e sua comissão
é de 10% sobre o total vendido.
17
Exercícios
Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo.
Informe se as expressões são verdadeiras ou falsas.
Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são
verdadeiras ou falsas.
a) (A+C) > B ( )
b) B >= (A + 2) ( )
c) C = (B –A) ( )
d) (B + A) <= C ( )
e) (C+A) > B ( )
18
Exercícios
Considere a seguinte atribuição de valores para as variáveis: A=3, B=4,
C=8. Avalie as expressões a seguir indicando o resultado final:
verdadeiro ou falso.
1) A > 3 E C = 8 ( )
2) A <> 2 OU B <= 5 ( )
3) A = 3 OU B >= 2 E C = 8 ( )
4) A = 3 E NÃO B <= 4 E C = 8 ( )
5) A <> 8 OU B = 4 E C > 2 ( )
6) B > A E C <> A ( )
7) A > B OU B < 5 ( )
8) A <> B E B = C ( )
9) C > 2 OU A < B ( )
10) A > B OU B > A E C <> B ( )
19
Exercícios
Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo
são verdadeiras ou falsas.
a) (A > C) AND (C <= D) ( )
b) (A+B) > 10 OR (A+B) = (C+D) ( )
c) (A>=C) AND (D >= C) ( )
20
Exercícios
Sabe-se que o uso incorreto da precedência de operadores ocasiona
erros. Pensando nisso, determine o resultado das expressões a seguir
(valores: A= 8, B = 5, C = -4, D = 2)
a) Delta = B2 – 4 * A * C
b) J = “Hoje” <> “HOJE”
c) Media = (A + B + C + D) / 4
d) Media = A + B + C + D / 4
e) Resultado = A + B – 10 * C
f) Y = A > 8 E B + C > D
g) Y = A > 3 * 2 OU B + C <> D
21
Bibliografia
AGUILAR, L. J. Fundamentos de Programação: Algorimos, Estruturas de Dados e Objectos. 3ª ed. São Paulo.
McGraw-Hill. 2008.
Guerreiro, Pedro; Pascal – Técnicas de Programação; FCA – Editora de Informática; 5ª Edição; Lisboa; 2002
Cantú, Marco; Essential Pascal; 2nd Edition; 2003. Disponível online em www.marcucantu.com/epascal
Egypto, Cândido J. R.; Linguagens e Técnicas de Programação I; Faculdade Paraibana de Processamento
de Dados; 1998; (Formato electrónico)
Cantú, Marco; Essential Pascal; 2nd Edition; 2003. Disponível online em www.marcucantu.com/epascal
Manzano, José Augusto N. G. e Oliveira, Jayr Figueiredo; Estudo Dirigido de Algoritmos; 9ª Edição; Editora
Érica Ltda; São Paulo; 2004.
Egypto, Cândido J. R.; Linguagens e Técnicas de Programação I; Faculdade Paraibana de Processamento
de Dados; 1998; (Formato electrónico)
Cantú, Marco; Essential Pascal; 2nd Edition; 2003. Disponível online em www.marcucantu.com/epascal
Manzano, José Augusto N. G. e Oliveira, Jayr Figueiredo; Estudo Dirigido de Algoritmos; 9ª Edição; Editora
Érica Ltda; São Paulo; 2004
22

Aula 5 algoritimos(continuacao)

  • 1.
  • 2.
    SUMÁRIO • ELEMENTOS BÁSICOSDE UMA LINGUAGEM ALGORÍTMICA. 2
  • 3.
    introdução Os termos deprogramação modular, programação descendente e programação estruturada foram introduzidos na segunda metade da decada de 1960 e costumam ser usados omo sinonimos, embora não segnificam a mesma coisa. A programação estruturada significa escrever um programa conforme as seguintes regras e ou técnicas: • O programa tem um projecto modular; • Os modulos são projectados no modo descendentes; • Cada modulo é codificado utilizando-se as três estruturas de controlo basicas: Selecção, Sequência e Repetição; 3
  • 4.
    Instruções básicas 1. Inicio/Fim; 2.Atribuição; 3. Leitura de dados; 4. Escrita; 4 Tipo de instrução Pseudocódigo Começo do processo inicio Fim do processo fim Entrada (leitura) ler Saída (escrita) escrever Atribuição B←7
  • 5.
    Variável Representa uma posiçãona memória, onde pode ser armazenado um dado Possui um nome e um valor Durante a execução do algoritmo, pode ter seu valor alterado (seu valor pode variar) Mudanças no valor das variáveis: <variavel> : <tipo de dados> Por entrada de dados (“Ler N1”) Por atribuição (“MEDIA <- <um certo valor>”) 5
  • 6.
    Operador de Atribuição Atribuio valor da direita à variável da esquerda O valor pode ser uma constante, uma variável ou uma expressão A←8 MEDIA ← (N1+N2+N3+N4) / 4 (Lê-se media recebe N1+...) Neste caso, estamos atribuindo o resultado da fórmula à variável média, ou seja, a variável média está recebendo como valor o resultado da fórmula Outros Exemplos: x ← 3; a ← x; 6
  • 7.
    Instruções de leitura Estainstrução lê dados de um dispositivo de entrada. Ler (Número, Horas) Significa que vai ler do terminal valores Números e Horas, arquivando-os na memória; se os três números digitados em resposta a instrução são 123, 32, significa que forma atribuidos as variaveis estes valores, o que equivale a execução das instruções: Número ←123; Hora←32. 7
  • 8.
    Instruções de escrita Estasinstruções são escritas num dispositivo de saída. Exemplo: A ←100; B ←200; C ←300. escrever (A, B, C) , significa que seram visualizados na tela os valores 100, 200, 300, que contëm as variáveis A, B, C. 8
  • 9.
    Tipos de dados Ostipos de dados simples são: númericos (inteiro e real). Lógicos (booleano). Caracteres (Alfabeticos “maiusculas e minusculas”, númericos, caracteres especiais) e texto. 9
  • 10.
    Operadores Usados para incrementar,decrementar, comparar e avaliar dados, que são operações básicas em processamento de dados. Tipos: Aritméticos (+, -, *, /, ** ou ^) Resultados numéricos Relacionais (>, <, >=, <=, =, <> ou #) Resultados lógicos (V ou F) Lógicos (e, ou, não) Combinam resultados lógicos 10
  • 11.
    Operadores Aritméticos 11 Nível deprioridade Operadores 1º (…) 2º Exponenciação: **, ↑ ou ^ 3º * e / 4º mod e div 5º + e -
  • 12.
    Operadores relacionais  Operadoresrelacionais são muito usados quando temos que tomar decisões nos algoritmos. Com eles fazemos testes, comparações, que resultam em valores lógicos (verdadeiro ou falso): 12 Exemplo: tendo duas variáveis, A = 5 e B = 3:
  • 13.
    Operadores lógicos Operadores lógicoscombinam resultados lógicos, gerando novos valores lógicos (verdadeiro ou falso). A “tabela-verdade” abaixo mostra todos os valores possíveis de se obter com oper. lógicos: 13 T = Verdad. F = Falso AND = E OR = OU NOT = NÃO Operadores lógico 13
  • 14.
    Operadores lógicos vs Operadores relacionais Combinandooperadores relacionais e operado-res lógicos criamos operações lógicas, que pro-duzirão resultados lógicos (verdadeiro ou falso). Por exemplo, se A = 5, B = 8 e C = 1: (A = B) E (B > C) é falso (f e v) (A <> B) OU (B < C) é verdadeiro (v ou f) NÃO (A > B) é verdadeiro (não f) (A < B) E (B > C) é verdadeiro (v e v) (A >= B) OU (B = C) é falso (f ou f) NÃO (A <= B) é falso (não v) São usadas em decisões nos algoritmos... 14
  • 15.
    Escrevendo algoritmos em pseudocodigos algoritmo<identificador> var tipo de dados: lista de identificadores const lista de identificadores=valor inicio <sentença 1> <sentença 1> . . . <sentença n> fim 15
  • 16.
    Elementos basicos • Palavrasreservadas; • Identificadores; • Caracteres especiais; • Constantes; • Variáveis; • Expressões; • Instuções. 16
  • 17.
    Exercícios Tendo como dadosde entrada a altura de uma pessoa, construa um algoritmo que calcule seu peso ideal, utilizando a seguinte fórmula: peso ideal ← (72.7*h) – 58 Faca um algoritmo que receba como entrada uma determinada temperatura em graus Celsius e mostre a temperatura em fahrenheit OBS: Fahrenheit ← (9/5)*(Celsius) + 32 Tendo como entrada o total vendido por um funcionário no mês de abril, faça um algoritmo que mostres a sua comissão e salário bruto neste mês, sabendo que o seu salário base é 1.200,00 Kz e sua comissão é de 10% sobre o total vendido. 17
  • 18.
    Exercícios Tendo as variáveisSALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expressões são verdadeiras ou falsas. Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas. a) (A+C) > B ( ) b) B >= (A + 2) ( ) c) C = (B –A) ( ) d) (B + A) <= C ( ) e) (C+A) > B ( ) 18
  • 19.
    Exercícios Considere a seguinteatribuição de valores para as variáveis: A=3, B=4, C=8. Avalie as expressões a seguir indicando o resultado final: verdadeiro ou falso. 1) A > 3 E C = 8 ( ) 2) A <> 2 OU B <= 5 ( ) 3) A = 3 OU B >= 2 E C = 8 ( ) 4) A = 3 E NÃO B <= 4 E C = 8 ( ) 5) A <> 8 OU B = 4 E C > 2 ( ) 6) B > A E C <> A ( ) 7) A > B OU B < 5 ( ) 8) A <> B E B = C ( ) 9) C > 2 OU A < B ( ) 10) A > B OU B > A E C <> B ( ) 19
  • 20.
    Exercícios Sabendo que A=5,B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas. a) (A > C) AND (C <= D) ( ) b) (A+B) > 10 OR (A+B) = (C+D) ( ) c) (A>=C) AND (D >= C) ( ) 20
  • 21.
    Exercícios Sabe-se que ouso incorreto da precedência de operadores ocasiona erros. Pensando nisso, determine o resultado das expressões a seguir (valores: A= 8, B = 5, C = -4, D = 2) a) Delta = B2 – 4 * A * C b) J = “Hoje” <> “HOJE” c) Media = (A + B + C + D) / 4 d) Media = A + B + C + D / 4 e) Resultado = A + B – 10 * C f) Y = A > 8 E B + C > D g) Y = A > 3 * 2 OU B + C <> D 21
  • 22.
    Bibliografia AGUILAR, L. J.Fundamentos de Programação: Algorimos, Estruturas de Dados e Objectos. 3ª ed. São Paulo. McGraw-Hill. 2008. Guerreiro, Pedro; Pascal – Técnicas de Programação; FCA – Editora de Informática; 5ª Edição; Lisboa; 2002 Cantú, Marco; Essential Pascal; 2nd Edition; 2003. Disponível online em www.marcucantu.com/epascal Egypto, Cândido J. R.; Linguagens e Técnicas de Programação I; Faculdade Paraibana de Processamento de Dados; 1998; (Formato electrónico) Cantú, Marco; Essential Pascal; 2nd Edition; 2003. Disponível online em www.marcucantu.com/epascal Manzano, José Augusto N. G. e Oliveira, Jayr Figueiredo; Estudo Dirigido de Algoritmos; 9ª Edição; Editora Érica Ltda; São Paulo; 2004. Egypto, Cândido J. R.; Linguagens e Técnicas de Programação I; Faculdade Paraibana de Processamento de Dados; 1998; (Formato electrónico) Cantú, Marco; Essential Pascal; 2nd Edition; 2003. Disponível online em www.marcucantu.com/epascal Manzano, José Augusto N. G. e Oliveira, Jayr Figueiredo; Estudo Dirigido de Algoritmos; 9ª Edição; Editora Érica Ltda; São Paulo; 2004 22