41
ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS Prof. Dr. Érico Fernando O. Martins [email protected] Algoritmos e Programação

Algoritmos e Programaçãosinop.unemat.br/site_antigo/prof/foto_p_downloads/fot...Elementos básicos dos Algoritmos: Tipo de dados primitivos •Numérico: •Inteiro: São caracterizados

Embed Size (px)

Citation preview

ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA

UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP

FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS

Prof. Dr. Érico Fernando O. [email protected]

Algoritmos e Programação

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

1. Elementos Básicos dos Algoritmos

Elementos básicos dos Algoritmos: Variável

• Variável é tudo que está sujeito a variações, que é incerto , instável ou inconstante;

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Elementos básicos dos Algoritmos: Constantes

• Constante é tudo aquilo que é fixo ou estável (não é imutável);

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Elementos básicos dos Algoritmos: Palavras-reservadas/Palavras-chave

• São identificadores predefinidos que possuem significados especiais para o interpretador do algoritmo.

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Elementos básicos dos Algoritmos: Identificadores

Identificadores são os nomes das variáveis, dos programas, dasconstantes, das rotinas e unidades, entre outras.

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Elementos básicos dos Algoritmos: Identificadores

As regras básicas para formação dos identificadores:

• Podem ter "qualquer tamanho" (cuidado);

• Pode utilizar na formação dos identificadores são: os números, as letras maiúsculas e minúsculas e o caractere sublinhado;

• O primeiro caractere deve ser sempre uma letra ou o caractere sublinhado;

• Não são permitidos espaços em branco e caracteres especiais (@, $, +, -, %, !, etc)

• Não é permitido o uso de palavras reservadas (uma instrução ou comando);

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Elementos básicos dos Algoritmos: Identificadores

• São nomes válidos de identificadores: • NOMEDOUSUARIO• VarPrincipal• telefone • A• a• delta_25 • z1

• São nomes inválidos de identificadores: • NOME DO USUARIO• 25_delta• telefone#• Var 4

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Elementos básicos dos Algoritmos: Tipo de dados primitivos• Numérico:

• Inteiro: São caracterizados como os dados numéricos positivos ou negativos,excluindo-se destes qualquer número fracionário (conjunto de números reais).

• Real: São caracterizados como os dados numéricos positivos, negativos e númerosfracionários. (é obrigatório o uso de ponto ao invés de virgula).

• Literal:• Carácter: são caracteres da tabela ASCII isolados. Esses caracteres podem ser as

letras (maiúsculas e minúsculas), os números (não podem ser usados para cálculos) eos caracteres especiais (&, #, @, ?, etc).

• Texto: são cadeias ou grupos de caracteres.

• Lógico: São caracterizados como os dados com valores binários do tipo sim ou não,verdadeiro ou falso, 1 ou 0. . Este tipo de dado é também conhecido como booleano,devido à álgebra de George Boole.

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Elementos básicos dos Algoritmos: Tipo de dados primitivos

• Exemplos de dados:• 'aula'• '1357'• ''1357''• '@'• 1.34• '18 * 30'• 3.• 3

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Elementos básicos dos Algoritmos: Entrada e Saída

• O comando de entrada é utilizado para receber dados digitados pelousuário.

• O comando de saída é utilizado para mostrar dados na tela ou naimpressora.

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Elementos básicos dos Algoritmos: Atribuição

• O comando de atribuição é utilizado para atribuir valores (dados) ouoperações à variáveis e constantes, sendo representado por

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

M 10*2

Identificador operação

f11 “carro”

Identificador dados

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Elementos básicos dos Algoritmos: Operadores

Aritméticos Relacionais Lógicos

Os parênteses estabelecem a ordem de prioridade.X <- (3 + 7) / 2X <- (3 + 7) / 2.X <- 3 + 7 / 2.

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

2. Estruturas dos Algoritmos

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Estrutura dos Algoritmos:

• Estrutura Sequencial;

• Estrutura Condicional;

• Estrutura de Repetição.

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Estrutura dos Algoritmos: Estrutura Sequencial

As instruções deverão ser executados numa sequência linear.Início

A, B

R A + B

R

Fim

Pseudocódigo Diagrama de Bloco

ALGORITMODeclaraçõesBloco de comandos

FIM_ALGORITMO

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

3. Exercícios Estrutura Sequencial

Fundamentos da Programação de ComputadoresAlgoritmos, Pascal e C/C++

Ana Fernanda Gomes AscencioEdilene Aparecida Veneruchi de Campos

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Estrutura dos Algoritmos: Estrutura Sequencial

Construa algoritmos em pseudocódigo e diagrama de bloco:1. Receba quatro números inteiros, calcule e mostre a soma desses números.2. Receba três notas, calcule e mostre a média aritmética entre elas.3. Receba três notas e seus respectivos pesos, calcule e mostre a média ponderadadessas notas.4. Receba o salário de um funcionário, calcule e mostre o novo salário, sabendo-se queeste sofreu um aumento de 25%.5. Receba o salário-base de um funcionário, calcule e mostre o salário a receber,sabendo-se que o funcionário tem gratificação de 5% sobre o salário-base e pagaimposto de 7% sobre o salário-base.

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Estrutura dos Algoritmos: Estrutura Sequencial

Construa algoritmos em pseudocódigo e diagrama de bloco:

6. Receba o salário-base de um funcionário, calcule e mostre o seu salário a receber, sabendo-se que esse funcionário tem gratificação de R$ 50,00 e paga imposto de 10% sobre o salário-base.

7. Receba o valor de um depósito e o valor da taxa de juros, calcule e mostre o valor do rendimento e o valor total depois do rendimento.

8. Calcule e mostre a área de um triângulo.

9. Calcule e mostre a área de um círculo sendo fornecido pelo usuário o raio.

10. Receba um número positivo e maior que zero, calcule e mostre o quadrado, o cubo, a raiz quadrada e a raiz cúbica.

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Estrutura dos Algoritmos: Estrutura Sequencial

Construa algoritmos em pseudocódigo e diagrama de bloco:11. Receba dois números maiores que zero, calcule e mostre um elevado ao outro.12. Receba uma medida em pés, faça as conversões para polegadas, jardas e milhas e mostre os resultados.13. Receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre a idade dessa pessoa e quantos anos essa pessoa terá em 2050.14. Pedro comprou um saco de ração com peso em quilos. Pedro possui dois gatospara os quais fornece a quantidade de ração em gramas. Faça um algoritmo quereceba o peso do saco de ração e a quantidade de ração fornecida para cada gato.Calcule e mostre quanto restará de ração após cinco dias.

Algoritmos e ProgramaçãoProf. Dr. Érico Fernando O. Martins

Estrutura dos Algoritmos: Estrutura Sequencial

Construa algoritmos em pseudocódigo e diagrama de bloco:15. Receba o número de horas trabalhadas e o valor do salário mínimo. Calcule e mostre o salário areceber seguindo as regras: a hora trabalhada vale 1/10 do salário mínimo; o salário bruto equivaleao número de horas trabalhadas multiplicado pelo valor da hora trabalhada; o imposto equivale a3% do salário bruto; o salário a receber equivale ao salário bruto menos o imposto.16. Cada degrau de uma escada tem X de altura. Receba essa altura e a altura que o usuário desejaalcançar subindo a escada. Calcule e mostre quantos degraus o usuário deverá subir para atingir seuobjetivo, sem se preocupar com a altura do usuário.17. Calcule e mostre a que distância deve estar uma escada da parede. O usuário deve fornecer otamanho da escada e a altura em que deseja pregar o quadro. Lembre-se de que o tamanho da escadadeve ser maior que a altura que se deseja alcançar.18. Receba um número real, calcule e mostre: a parte inteira desse número; a parte fracionária dessenúmero; o arredondamento desse número.19. Receba uma hora formada por horas e minutos (um número real), calcule e mostre a hora digitadaapenas em minutos. Lembre-se de que: para quatro e meia deve-se digitar 4.30.

G A B A R I T OEstrutura Sequencial

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

1. Receba quatro números inteiros, calcule e mostre a soma desses números.

Início

Inteiro: n1, n2, n3, n4

soma n1 + n2 + n3 + n4

Fim

Diagrama de BlocoPseudocódigos

soma

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

2. Receba três notas, calcule e mostre a média aritmética entre elas.

Início

real: n1, n2, n3

media (n1 + n2 + n3) / 3.

Fim

Diagramas de Bloco

Pseudocódigos

media

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

3. Receba três notas e seus respectivos pesos, calcule e mostre a média ponderada dessas notas.

Início

real: n1, n2, n3

Fim

Diagrama de Bloco

media ( n1 * p1 + n2 * p2 + n3 * p3 ) / ( p1 + p2 + p3 )

Pseudocódigos

real: p1, p2, p3

media

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

4. Receba o salário de um funcionário, calcule e mostre o novo salário, sabendo-se que este sofreu um aumento de 25%.

Pseudocódigo

Diagrama de Bloco

Início

real: sal

porc_aumento 25

Fim

vlr_aumento sal * (porc_aumento / 100.)

novo_sal sal + vlr_aumento

novo_sal

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

5. Receba o salário-base de um funcionário, calcule e mostre o salário a receber, sabendo-se que o funcionário tem gratificação de 5% sobre o salário-base e paga imposto de 7% sobre o salário-base. Início

real: sal

porc_imp 7

Fim

grat sal * (porc_grat / 100.)

Imp sal * (porc_imp / 100.)

porc_grat 5

novo_sal sal + grat - imp

Pseudocódigo

Diagrama de Bloco

novo_sal

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

6. Receba o salário-base de um funcionário, calcule e mostre o seu salário a receber, sabendo-se que esse funcionário tem gratificação de R$ 50,00 e paga imposto de 10% sobre o salário-base. Início

Real: sal

grat 50

Fim

imp sal * (porc_imp / 100.)

porc_imp 10

novo_sal sal + grat - imp

Pseudocódigo

Diagrama de Bloco

novo_sal

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

7. Receba o valor de um depósito e o valor da taxa de juros, calcule e mostre o valor do rendimento e o valor total depois do rendimento.

Pseudocódigo

Diagrama de Bloco

Início

real: dep, tx

Fim

rend dep * (tx / 100.)

total dep + rend

rend

total

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

8. Calcule e mostre a área de um triângulo.

Início

real: base, altura

area (base * altura) / 2.

Fim

Diagrama de Bloco

Pseudocódigo

total

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

9. Calcule e mostre a área de um círculo sendo fornecido pelo usuário o raio.

Diagrama de Bloco

Início

real: raio

pi 3.1415

Fim

area pi * raio^2

Pseudocódigo

area

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

10. Receba um número positivo e maior que zero, calcule e mostre o quadrado, o cubo, a raiz quadrada e a raiz cúbica.

Diagrama de Bloco

Início

real: num

Fim

quad <- num^2

cub <- num^3

rquad num^(1/2.)

rcub num^(1/3.)

Pseudocódigo

quad

cub

rquad

rcub

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

11. Receba dois números maiores que zero, calcule e mostre um elevado ao outro.

Diagrama de Bloco

Início

real:num1, num2

Fim

r1 num1 ^ num2

r2 num2 ^ num1

Pseudocódigo

r1

r2

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

12. Receba uma medida em pés, faça as conversões para polegadas, jardas e milhas e mostre os resultados.

Diagrama de Bloco

Início

real: pes

Fim

p pes * 12

j pes * 0.333333

m pes * 0.000189394

Pseudocódigo

p

j

m

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

13. Receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre a idade dessa pessoa e quantos anos essa pessoa terá em 2050.

Diagrama de Bloco

Início

Inteiro: ano_atual, ano_nasc

Fim

idade_atual ano_atual - ano_nasc

idade_meta ano_meta - ano_nascPseudocódigo

ano_meta 2050

Idade_atual

ano_meta

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

14. Pedro comprou um saco de ração com peso em quilos. Pedro possui dois gatos para os quaisfornece a quantidade de ração em gramas. Faça um algoritmo que receba o peso do saco de ração ea quantidade de ração fornecida para cada gato. Calcule e mostre quanto restará de ração no sacoapós cinco dias.

Pseudocódigo

Diagrama de Bloco

Início

real: peso_racao, racao_g1, racao_g2

Fim

racao_g1 racao_g1 / 1000.

racao_g2 racao_g2 / 1000.

total peso_racao - dias * (racao_g1 + racao_g2)

dias <- 5

total

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

15. Receba o número de horas trabalhadas e o valor do salário mínimo. Calcule e mostre o salário a receber seguindo asregras: a hora trabalhada vale 1/10 do salário mínimo; o salário bruto equivale ao número de horas trabalhadas multiplicadopelo valor da hora trabalhada; o imposto equivale a 3% do salário bruto; o salário a receber equivale ao salário bruto menoso imposto.

Diagrama de Bloco

Início

Fim

perc_imp 3

vlr_hor_trab vlr_sal_min/10.

sal_brut num_hor_trab * vlr_hor_trab

imp sal_brut * perc_imp / 100.

sal_liq sal_brut - imp

Pseudocódigo

real: num_hor_trab, vlr_sal_min

sal_liq

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

16. Cada degrau de uma escada tem X de altura. Receba essa altura e a altura que ousuário deseja alcançar subindo a escada. Calcule e mostre quantos degraus ousuário deverá subir para atingir seu objetivo, sem se preocupar com a altura dousuário.

PseudocódigoDiagrama de Bloco

Início

Real: alt_dg, alt_obj

Fim

qtd_dgs alt_obj / alt_dg

qtd_dgs

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

17. Calcule e mostre a que distância deve estar uma escada da parede. O usuáriodeve fornecer o tamanho da escada e a altura em que deseja pregar o quadro.Lembre-se de que o tamanho da escada deve ser maior que a altura que se desejaalcançar.

Pseudocódigo

Diagrama de Bloco

Início

real: tam_esc, alt_quad

Fim

dist_esc (tam_esc ^ 2) - (alt_quad ^ 2)

dist_esc dist_esc^(1/2.)

dist_esc

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

18. Receba um número real, calcule e mostre: a parte inteira desse número; a partefracionária desse número; o arredondamento desse número.

Pseudocódigo

Diagrama de Bloco

Início

num

Fim

i int (num)

f frac(num)

a arred (num)

i, f, a

CURSO DE ENGENHARIA ELÉTRICAAlgoritmos e Programação

Prof. Dr. Érico Fernando O. Martins

19. Receba uma hora formada por horas e minutos (um número real), calcule e mostre a horadigitada apenas em minutos.

Diagrama de Bloco

Início

hora

conversao

Fim

h int (hora)

m hora - h

conversao (h * 60) + (m * 100)

Pseudocódigo