A ser entregue no dia 30/mar (Nova data!)

CK 017 A - Primeiro Trabalho - 07.1


EXPRESSÕES HORÁRIAS SIMPLES
Cortesia de Leandro Sales


Este primeiro trabalho tem o propósito de introduzir os alunos nas dificuldades relacionadas às análises léxica e sintática de um programa quando não se está usando uma ferramenta de apoio.

Escreva um programa para ler uma linha contendo uma expressão horária e imprimir seu resultado. São válidas as seguintes observações com respeito às expressões horárias:

Seu programa deverá ser capaz de reconhecer e encontrar o valor das expressões sintaticamente corretas, mas também de reconhecer e indicar possíveis erros, apontando exatamente para o local da entrada causador da falha.

EXEMPLO

O programa deverá ler continuamente diversas linhas, indicando seus potenciais erros, até que uma linha nula seja digitada.

O trabalho pode ser feito individualmente ou em duplas (DE DOIS ALUNOS!).


COMENTÁRIOS

O trabalho deverá ser feito na linguagem python. Esta é uma ótima oportunidade de você aprender uma das ferramentas que mais crescem ultimamente. Aqui estão alguns links de ajuda:


Outras possibilidades de Linguagens de Programa¸ão (escolha apenas uma):

+, ABC, Ada, Alan, ALF, Algol, Alloy, Amiga, E, AMPL, APL, AWK, B, BASIC, BCPL, BETA, Bliss, Blue, Business, Rules!, C, C++, Cecil, Centum, Charity, CHILL, CLAIRE, Clean, COBOL, COMAL, Corn, cT, D, DCL, Dylan, E, Eiffel, elastiC, Elf, Erlang, Euphoria, Felix, ferite, Forth, Fortran, Fortress, Fril, GNU, E, Guile, , Haskell, Hugo, ICI, Icon, Inform, J, Java, Joy, K, LabVIEW, Lava, LIFE, Limbo, Lingo, LISP, LOGO, Lua, Matlab, MC#, MCPL, Mercury, Miranda, ML, Modula-2, Modula-3, Nemerle, NeoBook, NESL, NetRexx, Oberon-2, Objective-C, Obliq, Occam, Octave, Oz, Pascal, Perl, Phantom, (Phi), PHP, Pike, (LPC), PiXCL, PL/B, PL/I, Pliant, Postscript, Prolog, Q, R, REBOL, Rexx, RPG, RPL/2, Ruby, S, Sather, Scheme, Self, SETL, Simula, Sisal, Smalltalk, SNOBOL, SR, TADS, Tcl, Theta, TOM, Turing, Visual, Basic, WinBatch (WIL), Yorick ou ZPL

Bônus adicionais serão dados para quem fizer mais do que o pedido. Por exemplo, que tal uma linda interface gráfica usando pyGTK? Trabalhos atrasados serão penalizados com um ponto por cada dia de atraso. Nenhum trabalho será mais aceito após a devolução dos mesmos pelo professor.

Retorno à página do curso.