{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Introdução ao notebook Jupyter\n", "\n", "O notebook [jupyter](https://jupyter.org/) é um aplicativo de código aberto para criação de documentos que contêm código de programação, equações, gráficos e texto.\n", "O notebook suporta diversas linguagens de programação, em particular a linguagem [Julia](https://julialang.org).\n", "\n", "## Como usar o notebook\n", "\n", "Para experimentar o notebook jupyter, sugerimos criar uma conta no [Cocalc](https://cocalc.com/) e abrir um notebook com o kernel da Julia.\n", "\n", "## Editando uma célula\n", "\n", "Para editar uma célula, selecione a célula e pressione `Enter` (a moldura da célula vai ficar verde, indicando que você está no modo de edição).\n", "\n", "Para sair do modo de edição, pressione `Esc` (a moldura vai ficar azul, indicando que você está no modo normal).\n", "\n", "## Executando uma célula\n", "\n", "Para executar uma célula, pressione `Shift-Enter` (segure o `Shift` e tecle `Enter`) ou clique no botão `Run` da barra de ferramentas acima.\n", "A célula será executada e o cursor será movido para a próxima célula.\n", "\n", "Para executar uma célula e permanecer na mesma célula, pressione `Ctrl-Enter`.\n", "\n", "Para executar uma célula e inserir uma nova célula abaixo dela, pressione `Alt-Enter`.\n", "\n", "Como exemplo, escolhemos a Julia como kernel deste notebook.\n", "Execute as células abaixo com as teclas que mencionamos e veja o que ocorre." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1 + 3" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1 + 3\n", "2^3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Quando executamos uma célula, observe que apenas a saída do último comando é exibida na tela (veja a célula anterior).\n", "Podemos suprimir a saída de um comando incluindo ponto-e-vírgula no fim do comando:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "1 + 1\n", "1 + 2;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Inserindo texto em markdown e latex\n", "\n", "Cada célula do notebook pode conter código ou texto em [markdown](https://docs.pipz.com/br/central-de-ajuda/learning-center/guia-basico-de-markdown/) e [latex](http://linorg.usp.br/CTAN/info/lshort/portuguese-BR/lshortBR.pdf).\n", "As células padrão são do tipo código.\n", "\n", "Para alterar o tipo de uma célula para markdown, selecione a célula e pressione `M` (ou clique em `Cell > Change to markdown`).\n", "\n", "Para alterar o tipo de uma célula para código, selecione a célula e pressione `Y` (ou clique em `Cell > Change to code`).\n", "\n", "No modo markdown, você pode digitar texto usando markdown e latex.\n", "\n", "## Excluindo uma célula\n", "\n", "Para excluir uma célula, pressione `dd` sobre ela (ou clique em `Edit > Delete cells`).\n", "\n", "## Use a barra de ferramentas\n", "\n", "Todas as operações sobre células podem ser realizadas usando o mouse através da barra de ferramentas.\n", "Como vimos acima, algumas dessas operações também podem ser feitas usando teclas de atalho.\n", "\n", "## Acessando a documentação de uma função\n", "\n", "Para acessar a documentação de uma função, preceda a função com um ponto de interrogação.\n", "Por exemplo, para acessar a documentação da função `println`, usamos o comando" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "search: \u001b[0m\u001b[1mp\u001b[22m\u001b[0m\u001b[1mr\u001b[22m\u001b[0m\u001b[1mi\u001b[22m\u001b[0m\u001b[1mn\u001b[22m\u001b[0m\u001b[1mt\u001b[22m\u001b[0m\u001b[1ml\u001b[22m\u001b[0m\u001b[1mn\u001b[22m \u001b[0m\u001b[1mp\u001b[22m\u001b[0m\u001b[1mr\u001b[22m\u001b[0m\u001b[1mi\u001b[22m\u001b[0m\u001b[1mn\u001b[22m\u001b[0m\u001b[1mt\u001b[22msty\u001b[0m\u001b[1ml\u001b[22med \u001b[0m\u001b[1mp\u001b[22m\u001b[0m\u001b[1mr\u001b[22m\u001b[0m\u001b[1mi\u001b[22m\u001b[0m\u001b[1mn\u001b[22m\u001b[0m\u001b[1mt\u001b[22m s\u001b[0m\u001b[1mp\u001b[22m\u001b[0m\u001b[1mr\u001b[22m\u001b[0m\u001b[1mi\u001b[22m\u001b[0m\u001b[1mn\u001b[22m\u001b[0m\u001b[1mt\u001b[22m is\u001b[0m\u001b[1mp\u001b[22m\u001b[0m\u001b[1mr\u001b[22m\u001b[0m\u001b[1mi\u001b[22m\u001b[0m\u001b[1mn\u001b[22m\u001b[0m\u001b[1mt\u001b[22m\n", "\n" ] }, { "data": { "text/latex": [ "\\begin{verbatim}\n", "println([io::IO], xs...)\n", "\\end{verbatim}\n", "Print (using \\href{@ref}{\\texttt{print}}) \\texttt{xs} to \\texttt{io} followed by a newline. If \\texttt{io} is not supplied, prints to the default output stream \\href{@ref}{\\texttt{stdout}}.\n", "\n", "See also \\href{@ref}{\\texttt{printstyled}} to add colors etc.\n", "\n", "\\section{Examples}\n", "\\begin{verbatim}\n", "julia> println(\"Hello, world\")\n", "Hello, world\n", "\n", "julia> io = IOBuffer();\n", "\n", "julia> println(io, \"Hello\", ',', \" world.\")\n", "\n", "julia> String(take!(io))\n", "\"Hello, world.\\n\"\n", "\\end{verbatim}\n" ], "text/markdown": [ "```\n", "println([io::IO], xs...)\n", "```\n", "\n", "Print (using [`print`](@ref)) `xs` to `io` followed by a newline. If `io` is not supplied, prints to the default output stream [`stdout`](@ref).\n", "\n", "See also [`printstyled`](@ref) to add colors etc.\n", "\n", "# Examples\n", "\n", "```jldoctest\n", "julia> println(\"Hello, world\")\n", "Hello, world\n", "\n", "julia> io = IOBuffer();\n", "\n", "julia> println(io, \"Hello\", ',', \" world.\")\n", "\n", "julia> String(take!(io))\n", "\"Hello, world.\\n\"\n", "```\n" ], "text/plain": [ "\u001b[36m println([io::IO], xs...)\u001b[39m\n", "\n", " Print (using \u001b[36mprint\u001b[39m) \u001b[36mxs\u001b[39m to \u001b[36mio\u001b[39m followed by a newline. If \u001b[36mio\u001b[39m is not supplied,\n", " prints to the default output stream \u001b[36mstdout\u001b[39m.\n", "\n", " See also \u001b[36mprintstyled\u001b[39m to add colors etc.\n", "\n", "\u001b[1m Examples\u001b[22m\n", "\u001b[1m ≡≡≡≡≡≡≡≡≡≡\u001b[22m\n", "\n", "\u001b[36m julia> println(\"Hello, world\")\u001b[39m\n", "\u001b[36m Hello, world\u001b[39m\n", "\u001b[36m \u001b[39m\n", "\u001b[36m julia> io = IOBuffer();\u001b[39m\n", "\u001b[36m \u001b[39m\n", "\u001b[36m julia> println(io, \"Hello\", ',', \" world.\")\u001b[39m\n", "\u001b[36m \u001b[39m\n", "\u001b[36m julia> String(take!(io))\u001b[39m\n", "\u001b[36m \"Hello, world.\\n\"\u001b[39m" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "?println" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vamos usar a função `println` para imprimir \"Olá, Julia\" na tela:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Olá, Julia\n" ] } ], "source": [ "println(\"Olá, Julia\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dica para traduzir a documentação\n", "\n", "Selecione o parágrafo que você quer traduzir com o mouse e copie e cole o conteúdo em https://translate.google.com.\n", "\n", "Por exemplo, na documentação da função `println`, selecionamos o parágrafo\n", "\n", "> Print (using print) xs followed by a newline. If io is not supplied, prints to stdout.\n", "\n", "e obtivemos a tradução\n", "\n", "> Imprimir (usando impressão) xs seguido por uma nova linha. Se io não for fornecido, imprime para stdout." ] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.8.2", "language": "julia", "name": "julia-1.8" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.8.2" } }, "nbformat": 4, "nbformat_minor": 4 }