\documentclass[a4paper, oneside, 10pt]{article}
\usepackage[unicode]{hyperref}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\date{\today}
\title{}
\author{}
\begin{document}



\subsubsection{\texorpdfstring{Plano B: Um menu variado}{Plano B Um menu variado}}
\label{sec:plano_b_um_menu_variado}


\textbf{Contexto}: Com a vida corrida da pós, é comum que comamos mal (isso quando lembramos de comer). Pensar no que comprar para a semana a cada vez que vamos ao mercado então é mais difícil ainda. Muitas vezes, repetimos algumas das classes de alimento (proteínas, carboidratos, legumes, verduras, gorduras), por não lembrar sequer o que comemos no dia anterior! Assim a função que proponho como plano B irá, com base em um arquivo .csv de alimentos possíveis, aleatorizar os mesmos e planejar uma compra (1 tipo de cada classe)por semana. A função fará com que nenhuma das classes sejam repetidas durante o mês (ou seja, repetições somente a cada quatro semanas), e nem que a mesma combinação entre as classes sejam repetidas também. 

\textbf{Entrada de dados}: Um arquivo .csv, sem acentuação, com as classes de alimentos nas colunas e os tipos possíveis de cada classe nas linhas. Tal arquivo deverá ser criado pelo usuário e os tipos possíveis dentro de cada classe irão variar conforme a gosto do usuário e/ou a disponibilidade na região de residência do usuário. A função terá os seguintes argumentos: data (arquivo.csv  a ser lido), alet.col(aleatorizar os dados de cada coluna separadamente), rep.col (repete colunas, criando uma nova (ex.verduras1,verdurs2,...), caso o usuário queria mais de um tipo de determinada classe, por semana).

\textbf{Verificando os parâmetros de entrada:}

1.As colunas e linhas foram lidas corretamente? Se não, escreve: ,,data não lido corretamente. Verifique a tabulação.

2.As colunas tem o mesmo número de linhas? Se não, cicla a coluna com menor número de linhas, para fazer a combinação.

\textbf{Saída de dados:} Um arquivo .txt com as classes nas colunas e 4 linhas de combinações dessas classes, aleatorizadas para a compra semanal. Caso rep.col=T, a coluna indexada pelo usuário será repetida, a partir da criação de uma nova coluna, que será aleatorizada também independentemente. 

\textbf{Pseudo-código:}

1.Cria a função \texttt{menu} a partir da leitura de data e dos argumentos: \texttt{alet.col}, \texttt{rep.col}.

2.Lê o data e verifica os tamanhos de cada coluna. Se uma for maior que a outra, inicia um ciclo \texttt{for} nas menores colunas, até que todas estejam igualadas em números de linhas.

3. Aleatoriza cada coluna de uma vez. Se \texttt{rep.col} conter argumentos para repetição, cria uma nova coluna com o nome e classe alimentar selecionada pelo usuário e a aleatoriza também. 

4.Cria um ciclo \texttt{for}, de tamanho l até o número total de linhas de data, escolhendo 4 linhas aleatoriamente, para criar o arquivo de saída.

5.Cria o objeto \texttt{menusemanal} onde são guardados as linhas e colunas selecionadas a partir dos ciclos.

7.Exporta o objeto \texttt{menusemanal} como um arquivo .txt a ser salvo no diretório de trabalho.

\end{document}
