diff --git a/notebooks/pt/c01java/s02emprestimo/emprestimo02-java.ipynb b/notebooks/pt/c01java/s02emprestimo/emprestimo02-java.ipynb deleted file mode 100644 index 8ac32a6..0000000 --- a/notebooks/pt/c01java/s02emprestimo/emprestimo02-java.ipynb +++ /dev/null @@ -1,207 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Do C ao Java\n", - "\n", - "Você está em um kernel em Java. Da mesma forma que no C++, este é um ambiente simplificado em que você pode escrever comandos diretamente (diferente do Java original).\n", - "\n", - "Por exemplo, para escrever algo no console (semelhante ao `printf`) use o `System.out.println`." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "O dinossauro pulou na lama\n" - ] - }, - { - "data": { - "text/plain": [ - "null" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "System.out.println(\"O dinossauro pulou na lama\");" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Variáveis e impressão de múltiplos valores\n", - "\n", - "Muita coisa no Java é derivado do C. Por exemplo, a declaração e manipulação de variáveis é equivalente em sua maior parte, como verá no exemplo a seguir.\n", - "\n", - "Você pode imprimir múltiplos valores apenas os concatenando com `+`. O Java cuida de fazer as conversões para concatená-los." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Valor da variavel: 5\n" - ] - }, - { - "data": { - "text/plain": [ - "null" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "int var = 5;\n", - "System.out.println(\"Valor da variavel: \" + var);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Exercicio do Empréstimo\n", - "\n", - "Vamos retomar o exercício feito na aula passada em C sobre o empréstimo.\n", - "\n", - "![Enunciado](poo01-orientacao-objetos-exercicio-financiamento.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Exercício 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": [ - "## Exercício Parte 2 - Escrevendo um módulo\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." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Exercícios no Eclipse\n", - "\n", - "Solucione os exercícios abaixo no Eclipse. A solução deve ser colada aqui no Jupyter, mesmo que você não seja capaz de executá-la aqui." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Exercício 3\n", - "\n", - "Escreva um programa para calcular as raízes de uma equação de 2° grau. O programa deve ler pelo teclado as constantes A, B e C da equação e imprimir as raízes. Importante: se houver apenas uma raiz, deve ser impresso somente um número. Se não houver raízes, deve ser impressa uma mensagem informando." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Exercício 4\n", - "\n", - "Escreva uma função que receba como parâmetro um número inteiro relativo a um mês do ano e retorne uma string com o nome deste mês por extenso. Resolva o problema de suas maneiras:\n", - "* sem um vetor, através de uma estrutura switch/case;\n", - "* com um vetor.\n", - "\n", - "Faça um programa que use essa função, lendo o mês (número) pelo teclado e o imprimindo por extenso. Para fins de simplificação, podem ser usados apenas 3 meses." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Exercício 5\n", - "\n", - "Uma empresa precisa realizar uma estatística do salário de seus funcionários. Para isto precisa de um programa que leia uma lista contendo os salários dos funcionários da empresa, e imprima quantos funcionários ganham salário acima da média. Sabe-se que a empresa possui no máxi 50 funcionários." - ] - }, - { - "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": "11.0.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/notebooks/pt/c01java/s02emprestimo/poo01-orientacao-objetos-exercicio-financiamento.png b/notebooks/pt/c01java/s02emprestimo/poo01-orientacao-objetos-exercicio-financiamento.png deleted file mode 100644 index 11bd7bd..0000000 Binary files a/notebooks/pt/c01java/s02emprestimo/poo01-orientacao-objetos-exercicio-financiamento.png and /dev/null differ diff --git a/notebooks/pt/c01java/s02lab/lab02-java-estruturas.ipynb b/notebooks/pt/c01java/s02lab/lab02-java-estruturas.ipynb new file mode 100644 index 0000000..833ce9f --- /dev/null +++ b/notebooks/pt/c01java/s02lab/lab02-java-estruturas.ipynb @@ -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", + "> Parcelamês = Parcelamês-1 * (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 +}