Você está na página 1de 7

Autor: Orlando Tchitali André Tchalale

Matrícula número: 2020207101

ATIVIDADE 2

Questão 1: Implemente as
funções básicas de uma
calculadora, onde o usuário
entre com dois números reais
e entre ainda com o sinal da
operação que quer realizar,
então o programa deve
apresentar o resultado;
continuar recebendo
operandos e operações até
que o operador escolhido
seja igual a “@”.

RESOLUÇÃO

programa
{
funcao inicio()
{
real n1, n2,resultado
caracter op
faca
{
escreva ("Digite o primeiro operando: \n")
leia (n1)
limpa()
escreva("Digite o segundo operando: \n")
leia(n2)
limpa()
escreva("Agora, digite o operador: \n")
leia(op)
limpa()
escolha(op)
{
caso: "+"
resultado=n1+n2
escreva(" o valor é: ", resultado, "\n")
pare
caso: "-"
resultado=n1-n2
escreva(" o valor é: ", resultado, "\n")
pare
caso: "*"
resultado=n1*n2
escreva(" o valor é: ", resultado, "\n")
pare
caso: "/"
resultado=n1/n2
escreva(" o valor é: ", resultado, "\n")
pare
caso:"@"
escreva("Operação encerrada!")
pare
caso contrario:
escreva("O operador digitado não é válido!!")
pare
}
}
enquanto (op=="+" ou op=="-" ou op=="/" ou op=="*" )
}
}

QUESTÃO 2:
Usando estrutura de laço,
calcule de forma incremental
(não recursiva) o valor do
fatorial de um número dado
pelo usuário, dado que: o
fatorial de um número natural
n, representado por n!, é o
produto de todos os inteiros
positivos menores ou iguais a
n.

RESOLUÇÃO

programa {
funcao inicio() {

inteiro numero, contador=1, fatorial=1


escreva ("Digite um número \n")
leia(numero)

enquanto (contador<numero)

{
contador++
fatorial= fatorial*contador
}

escreva (" O fatorial de ", numero, " é: ", fatorial)


ATIVIDADE 3

questão 1: Implementar um programa em Portugol Webestudio que leia dois números inteiros N
(estritamente positivo) entre 1 e 9 e exiba as “tabuadas” de soma, subtração, multiplicação e
divisão inteiras, no seguinte formato:
SOMA SUBTRAÇÃO MULTIPLICAÇÃO DIVISÃO

RESOLUÇÃO

programa {
funcao inicio() {
inteiro x1, x2, i=1, d1, d2

faca{
escreva ("Digite dois números \n")
leia(x1)
leia(x2)

} enquanto (x1<=0 e x2<=0)

escreva (" \n ")


escreva (" TABUADA DE ", x1 "n\ ")
escreva (" \n ")

escreva ("SOMA", "\t\t", "SUBTRAÇÃO", "\t\t", " MULTIPLICAÇÃO",


"\t\t", " DIVISÃO INTEIRA", "\n" )

para (i=1; i<=9; i++)


{
d1=x1/i
escreva (" ", x1, " + ", i, " = ", x1+i, " \t\t",
x1, " - ", i, " = ", x1-i, " \t\t", x1, "*", i, " = ", x1*i, " \t\t", x1,
" / ", i, " = ", d1, "\n")
}
escreva (" \n ")
escreva (" TABUADA DE ", x2 "n\ ")
escreva (" \n ")

escreva ("SOMA", "\t\t", "SUBTRAÇÃO ", "\t\t", "MULTIPLICAÇÃO ",


"\t\t", "DIVISÃO INTEIRA", "\n" )
para (i=1; i<=9; i++)
{
d2=x2/i
escreva (" ", x2, " + ", i, " = ", x2+i, "\t\t",
x2, " - ", i, " = ", x2-i, "\t\t", x2, " * ", i, " = ", x2*i, "\t\t", x2,
" / ", i, " = ", d2, "\n")
}
}
}
QUESTÃO 2:
Implementar um
programa em Portugol
Webestudio que leia um
número inteiro N
(estritamente positivo) e
que escreva o padrão
mostrado na figura do
slide 73 da aula 7

RESOLUÇÃO

programa {
funcao inicio() {

inteiro n, i, j

faca {
escreva ("Digite um número maior que zero: \n")
leia(n)
} enquanto (n<=0)

para(i=1; i<=n; i++)


{
para ( j=1; j<=n-i; j++)
escreva(".")
para (j=1; j<=2*i-1; j++)
escreva("*")

para ( j=1; j<=n-i; j++)


escreva (" ", ".")
para (j=1; j<=2*i-1; j++)
escreva("*")

para ( j=1; j<=n-i; j++)


escreva(".")
escreva ("\n")

}
}
}
ATIVIDADE 4

Implementar um programa em Portugol Webestudio que faça uma função que recebe duas datas
no formato dia (DD), mês (MM) e ano (AAAA) e retorna a diferença entre estas datas expressa em
dias.
– Ano Bissexto – como saber: Tente dividir o ano por 4. Se o resto for diferente de 0, ou seja, se
for indivisível por 4, ele não é bissexto. Se for divisível por 4, é preciso verificar se o ano acaba
em 00 (zero duplo). Em caso negativo, o ano é bissexto. Se terminar em 00, é preciso verificar se
é divisível por 400. Se sim, é bissexto; se não, é um ano normal.

QUANTIDADE DE DIAS PASSADOS

programa {
funcao inicio() {
inteiro dia_recente, mes_recente, ano_recente, dia_antigo,
mes_antigo, ano_antigo, dias=0

escreva(" Digite a data antiga no formato dd mm aaa \n")


leia (dia_antigo, mes_antigo, ano_antigo)

escreva(" Agora, digite a data recente no formato dd mm aaa \n")


leia (dia_recente, mes_recente, ano_recente)

enquanto (dia_antigo<dia_recente ou mes_antigo< mes_recente ou


ano_antigo< ano_recente)
{
dias++
dia_antigo++
se (dia_antigo>30)
{
dia_antigo=1
mes_antigo++
se (mes_antigo>12)
{
ano_antigo++
mes_antigo=1
}
}
}
escreva ("Passaram-se ", dias, " dias")
}
}
ANO BISSEXTO

programa
{
funcao inicio()
{

real ano, resto1, resto2

escreva ("digite um ano: \n")


leia (ano)

resto1= ano % 4
resto2 = ano % 400

escreva ("resto1 = ", resto1, "\n", "resto2 = ",resto2, "\n")


se (resto1==0 ou resto2==0)

{
escreva ("O Ano digitado é bissexto! \n")
}

senao {
escreva ("\n", "Lamento. Infelizmente o ano digitado não é
bissexto.")
}
}
}

ATIVIDADE 5

Sorteio

Implementar uma aplicação no Portugol Webstúdio que crie um vetor


de 50 posições de números reais, preencha este vetor com números
gerados aleatoriamente entre 0 e 100, imprimindo os valores iniciais.
Então, ordene tal vetor usando o método da Bolha, cronometrando o
tempo gasto para tal e, ao final, exiba o tempo gasto e os dados do
vetor já ordenado

RESOLUÇÃO

programa {
inclua biblioteca Util
funcao inicio() {
real i, vet[50], tamanho=50, copia, k=0
para (i=0; i<tamanho; i++)
{
vet[i]=Util.sorteia (0, 100)
escreva (vet[i], " ")
}
faca
{
k=0
para ( i=0; i<tamanho-1; i++)
{
se (vet[i]>vet[i+1])
{
copia= vet[i]
vet[i]= vet[i+1]
vet[i+1]=copia
k=1
}
}
}enquanto(k==1)

escreva("\n")
escreva("\n")

para ( i=0; i<tamanho; i++)


escreva (vet[i], " ")

}
}

Você também pode gostar