MATLAB - 20 Exercícios Básicos Resolvidos

download MATLAB - 20 Exercícios Básicos Resolvidos

of 5

Transcript of MATLAB - 20 Exercícios Básicos Resolvidos

  • 8/19/2019 MATLAB - 20 Exercícios Básicos Resolvidos

    1/8

    EXERCÍCIOS DE MATLAB RESOLVIDOS NA MATÉRIA PROGRAMAÇÃO DE COMPUTADORES 1 DOCURSO DE ENGENHARIA ELETRÔNICA E DE TELECOMUNICAÇÃO DA PUC MINAS.

    ÁLISON BISSOLI

    % Ler 2 números inteiros e verificar e imprimir qual deles é o maior, ou a% mensagem “valores iguais” caso sejam iguais. clcclearnumero1 = input('\nInforme o primeiro número inteiro: ');numero2 = input('Informe o segundo número inteiro: ');

    if (numero1 > numero2)fprintf('\nO maior número é: %d\n', numero1);

    elseif (numero1 < numero2)fprintf('\nO maior número é: %d\n', numero2);

    elsefprintf('\nOs dois números inteiros são iguais\n\n');

    endend

    % O número 3025 possui a seguinte característica:% 30 + 25 = 55

    % 55² = 3055% Fazer um algoritmo que dado um número de 4 dígitos calcule e escreva se% ele possui ou não esta característica. Resposta esperada: 2025,3025,9801clcclearn = input('\nInforme um número de quatro dígitos: ');if ((n < 1000) || (n > 9999))

    error('Número informado não é válido');end;

    if (((fix(n/100) + mod(n,100))^2) == n)

    fprintf('Número informado %d possui a característica solicitada.\n', n);elsefprintf('Número informado %d não possui a característica solicitada.\n', n);

    end;

    % Números palíndromos são aqueles que escritos da direita para esquerda% ou da esquerda para direita tem o mesmo valor. Exemplo:929, 44, 97379.% Fazer um algoritmo que dado um numero de 5 dígitos; calcule e escreva% se este e ou não palíndromo.

    clear;clc;

  • 8/19/2019 MATLAB - 20 Exercícios Básicos Resolvidos

    2/8

     n=input('Informe o número: ');

    n1 = fix(n/10000);r = mod(n,10000);

    n2 = fix(r/1000);r = mod(r,1000);n3 = fix(r/100);r = mod(r,100);n4 = fix(r/10);n5 = mod(r,10);

    if (n1 == n5) && (n2 == n4)fprintf('O número %d é palíndromo.\n', n);

    elsefprintf('O número %d não é palíndromo.\n', n);

    end;

    % Construir um algoritmo para calcular as raízes de uma equação do 2º grau,% sendo dados (lidos) os valores dos coeficientes A, B e C.

    clear;clc;a = input('Informe valor de a: ');b = input('Informe valor de b: ');c = input('Informe valor de c: ');

    delta = (b^2)-(4*a*c);if (delta < 0)fprintf('%dx²+ %dx + %d não possui raízes reais.\n',a,b,c);

    elseif(delta == 0)resultado1 = (b*-1)/(2*a);fprintf('%dx²+ %dx + %d é igual a %0.2f.\n',a,b,c,resultado1);

    elseresultado1 = ((b*-1)+sqrt(delta))/(2*a);resultado2 = ((b*-1)-sqrt(delta))/(2*a);fprintf('\n%dx²+ %dx + %d é igual a [%0.2f,%0.2f].\n\n',a,b,c,resultado1,resultado2);

    end;

    % Um determinado clube de futebol pretende classificar seus atletas em% categorias e para isto ele contratou um programador para criar um% programa que executasse esta tarefa. Para isso o clube criou uma tabela% que continha a faixa etária do atleta e sua categoria. Construa um% programa que solicite o nome e a idade de um atleta e imprima a sua% categoria. A tabela está demonstrada abaixo:%% IDADE CATEGORIA% De 05 a 10 Infantil

    % De 11 a 15 Juvenil% De 16 a 20 Junior

  • 8/19/2019 MATLAB - 20 Exercícios Básicos Resolvidos

    3/8

    % De 21 a 25 Profissional

    clear;clc;

    nome = input('Nome do atleta..: ','s');idade = input('Idade do atleta.: ');

    if ((idade>=5) && (idade=11) && (idade=16) && (idade=21) && (idade

  • 8/19/2019 MATLAB - 20 Exercícios Básicos Resolvidos

    4/8

    endfprintf('Resultado da soma: %d\n', soma);

    % Escreva um programa para ler um conjunto de números

    % e imprimir a média desses números(flag -1)

    clcclear

    soma = 0;cont = -1;atual = 0;

    while (atual ~= -1)cont = cont + 1;

    soma = soma + atual;atual = input('Informe qualquer número para interagir com a média ou -1 para resultado: ');end

    if (cont ~= 0)fprintf('Média: %d\n', (soma/(cont)));

    elsefprintf('Não foram informados números');

    end;

    % Escreva um programa para ler um número é imprimir o seu% fatorial.

    clcclearn = input('Digite um número: ');cont = 1;fat = 1;while (cont

  • 8/19/2019 MATLAB - 20 Exercícios Básicos Resolvidos

    5/8

    f2=1;fn=1;

    while (n > 2)f1=f2

    f2=fn;fn=f1+f2;n=n-1;

    endfprintf('\n O valor do termo solicitado é %d:',fn);

    % Escreva um programa que solicite ao usuário dois números e imprima a soma deles.clcclearPrimeiroNumero=input('\nInforme o primeiro número:');

    SegundoNumero=input('Informe o segundo número:');Soma = PrimeiroNumero + SegundoNumero;fprintf('\nA soma do primeiro e segundo número é: %6.3f\n',Soma); %6 Casas inteiro, 3decimais

    % Peça ao usuário seu nome% a. Imprima o nome do usuário (utilize %s no formato)% b. A variável pré-definida date contem uma string que informa a data atual% c. Imprima uma expressão que informe ao usuário o dia de hoje.clc

    clearNomeUsuario = input('\n\nInforme seu nome: ','s');fprintf('\nCaro %s \nInformamos que hoje é dia%s\n\n',NomeUsuario,datestr(date,'dd/mm/yyyy'));

    % Faça um algoritmo que leia uma temperatura em graus Celsius e% apresente-a convertida em graus Fahrenheit. A fórmula de conversão é:% C = (F – 32) * ( 5 / 9), na qual F é a temperatura em Fahrenheit e C é a% temperatura em Celsius. Teste o programa calculando e imprimindo o% valor em Celsius do valor em Fahrenheit encontrado.

    clcclearInformadoC = input('\nGraus Celsius: ');CalculadoF = (InformadoC * 1.8 + 32);fprintf('Graus F: %3.2f\n', CalculadoF);InformadoF = input('\nGraus Fahrenheit: ');CalculadoC = (InformadoF - 32) * ( 5 / 9 );fprintf('Graus C: %3.2f\n', CalculadoC);

    % Faça um algoritmo que calcule a quantidade de litros de combustível% gasta em uma viagem, utilizando um automóvel que faz 12Km por litro.

  • 8/19/2019 MATLAB - 20 Exercícios Básicos Resolvidos

    6/8

    % Para obter o cálculo, o usuário deve fornecer o tempo gasto na viagem e% a velocidade média durante ela. Desta forma, será possível obter a% distância percorrida com a fórmula DISTANCIA = TEMPO *% VELOCIDADE. Tendo o valor da distância, basta calcular a quantidade% de litros de combustível utilizada na viagem com a fórmula:

    % LITROS_USADOS = DISTANCIA / 12. O programa deve apresentar os% valores da velocidade média, tempo gasto na viagem, a distância% percorrida e a quantidade de litros utilizada na viagem.

    clcclear

    Tempo = input('\nHoras de viagem: ');VelocidadeMedia = input('Velocidade média em KM: ');LitrosUsados = (Tempo * VelocidadeMedia) / 12;fprintf('\nLitros de computível gasta nesta viagem: %5.3f',LitrosUsados);

    % Faça um algoritmo que leia dois valores para as variáveis A e B e efetue% a troca dos valores de forma que a variável A passe a possuir o valor da% variável B e a variável B passe a possuir o valor da variável A.% Apresente os valores trocados.

    clearclc

    A = input('\nInforme o valor para A: ');

    B = input('Informe o valor para B: ');

    %Troca de valoresX = A;A = B;B = X;

    fprintf('\nResultado após troca de valores:');fprintf('\nValor de A: %d',A);fprintf('\nValor de B: %d\n',B);

    % Calcule e imprima o DV de seu CPF. Faça uma pesquisa de como esse número é formado.clearclccpf = input('Informe os 9 primeiros dígitos de seu CPF: ','s');

    soma = 0;

    for d = 1:9numero = cpf(d:d)-'0';

    soma = soma + (numero * (11 - d));end;

  • 8/19/2019 MATLAB - 20 Exercícios Básicos Resolvidos

    7/8

     resto = mod(soma, 11);

    if resto

  • 8/19/2019 MATLAB - 20 Exercícios Básicos Resolvidos

    8/8

    if mod(numero, 2) == 0resultado = 'par';

    elseresultado = 'ímpar';

    end

    fprintf('O número informado %d é %s\n\n', numero, resultado);

    % Crie uma calculadora. As opções serão (‘+’,’-‘,’X’,’/’). O usuário irá digitar o% primeiro termo a opção e o segundo termo e o programa irá mostrar o resultado

    clcclear

    termo1 = input('\nInforme o primeiro termo: ');operacao = input('\nInforme a operação [+,-,/,*]','s');

    termo2 = input('\nInforme o segundo termo: ');

    switch operacaocase '+'

    fprintf('\nResultado: %f\n', termo1+termo2);case '-'

    fprintf('\nResultado: %f\n', termo1-termo2);case '*'

    fprintf('\nResultado: %f\n', termo1*termo2);case '/'

    fprintf('\nResultado: %f\n', termo1/termo2);

    otherwisefprintf('\nOperador não reconhecido.\n');end

    % Desenvolver um algoritmo que leia um numero inteiro e verifique se este e% divisível por 5 e por 3 ao mesmo tempo

    clcclear

    inteiro = input('\nInforme um número inteiro: ');

    if ((mod(inteiro, 3) == 0) && (mod(inteiro, 5) == 0))fprintf('Número informado %d é divisível por 3 e por 5\n', inteiro);

    elsefprintf('Número informado %d não é divisível por 3 e por 5.\n', inteiro);

    end;