Skip to content

Commit

Permalink
feat (java lab): new lab02
Browse files Browse the repository at this point in the history
  • Loading branch information
santanche committed Mar 25, 2021
1 parent 721af86 commit 0adf3d0
Show file tree
Hide file tree
Showing 3 changed files with 155 additions and 207 deletions.
207 changes: 0 additions & 207 deletions notebooks/pt/c01java/s02emprestimo/emprestimo02-java.ipynb

This file was deleted.

Binary file not shown.
155 changes: 155 additions & 0 deletions notebooks/pt/c01java/s02lab/lab02-java-estruturas.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Laboratório em Estruturas de Programação Java\n",
"\n",
"O laboratório a seguir serve para praticar estruturas de programação Java sem compromisso com a orientação a objetos."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Desafio 1 - Empréstimo\n",
"\n",
"Em um financiamento com juros compostos e número de parcelas fixas parte-se dos seguintes parâmetros:\n",
"* `S` - valor da primeira parcela\n",
"* `N` - número de parcelas\n",
"* `J` - percentual de juros mensal\n",
"\n",
"A primeira parcela a ser paga do financiamento é sempre igual a `S`. A partir daí é feita uma atualização mensal da parcela, em que cada nova parcela é calculada a partir da parcela do mês anterior, conforme a fórmula:\n",
"\n",
"> Parcela<sub>mês</sub> = Parcela<sub>mês-1</sub> * (1 + `J` / 100)\n",
"\n",
"O financiamento encerra quando as `N` parcelas são pagas.\n",
"\n",
"Exemplo:\n",
"* `S`: 200\n",
"* `N`: 5\n",
"* `J`: 1%\n",
"\n",
"Parcelas do financiamento:\n",
"`200`; `202`; `204.02`; `206.06`; `208.12`"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Desafio 1 / Parte 1 - Escrevendo o programa sem módulos\n",
"\n",
"Dado o problema descrito, escreva um programa que calcule as parcelas de um empréstimo para os seguintes valores:\n",
"* S: 200\n",
"* N: 5\n",
"* J: 1%\n",
"\n",
"Nesta versão não use outro módulo além da função principal."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Desafio 1 / Parte 2 - Escrevendo módulos\n",
"\n",
"Reescreva o código acima de forma que seu programa faça uso de uma função que seja responsável pelo cálculo de uma parcela X do empréstimo. Podem ser usadas mais funções (métodos) conforme a necessidade."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Desafio 2\n",
"\n",
"Escreva um programa que sorteie um número inteiro entre `0` e `9999` o número deve ser mostrado, em seguida convertido para binário e a versão binária deve ser apresentada no console. A conversão decimal/binário deve ser computada por um programa feito por você."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Desafio 3\n",
"\n",
"Uma molécula de DNA pode ser definida a partir de uma cadeia que representa a sequência de suas bases:\n",
"A - Adenina\n",
"C - Citisina\n",
"G - Guanina\n",
"T - Tinina\n",
"\n",
"Desse modo, uma string pode ser usada para representar um segmento do DNA da seguinte maneira: `ATTACGCGCAAAC`.\n",
"\n",
"Escreva uma função (método) que codifique a cadeia de RNA produzida a partir de uma cadeia de DNA. A função deve ser genérica o suficiente para ser aplicável a qualquer cadeia. A entrada é uma string (DNA) e o retorno é uma string (RNA).\n",
"\n",
"Escreva um programa que teste esta função com uma cadeia de DNA de sua escolha."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Desafio 4\n",
"\n",
"Uma empresa precisa realizar uma estatística do salário de seus funcionários.\n",
"\n",
"Para fins de teste, os salários devem ser gerados aleatoriamente com valores variando entre R\\\\$ 2.500 e R\\\\$ 15.000.\n",
"\n",
"Escreva um programa que gere uma lista contendo os salários de 50 funcionários da empresa e mostre no console quantos funcionários ganham salário acima da média."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Java",
"language": "java",
"name": "java"
},
"language_info": {
"codemirror_mode": "text/x-java",
"file_extension": ".java",
"mimetype": "",
"name": "Java",
"nbconverter_exporter": "",
"version": "1.8.0_121"
}
},
"nbformat": 4,
"nbformat_minor": 4
}

0 comments on commit 0adf3d0

Please sign in to comment.