Lógica de Programação Módulo II

25
Lógica de Programação Módulo II 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 Prof. Tiago Semprebom [email protected] www.sj.ifsc.edu.br/~tisemp

description

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. - PowerPoint PPT Presentation

Transcript of Lógica de Programação Módulo II

Page 1: Lógica de Programação Módulo II

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

[email protected]/~tisemp

Page 2: Lógica de Programação Módulo II

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

Page 3: Lógica de Programação Módulo II

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).

Page 4: Lógica de Programação Módulo II

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

Page 5: Lógica de Programação Módulo II

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

Page 6: Lógica de Programação Módulo II

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.

Page 7: Lógica de Programação Módulo II

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, ...

Page 8: Lógica de Programação Módulo II

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 */

Page 9: Lógica de Programação Módulo II

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)

Page 10: Lógica de Programação Módulo II

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);

Page 11: Lógica de Programação Módulo II

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

Page 12: Lógica de Programação Módulo II

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

Page 13: Lógica de Programação Módulo II

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

Page 14: Lógica de Programação Módulo II

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

Page 15: Lógica de Programação Módulo II

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

Page 16: Lógica de Programação Módulo II

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.

Page 17: Lógica de Programação Módulo II

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.

Page 18: Lógica de Programação Módulo II

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

Page 19: Lógica de Programação Módulo II

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.

Page 20: Lógica de Programação Módulo II

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%.

Page 21: Lógica de Programação Módulo II

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).

Page 22: Lógica de Programação Módulo II

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".

Page 23: Lógica de Programação Módulo II

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.

Page 24: Lógica de Programação Módulo II

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:

Page 25: Lógica de Programação Módulo II

Lógica de Programação

Exercícios:

10) Traduza para pseudo-linguagem o algoritmo descrito no fluxograma da questão 9.