Engenharia Mecânica
Laboratório de Programação de Computadores I
Professor: Lucas Schmidt
Solução Exercício 6
Faça os exercícios abaixo na ferramenta MATLAB e apresente seus RESULTADOS.
1 Escreva uma função que receba um número inteiro e imprima o mês correspondente ao número. Por
exemplo, 2 corresponde à “fevereiro”. A função deve mostrar uma mensagem de erro caso o número recebido
não faça sentido. Gere também um programa que leia um valor e chame a função criada.
funcao.m
function funcao ( mes )
if (mes == 1)
disp ("Janeiro");
else if (mes == 2)
disp ("Fevereiro");
else if (mes == 3)
disp ("Março");
else if (mes == 4)
disp ("Abril");
else if (mes == 5)
disp ("Maio");
else if (mes == 6)
disp ("Junho");
else if (mes == 7)
disp ("Julho");
else if (mes == 8)
disp ("Agosto");
else if (mes == 9)
disp ("Setembro");
else if (mes == 10)
disp ("Outubro");
else if (mes == 11)
disp ("Novembro");
else if (mes == 12)
disp ("Dezembro");
else
disp ("Numero invalido");
end
end
programa.m
mes = input('Digite um numero correspondente a um mes: ');
funcao(mes);
2 Escreva uma função que gere um cabeçalho para um relatório. Essa função deve receber um texto (string)
como parâmetro. O cabeçalho tem a seguinte forma:
============================================
UFMG – Universidade Federal de Minas Gerais
ICEx – Instituto de Ciências Exatas
Disciplina de Programação de Computadores
Nome: Fulano de Tal
============================================ ,
onde Fulano de Tal, corresponde ao parâmetro passado.
funcao.m
function funcao ( nome )
fprintf('============================================\n');
fprintf('UFMG – Universidade Federal de Minas Gerais\n');
fprintf('ICEx – Instituto de Ciências Exatas\n');
fprintf('Disciplina de Programação de Computadores\n');
fprintf('Nome: %s \n', nome);
fprintf('============================================\n');
end
programa.m
nome = input('Digite um nome para o cabeçalho: ');
funcao(nome);
3 Criar uma função que determine se um caractere, recebido como parâmetro, é ou não uma letra do
alfabeto. A função deve retornar 1 caso positivo e 0 em caso contrário. Escreva também um programa para
testar tal função.
funcao.m
function retorno = funcao ( letra )
if (letra == 'q' | letra == 'w' | letra == 'e' | letra == 'r' | letra == 't' |
letra == 'y' | letra == 'u' | letra == 'i' | letra == 'o' | letra == 'p' | letra
== 'a' | letra == 's' | letra == 'd' | letra == 'f' | letra == 'g' | letra == 'h'
| letra == 'j' | letra == 'k' | letra == 'l' | letra == 'ç' | letra == 'z' | letra
== 'x' | letra == 'c' | letra == 'v' | letra == 'b' | letra == 'n' | letra == 'm')
retorno = 1;
else
retorno = 0;
end
end
programa.m
letra = input('Digite uma letra: ', 's');
disp(funcao(letra));
4 Um número é dito ser capicua quando lido da esquerda para a direita é o mesmo que quando lido da direita
para a esquerda. O ano 2002, por exemplo, é capicua. Então, elabore uma função para verificar se um número
possui essa característica. Caso o número seja capicua, a função deve retornar 1 e 0 em caso contrário.
Escreva também um programa para testar tal função.
funcao.m
function retorno = funcao ( value )
if isnumeric(value)
value = int2str(value);
end
tam = length(value);
str1 = "";
for i = 1:tam
str1 = strcat(str1,value(i));
end
str2 = "";
for j = tam: 1: 1
str2 = strcat(str2,value(j));
end
if (str1 == str2)
retorno = 1;
else
retorno = 0;
end
end
programa.m
capicua = input('Informe um numero ou texto', 's');
disp(funcao(capicua));
5 Criar uma função que calcule e retorne o MENOR entre dois valores recebidos como parâmetro. Um
programa para testar tal função deve ser criado.
funcao.m
function retorno = funcao ( num1, num2 )
if (num1 < num2)
retorno = num1;
else
retorno = num2;
end
end
programa.m
num1 = input('Informe um numero');
num2 = input('Informe outro numero');
fprintf('O menor numero é: %0d', funcao(num1, num2))