Você está na página 1de 6

Exercícios

1. Elabore um programa que calcule e exiba a soma dos números ímpares contidos
entre zero e um número ímpar fornecido via teclado.

RESPOSTA 1
#!/bin/bash

echo "Digite um valor impar: "


read valor
soma=0
for((i=1;i<=$valor;i=i+2))
{
soma=$(($soma+$i))
}
echo "A soma eh: $soma."
==================================
RESPOSTA 2
#!/bin/bash

echo " Digite o valor impar: "


read valor

soma=0
for((i=0;i<=$valor;i++))
{
if [ `expr $i % 2` -eq 1 ]; then
soma=$(($soma+$i))
fi
}
echo " A soma eh: $soma."

***dica do professor***
if [ `expr $i % 2` -eq 1 ]; then (ímpar)
if [ `expr $i % 2` -eq 0 ]; then (par)
===================================================================================
==============================

2. Elabore um programa que calcule e exiba a soma dos números pares contidos entre
zero e um número par fornecido via teclado

RESPOSTA 1
#!/bin/bash

echo" Digite um valor par: "


read valor
soma=0
for((1=2;i<=$valor;i=i+2))
{
soma=$((soma+$i))
}
echo " A soma eh: $soma.

RESPOSTA 2
#!/bin/bash
echo "Digite o valor par: "
read valor
soma=0
for((i=1;i<=$valor;i++))
{
if [ `expr $i % 2` -eq 0 ]; then
soma=$(($soma+$i))
fi
}
echo "A soma eh: $soma."

3. Tem-se um conjunto de dados contendo a altura e o sexo (masculino, feminino) de


50 pessoas. Fazer um programa que calcule e escreva:
a) A maior e a menor altura do grupo;
b) A média de altura das mulheres;
c) O numero de homens.

##!/bin/bash
somaaltmul=0
conth=0
contm=0
for((i=0;i<5;i++))
{
echo "Digite a altura da pessoa: "
read altura
echo "Digite o sexo da pessoa (1) masculino, (2) feminino..."
read sexo
if [ $i -eq 0 ]; then
maior=$altura
menor=$altura
fi
if [ $altura -gt $maior ]; then
maior=$altura
fi
if [ $altura -lt $menor ]; then
menor=$altura
fi
if [ $sexo -eq 1 ]; then
conth=$(($conth+1))
fi
if [ $sexo -eq 2 ]; then
somaaltmul=`echo "scale=2; $(($somaaltmul+$altura))" | bc`
contm=$(($contm+1))
fi
}
media=`echo "scale=2; $somaaltmul/$contm" | bc`
echo "A média da altura das mulheres eh: $media."
echo "A quantidade de homens é: $conth."
echo "O maior eh $maior."
echo "O menor eh $menor."

4. Escreva um programa que calcule a média dos números digitados pelo usuário, se
eles forem pares. Termine a leitura se o usuário digitar zero (0).

#!/bin/bash
soma=0
cont=0
valor=1
until [ $valor -eq 0 ]
do
echo "Digite o valor: "
read valor
if [ `expr $valor % 2` -eq 0 -a $valor -ne 0 ]; then
soma=$(($soma+$valor))
cont=$(($cont+1))
fi
done
media=`echo "scale=2; $soma/$cont" | bc`
echo "A media eh $media."
===============================================================
#!/bin/bash
soma=0
cont=0
valor=1
until [ $valor -eq 0 ]
do
echo " Digite o valor : "
read valor
if [ `expr $valor % 2` -eq 0 -a $valor -ne 0 ]; then
soma=$(($soma+$valor ))
cont=$(($cont+1))
fi
done
media=`echo "scale=2; $soma/$cont" | bc`
echo " A media é: $media
======================================================================

5. Elabore um programa que calcule os múltiplos de 3, compreendidos no intervalo


entre 6 e um dado limite superior fornecido pelo usuário.

#!/bin/bash

===================================================================================
==============
6. Escreva um script que tenha uma função que receba três valores e apresente que
tipo de triangulo é formado.
1) Para formar um triangulo a soma dos outros dois lados deveser maior que o outro
lado
2) Um triangulo é equilatero se os tes lados forem iguais
3) Um triangulo é isoscele se pelo menos dois lados são iguais
3) Um triangulo é escaleno se os tes lados forem diferentes

#!/bin/bash

# nossa funcao
triang()
{
num1=$1
num2=$2
num3=$3

soma1=$(($num1+$num2))
soma2=$(($num1+$num3))
soma3=$(($num2+$num3))

if [ $soma1 -gt $num3 -a $soma2 -gt $num2 -a $soma3 -gt $num1 ]; then
echo "É um triângulo..."
if [ $num1 -eq $num2 -a $num2 -eq $num3 -a $num1 -eq $num3 ]; then
echo "Equilátero.."
elif [ $num1 -eq $num2 -o $num1 -eq $num3 -o $num2 -eq $num3 ]; then
echo "Isósceles..."
elif [ $num1 -ne $num2 -a $num1 -ne $num3 -a $num2 -ne $num3 ]; then
echo "Escaleno..."
fi
else
echo "Não é um triângulo..."
fi
}

# programa principal
echo "Entre com o 1o valor: "
read a
echo "Entre com o 2o valor: "
read b
echo "Entre com o 3o valor: "
read c
triang $a $b $c
===================================================================================
============================

NUMERICOS
As relações utilizadas para testes numéricos são as descritas abaixo:
• -eq : Igual à (equal to).
• -gt : Maior que (greater than).
• -ge : Maior ou igual (greater or equal).
• -lt : Menor que (less than).
• -le : Menor ou igual (less or equal).
• -ne : Não-igual a (not equal to) ou seja -ne:diferente

-----------------------------------------------------------------------------------
-------------------------
LAÇO REPETIÇÃO
while (enquanto)
do(faça)
done (fim_equanto)

until (até que)


do(faça)
done(fim_ate)

for(para)
do(faça)
done (fimpara)

-----------------------------------------------------------------------------------
---------------------------

if ( se )
;then ( então )
else ( senão )
elif (senao se)
fi ( fim )

-----------------------------------------------------------------------------------
------------------------------------
= : recebe
-eq : igual então
-gt : maior
-lt : menor
%: resto
-a: e
-ne: nao

### Operadores lógicos


```bash
! #não
-a #e
-o #ou
-eq #igual
-ne #diferente
-gt #maior que
-ge #maior ou igual
-lt #menor que
-le #menor ou igual
-z #string vazia
-d #é diretório
-f #é arquivo
-r #consegue ler o arquivo
-w #consegue escrever no arquivo
-x #consegue executar o arquivo
===================================================================================
=====================

Operadores aritméticos

As variáveis e constantes numéricas podem ser utilizadas em cálculos matemáticos,


aplicando os operadores:
Pseudocódigo Função C++
* Multiplicação *
/ Divisão /
+ Adição +
- Subtração -
Mod Divisão (resto) %
===================================================================================
======================
Operadores relacionais

Operadores relacionais fazem comparações, ou seja, verificam a relação de magnitude


e igualdade entre dois valores.
São seis os operadores relacionais:
Pseudocódigo Operação C++
= Igual a ==
> Maior que >
< Menor que <
<> Diferente de !=
>= Maior ou igual a >=
<= Menor ou igual a <=

===================================================================================
=========================
Precedência dos operadores

A precedência é o criterio que especifica a ordem de avaliação dos operadores de


uma expressão qualquer. Os operadores de cada categoria possuem a mesma prioridade
e são executados na ordem em que são escritos na instrução da esquerda para
direita:
Categorias e operadores:
1. Negativo, incr/decr. e não lógico: -, ++, --, !
2. Aritméticos: (*, /, %), (+, -)
3. Relacionais: (<, <=, >, >=), (==, !=)
4. Lógicos: &&, ||
5. Ternário: ?:

===================================================================================
==============================
regra dica do professor
comando expr
` expr - so utiliza numeros inteiros
EX
resultado=`expr \( 2 + 10 \) / 2`

calculadora | bc so utiliza numeros decimais


EX
echo 1.99 + 2.45 | bc
c=`echo “$a + $b“ | bc`
echo “$c”

comando scale=2 utiliza números inteiros com resultados decimais


EX
c=`echo "scale=2; $n1*$n2/$n3" | bc`
echo "$c"

Leonardo Benedicto Rodrigues Junior

Oi Leornardo tdb
a Monica aqui
vi q ta fazendo a prova
eu tmb fiquei de AF por 1 ponto
nao fiz ainda to sem internet aqui ,falha na regiao e ainda não retornou.
ta muito dificil os codigos ?

Márcio Rodrigues de Souza Junior

Oi Junior tdb
a Monica aqui
vi q ta fazendo a prova
eu tmb fiquei de AF por 1 ponto
ta muito dificil os pra desenvolver os codigo ??
to sem internet aqui , com falha na regiao previsao de 4 hs pra retorno e nada
ainda

Você também pode gostar