Exercício 01
Faça um programa que receba a idade de duas pessoas e verifique qual das duas é maior e imprima na tela a idade da pessoa mais velha.
Resposta:
#!/bin/bash
declare -i IDADE1
declare -i IDADE2
printf "\n Digite a idade da primeira pessoa"
read IDADE1
printf "\n Digite a idade da segunda pessoa"
read IDADE2
printf "$IDADE1 $IDADE2"
if [ "$IDADE1" -gt "$IDADE2" ] ; then
printf "\n A maior idade e %d" "$IDADE1"
else
printf "\n A maior idade e %d" "$IDADE2"
fi
exit
Exercício 02
Escreva um algoritmo para ler um valor inteiro e escrever se ele está entre os números 1 e 10, ou não está.
Resposta:
#!/bin/bash
declare -i NUMERO
printf "\n Digite um número para verificar se ele está entre 1 e 10"
read NUMERO
if [ $NUMERO -ge 1 ] && [ $NUMERO -le 10 ] ; then
printf "\n O número está entre 1 e 10"
else
printf "\n O número não está entre 1 e 10"
fi
exit
Exercício 03
Faça um algoritmo para ler: a descrição do produto (nome), a quantidade adquirida e o preço unitário. Calcular e escrever o total (total = quantidade adquirida * preço unitário), e o total a pagar (total a pagar = total - desconto), sabendo-se que:
- Se quantidade <= 5 o desconto será de R$ 2.
- Se quantidade > 5 e quantidade <=10 o desconto será de R$ 3.
- Se quantidade > 10 o desconto será de R$ 5.
Resposta:
#!/bin/bash
declare -i QTDAD
declare -i PRECOUNI
declare -i TOTAL
declare -i DESCONTO
printf "\n Digite a descrição do produto \t"
read NOME
printf "\n Digite a quantidade adquirida \t"
read QTDAD
printf "\n Digite o preço unitário do produto \t"
read PRECOUNI
TOTAL="$QTDAD * $PRECOUNI"
if [ "$QTDAD" -le 5 ] ; then
DESCONTO="$TOTAL - 2 "
elif [ "$QTDAD" -gt 5 ] && [ "$QTDAD" -le 10 ] ; then
DESCONTO="$TOTAL - 3"
else
DESCONTO="$TOTAL - 5"
fi
printf "\n Para o produto %s \t" "$NOME"
printf "\n O valor total do produto adquirido é \t %d" "$TOTAL"
printf "\n O valor com desconto é %d \t" "$DESCONTO"
exit
Exercício 04
Elabore um programa que solicite ao usuário o sexo e a altura de 10 pessoas. Calcular e escrever o peso ideal de acordo com a fórmula a seguir:
- Homens: (72 * h ) - 58
- Mulheres: (62 * h ) - 44
Resposta:
#!/bin/bash
declare -i ALTURA
declare -i CALCULO
for (( CONT=0 ; CONT<10 ; CONT++ )) ; do
printf "\n Digite M para masculino e F para feminino \t"
read SEXO
printf "\n Digite a sua altura \t"
read ALTURA
if [ "$SEXO" == F ] ; then
CALCULO="62 * $ALTURA - 44"
elif [ "$SEXO" == M ] ; then
CALCULO="72 * $ALTURA - 58"
else
printf "Opção inválida"
fi
printf "\n Para o sexo %s o peso ideal é %d \t" "$SEXO $CALCULO"
done
Exercício 05
Faça um programa que leia um número inteiro (limite), um incremento (
incr, inteiro) e imprima os números inteiros de 0 até limite, com incremento de
incr. Suponha que limite e
incr são maiores que zero.
Exemplo:
- Valores lidos: 10 (limite) 3 (incr)
- Saída do programa: 0 3 6 9
Resposta:
#!/bin/bash
declare -i LIMITE
declare -i INCR
printf "\n Digite o limite \t"
read LIMITE
printf "\n Digite o incremento \t"
read INCR
for (( CONT=0; CONT<$LIMITE; CONT=$CONT+$INCR)) ; do
printf "\t %d \t" "$CONT"
done
exit
Exercício 06
Crie um script que realize a leitura dos dados, de uma String
S e um valor inteiro
N, e crie uma função que exiba na tela o valor da variável
S por
N vezes seguidas.
Resposta:
#!/bin/bash
declare -i N
function ExibeNaTela(){
for(( CONT=0 ; CONT<$1 ; CONT++ )) ; do
printf "\n %s" "$2"
done
}
printf "\n Digite um valor para ser exibido \t"
read S
printf "\n Digite a quantidade de vezes que a mensagem deverá ser exibida \t"
read N
ExibeNaTela "$N" "$S"
Exercício 07
Crie uma função que receba dois números inteiros positivos
X e
Y, e retorne a soma dos
N números existentes entre eles (inclusive X e Y). Exiba a soma.
Resposta:
#!/bin/bash
declare -i X Y
function SomaPositivo(){
declare -g SOMA
REC="$1"
REC2="$2"
SOMA="0"
for(( CONT=$REC ; CONT<$REC2 ; CONT++ )) ; do
let "SOMA=$SOMA+$CONT"
done
}
printf "\n Digite um número \t"
read X
printf "\n Digite um número \t"
read Y
SomaPositivo "$X" "$Y"
printf "\n O valor de x é %d o valor de y é %d" "$X" "$Y"
printf "\n A soma dos valores é %s" "$SOMA"
exit
Referência:
Scripts de Shell Linux com Bash (Ken O. Burtch)