logica3 - campus São José

Download Report

Transcript logica3 - campus São José

MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
CAMPUS SÃO JOSÉ – SANTA CATARINA
Lógica de Programação
Módulo II
Prof. Tiago Semprebom
[email protected]
www.sj.ifsc.edu.br/~tisemp
Lógica de Programação
Estruturas de dados
• Representação computacional das informações do problema a
ser resolvido
• Informações podem ser de diferentes tipos, então implicam
diferentes representações
• Ex. Identifique os dados de entrada e saída neste algoritmo para
calcular a aceleração de um corpo:
• 1. Leia para variável M a massa do corpo em Kg.
• 2. Leia para variável F a força a ser aplicada ao corpo.
• 3. Calcule a aceleração: a = F/M – ac * Mg
• 4. Mostre o valor da variável a na tela
Lógica de Programação
Tipos primitivos de dados
• Numéricos:
– Inteiros: um subconjunto dos números inteiros, podendo ser
sinalizados ou não (ex: 4, -5, 1034, 0).
– Reais: um subconjunto dos números reais, com determinada
precisão (ex: 1.34, 2.7828).
• Não-numéricos:
– Alfanuméricos: sequência de letras, algarismos e símbolos (ex:
“ABCDEF”, “FX90”, “R$ 10,00”).
– Booleanos: valores que representam verdadeiro ou falso (ex:
TRUE ou FALSE).
Lógica de Programação
Constantes e variáveis
• Informações podem estar guardadas em constantes ou variáveis
• Constantes: valores que não mudam ao longo do tempo
• Variáveis: guardam valores que podem mudar
– Conteúdo: valor da variável.
– Identificador: o nome da variável.
– Do ponto de vista computacional, uma variável é uma área de
memória RAM
Lógica de Programação
Constantes e variáveis
•
Ex. Algoritmo para calcular a aceleração de um corpo:
1. Leia para variável M a massa do corpo em Kg.
2. Leia para variável F a força a ser aplicada ao corpo.
3. Calcule a acelaração: a = F / M – ac * Mg
4. Mostre o valor a na tela.
F: variável que representa a força aplicada
M: variável que representa a massa do corpo
a: variável que representa a aceleração resultante
ac: constante que representa o atrito cinético
g: constante que representa a aceleração gravitacional
constantes
Lógica de Programação
Constantes e variáveis
• Ex: Algoritmo para formatar o nome de uma pessoa:
1. Leia para variável nome o primeiro nome de uma pessoa.
2. Leia para variável sobrenome seu sobrenome.
3. Faça variável NomeCompleto = nome + “” sobrenome
4. Mostre o valor da variável NomeCompleto na tela.
variáveis: nome, sobrenome, NomeCompleto
constantes: “ ”
Obs.: todas as variáveis e constantes são alfanuméricas.
Lógica de Programação
Constantes e variáveis
• O identificador é o nome de um local onde se podem guardar
valores de determinado tipo de dados.
• A definição de identificadores possui regras (sendo algumas de
bom senso):
–
–
–
–
Devem iniciar com caractere alfabético;
Segundo caractere em diante pode ser numérico;
Pode-se usar símbolo “_” como parte do identificador;
Devem ajudar a lembrar do que se trata a informação guardada
(i.e: mnemônico)
– Exemplo: nome, sobrenome, a, F, lista, ...
Lógica de Programação
Declaração de variáveis
• As variáveis necessárias em um algoritmo devem ser
previamente declaradas
– Assim se reserva memória para guardar seus conteúdos
• A declaração inclui o tipo de dados da variável e seu
identificador, na forma:
Tipo variável1, variável2,...;
• Exemplos:
real: x, y; // coordenadas do ponto
caracter Nome;
inteiro Dia, mes, ano;
booleano Sucesso; /* verificação do nome bem sucedida */
Lógica de Programação
Declaração de variáveis
• Ao serem declaradas as variáveis não estão inicializadas
– Quer dizer, não possuem valor
• A declaração ocorre antes das ações do algoritmo
• Os comentários representam qualquer explicação inserida no
algoritmo, para ajudar seu entendimento
– Comentários são precedidos por //
– ... Ou delimitados por /* e */ (neste caso, podem ocupar mais de
uma linha)
Lógica de Programação
Operações básicas
• Atribuição:
– Atribuir ou associar um valor a uma expressão
– Sintaxe genérica: identificador  expressão;
– Expressão pode ser: uma constante, variável, expressão
matemática, função matemática, expressão booleana,...
– O resultado da expressão deve respeitar o tipo da variável!
• Ex:
X  10;
Y  x * 2;
Sucesso  (x < 20) and (y > 10);
A  se(αx+ωt);
Lógica de Programação
Operações básicas
• Operadores aritméticos:
+, - Adição e subtração (unários)
*
Multiplicação
/
Divisão
div Divisão inteira ou truncada
mod Resto da divisão inteira
• Operadores relacionais:
>, >=, <, <=, == (igual), != (diferente)
• Operadores lógicos ou booleanos:
And, Or, Not
Lógica de Programação
Operações básicas
• Funções matemáticas:
Nome da função (lista de argumentos)
• Exemplos:
–
–
–
–
Sin(x)
Sqrt(x)
Int(y)
Abs(x)
Seno do valor contido em x
Raiz quadrada do valor contido em x
Parte inteira do valor contido em y
Valor absoluto (módulo) do valor contido em x
Lógica de Programação
Descrição do algoritmo em pseudo-linguagem:
Declaração de variáveis e constantes
INICIO
Inicialização de variáveis e constantes
Comandos de entrada de dados
Processamento / cálculo
Comandos de saída de dados
FIM
Lógica de Programação
Descrição do algoritmo em pseudo-linguagem:
Ex: cálculo de média
Real P1, P2, P3, P4, M;
INICIO
Leia(P1);
Leia(P2);
Leia(P3);
Leia(P4);
M  (P1+P2+P3+P4) / 4;
Escreva(“Média final = ”, M);
FIM
Lógica de Programação
Exercícios:
1) Faça um algoritmo para ler dados pessoais (nome, ano de
nascimento, endereço, sexo), e mostre esses dados da seguinte
forma:
Nome: nome completo
Nascimento: ano de nascimento
Idade: idade
Sexo: M ou F
Maior de idade: Verdadeiro ou Falso
Lógica de Programação
Exercícios:
2) Faça um algoritmo para calcular e mostrar o perímetro de um
polígono qualquer.
3) Faça um algoritmo para ler a base e a altura de um triângulo. Em
seguida, escreva a área do mesmo. Obs: Área = (Base * Altura) / 2.
4) Desenvolva um programa que leia uma temperatura em graus
Fahrenheit e apresente convertida em graus Centígrados. A fórmula
de conversão é: C = (F - 32) * (5/9). Onde F é a temperatura em
Fahrenheit e C é a temperatura em Centígrados.
Lógica de Programação
5) Faça um algoritmo para calcular a resistência equivalente para um
circuito com duas resistências em paralelo.
6) Em um cinema as cadeiras são numeradas seqüencialmente,
começando no canto esquerdo próximo à tela. Essas cadeiras estão
organizadas em 40 fileiras de 20 cadeiras. Faça um algoritmo que
informe que fileira se encontre determinada cadeira, e sua posição
em relação ao início da fileira.
Lógica de Programação
Estruturas de controle:
• Condicional: faz a escolha de ações a serem executadas,
dependendo de condições definidas.
• Condições são dadas por expressões booleanas, que resultam
em Verdadeiro ou Falso.
• Sintaxe geral:
Se condição então
Bloco de comandos
Fim se
Se condição então
Bloco de comandos
Senão
Bloco de comandos
Fim se
Lógica de Programação
Exercícios:
1) Faça um algoritmo para fazer a divisão de dois
números reais. Antes de dividi-los deve ser feito um
teste de validade. Caso não seja possível dividi-los,
deve ser mostrada uma mensagem de erro. Se for
possível, deve-se mostrar o resultado da divisão.
2)
Faça um algoritmo para fazer a divisão de dois
números inteiros. No entanto, antes de efetuar a
divisão deve-se verificar se é possível fazer a divisão
sem resto, gerando-se uma mensagem de erro caso
contrário.
Lógica de Programação
Exercícios:
3) Escreva um programa para ler as notas da primeira e segunda
avaliações de um aluno, calcular a media e escrever se este
aluno foi APROVADO (media maior ou igual a 7), REPROVADO
(media inferior a 4), ou se esta' em EXAME (entre 4 e 7).
Escrever também a media calculada.
4) Elaborar um programa que efetue o cálculo do reajuste de
salário de um funcionário. Considere que o funcionário deverá
receber um reajuste de 15% caso seu salário seja menor que
500, se o salário for maior ou igual a 500 mas menor ou igual a
1000, seu reajuste será de 10%, caso seja ainda maior que
1000, o reajuste deverá ser de 5%.
Lógica de Programação
5) Faça um algoritmo para calcular o imposto de renda anual (anocalendário de 2008) devido para uma pessoa que receba um
determinado salário.
i) Salários menores que R$ 1372,81 estão isentos.
ii) Salários entre R$ 1372,81 e R$ 2743,25 pagam alíquota
de 15% (deduz-se R$ 205,92 na base do imposto devido).
iii) Salários acima de R$ 2743,25 pagam alíquota de 27,5%
(deduz-se R$ 548,83 na base do imposto devido).
Lógica de Programação
6) Escreva um programa que receba um número e mostre a
mensagem "O número está na faixa de 20 a 90" caso o valor
fornecido para a número lido seja um valor entre 20 e 90.
Qualquer valor fornecido fora da faixa definida apresentará a
mensagem "O número não está na faixa de 20 a 90".
7) Elabore um programa que receba um Texto e mostre a
mensagem "O seu sexo é válido", caso o valor fornecido para o
Texto lido seja um valor masculino ou um valor feminino.
Qualquer outro valor fornecido apresentará a mensagem "O seu
sexo é inválido".
Lógica de Programação
8) Qual será o valor da variável C após a execução do programa
abaixo, sabendo que A = 4, B = 3, C = 5 e X = 2;
Programa Exemplo;
variaveis
A,B,C,X: Inteiro;
begin
leia(A, B, X);
if not (X > 5) then
C := (A + B) * X
else
C := (A - B) * X;
imprima(C);
end.
Lógica de Programação
9) Faça um teste de mesa para o algoritmo
descrito neste fluxograma, de acordo com
os dados fornecidos:
Considere a tabela abaixo para
o teste de mesa:
Lógica de Programação
Exercícios:
10) Traduza para pseudo-linguagem o algoritmo descrito no
fluxograma da questão 9.