""" AO PREENCHER ESSE CABEÇALHO COM O MEU NOME E O MEU NÚMERO USP, DECLARO QUE SOU O ÚNICO AUTOR E RESPONSÁVEL POR ESSE PROGRAMA. TODAS AS PARTES ORIGINAIS DESSE EXERCÍCIO PROGRAMA (EP) FORAM DESENVOLVIDAS E IMPLEMENTADAS POR MIM SEGUINDO AS INSTRUÇÕES DESSE EP E QUE PORTANTO NÃO CONSTITUEM DESONESTIDADE ACADÊMICA OU PLÁGIO. DECLARO TAMBÉM QUE SOU RESPONSÁVEL POR TODAS AS CÓPIAS DESSE PROGRAMA E QUE EU NÃO DISTRIBUI OU FACILITEI A SUA DISTRIBUIÇÃO. ESTOU CIENTE QUE OS CASOS DE PLÁGIO E DESONESTIDADE ACADÊMICA SERÃO TRATADOS SEGUNDO OS CRITÉRIOS DIVULGADOS NA PÁGINA DA DISCIPLINA. ENTENDO QUE EPS SEM ASSINATURA NÃO SERÃO CORRIGIDOS E, AINDA ASSIM, PODERÃO SER PUNIDOS POR DESONESTIDADE ACADÊMICA. Nome : NUSP : Turma: MAE, MAP, MAT, IF, Poli, ECA, etc Prof.: Referências: Com exceção das rotinas fornecidas no enunciado e em sala de aula, caso você tenha utilizado alguma refência, liste-as abaixo para que o seu programa não seja considerado plágio ou irregular. Exemplo: - O algoritmo Quicksort foi baseado em http://www.ime.usp.br/~pf/algoritmos/aulas/quick.html """ ''' TAREFA: Leia com atenção o enunciado. Em caso dúvida, pergunte no fórum de discussão. Depois, escreva a função regua() e depois a função main(). A função regua() deve ser RECURSIVA. ''' ##################################################################### # CONSTANTES PROMPT = "régua >>> " QUIT = "q" #------------------------------------------------------------ def main(): '''(None) -> None Abre um prompt e para cada inteiro n >= digitado imprime uma régua de ordem n. Se o caractere 'q' é digitado o programa é encerrado. ''' print("Vixe! Ainda não fiz a função main().") print("Vixe! " + regua(0)) #------------------------------------------------------------ def regua(n, s = ''): '''(int, str) -> str Recebe um inteiro n e um string s e retorna s concatenado ao string que é a representação do interior da régua de ordem n. Na chamada, se não há dois argumento, a função, por negligência, põe s = '' (string vazio). Importante: Está função __deve__ ser recursiva. Exemplos: >>> regua(1,'') '. -\n' >>> regua(1) # por negligência s = '' '. -\n' >>> regua(2,'') '. -\n. --\n. -\n' >>> regua(2) # por negligência s = '' '. -\n. --\n. -\n' >>> regua(2,'vixe!\n') 'vixe!\n. -\n. --\n. -\n' >>> print(regua(2,'vixe!\n')) vixe! . - . -- . - >>> print(regua(2,'.\n')+'.') . . - . -- . - . >>> print('.' + regua(2) + '.') .. - . -- . - . >>> print('.\n' + regua(2) + '.') . . - . -- . - . >>> print('.\n' + regua(3) + '.') . . - . -- . - . --- . - . -- . - . >>> print('.\n' + regua(4) + '.') . . - . -- . - . --- . - . -- . - . ---- . - . -- . - . --- . - . -- . - . >>> ''' return "Ainda não fiz a função regua()." #------------------------------------------------------------ def help(): '''(None) -> None Imprime uma mensagem explicativa sobre o funcionamento do programa. Se você desejar e achar necessário, pode usar essa função. Se você não vir necessidade, ignore-a. ''' print("Digite\n"+ " 'q' para encerrar a execução ou\n"+ " um inteiro n para imprimir a régua de ordem n.") #------------------------------------------------------------ # A chama main() mais adiante inicia a execução do programa. # Comente as linhas a seguir enquanto estiver testando individualmente # cada função. if __name__ == "__main__": main()