Post on 17-Apr-2015
Lógica de ProgramaçãoMódulo II
MINISTÉRIO DA EDUCAÇÃOSECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICAINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIACAMPUS SÃO JOSÉ – SANTA CATARINA
Prof. Tiago Semprebom
tisemp@sj.ifsc.edu.brwww.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 * Mg4. Mostre o valor a na tela.
F: variável que representa a força aplicadaM: variável que representa a massa do corpoa: variável que representa a aceleração resultante
ac: constante que representa o atrito cinéticog: 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 pontocaracter 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) Seno do valor contido em x– Sqrt(x) Raiz quadrada do valor contido em x– Int(y) Parte inteira do valor contido em y– Abs(x) 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 Se condição entãoBloco de comandos Bloco de comandos
Fim se SenãoBloco 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 (ano-calendá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íquotade 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.