MATLAB - 20 Exercícios Básicos Resolvidos
-
Upload
francisco-pereira -
Category
Documents
-
view
224 -
download
1
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;