###################################################### # PROGRAM JK Flip Flops ###################################################### # NAND gate simulation def NAND(a,b): if a == True and b == True: return False else: return True # END NAND. ###################################################### # FALSE, FALSE Input def FF(): print("Assuming an input of FALSE(J) and FALSE(k)") print("") print(" K J ") print(" | | ") print(" | | ") print("+---------------------------------+") print(" [ ] | | [ ]") print(" | | | |") print(" False False False False") print(" | | | |") print(" ----------- -----------") print(" | | | |") print(" | | | |") print(" \ / \ /") print(" ------- -------") print(" O O") print(" | |") print(" ",NAND(False,False), " ",NAND(False,False)) print(" | |") print(" | |") print(" | [ ] [ ] |") print(" | | | |") print(" | False False |") print(" | | | |") print(" ----------- -----------") print(" | | | |") print(" | | | |") print(" \ / \ /") print(" ------- -------") print(" O O") print(" | |") print(" ",NAND(True,False), " ",NAND(False,True)) print(" | |") print(" | |") print("+---------------------------------+") print(" | |") print(" !Q Q") print("") Rtn = input("\nPress Return to continue\n") print("") print(" K J ") print(" | | ") print(" | | ") print("+---------------------------------+") print(" [Q] | | [!Q]") print(" | | | |") print(" True False False True") print(" | | | |") print(" ----------- -----------") print(" | | | |") print(" | | | |") print(" \ / \ /") print(" ------- -------") print(" O O") print(" | |") print(" ",NAND(True,False), " ",NAND(False,True)) print(" | |") print(" | |") print(" | [Q] [!Q] |") print(" | | | |") print(" | True True |") print(" | | | |") print(" ----------- -----------") print(" | | | |") print(" | | | |") print(" \ / \ /") print(" ------- -------") print(" O O") print(" | |") print(" ",NAND(True,True), " ",NAND(True,True)) print(" | |") print(" | |") print("+---------------------------------+") print(" | |") print(" !Q Q") print("") Rtn = input("\nPress Return to continue\n") print("") print(" K J ") print(" | | ") print(" | | ") print("+---------------------------------+") print(" [Q] | | [!Q]") print(" | | | |") print(" False False False False") print(" | | | |") print(" ----------- -----------") print(" | | | |") print(" | | | |") print(" \ / \ /") print(" ------- -------") print(" O O") print(" | |") print(" ",NAND(False,False), " ",NAND(False,False)) print(" | |") print(" | |") print(" | [Q] [!Q] |") print(" | | | |") print(" | False False |") print(" | | | |") print(" ----------- -----------") print(" | | | |") print(" | | | |") print(" \ / \ /") print(" ------- -------") print(" O O") print(" | |") print(" ",NAND(True,False), " ",NAND(False,True)) print(" | |") print(" | |") print("+---------------------------------+") print(" | |") print(" !Q Q") ###################################################### # FALSE, TRUE Input def FT(): print("Assuming an input of FALSE(J) and TRUE(k)") print("") print(" K J ") print(" | | ") print(" | | ") print("+---------------------------------+") print(" [ ] | | [ ]") print(" | | | |") print(" False True False False") print(" | | | |") print(" ----------- -----------") print(" | | | |") print(" | | | |") print(" \ / \ /") print(" ------- -------") print(" O O") print(" | |") print(" ",NAND(False,True), " ",NAND(False,False)) print(" | |") print(" | |") print(" | [ ] [ ] |") print(" | | | |") print(" | False False |") print(" | | | |") print(" ----------- -----------") print(" | | | |") print(" | | | |") print(" \ / \ /") print(" ------- -------") print(" O O") print(" | |") print(" ",NAND(True, False), " ",NAND(False,True)) print(" | |") print(" | |") print("+---------------------------------+") print(" | |") print(" !Q Q") print("") Rtn = input("\nPress Return to continue\n") print("") print(" K J ") print(" | | ") print(" | | ") print("+---------------------------------+") print(" [Q] | | [!Q]") print(" | | | |") print(" True True False True") print(" | | | |") print(" ----------- -----------") print(" | | | |") print(" | | | |") print(" \ / \ /") print(" ------- -------") print(" O O") print(" | |") print(" ",NAND(True,True), " ",NAND(False,True)) print(" | |") print(" | |") print(" | [Q] [!Q] |") print(" | | | |") print(" | True True |") print(" | | | |") print(" ----------- -----------") print(" | | | |") print(" | | | |") print(" \ / \ /") print(" ------- -------") print(" O O") print(" | |") print(" ",NAND(False,True), " ",NAND(True,True)) print(" | |") print(" | |") print("+---------------------------------+") print(" | |") print(" !Q Q") print("") Rtn = input("\nPress Return to continue\n") print("") print(" K J ") print(" | | ") print(" | | ") print("+---------------------------------+") print(" [Q] | | [!Q]") print(" | | | |") print(" False True False True") print(" | | | |") print(" ----------- -----------") print(" | | | |") print(" | | | |") print(" \ / \ /") print(" ------- -------") print(" O O") print(" | |") print(" ",NAND(False,True), " ",NAND(False,True)) print(" | |") print(" | |") print(" | [Q] [!Q] |") print(" | | | |") print(" | False True |") print(" | | | |") print(" ----------- -----------") print(" | | | |") print(" | | | |") print(" \ / \ /") print(" ------- -------") print(" O O") print(" | |") print(" ",NAND(True,False), " ",NAND(True,True)) print(" | |") print(" | |") print("+---------------------------------+") print(" | |") print(" !Q Q") ###################################################### ################ # MAIN PROGRAM # ################ print("") print(" K J ") print(" | | ") print(" | | ") print("+---------------------------------+") print("| |") print("| |") print("| J-K Flip Flop |") print("| |") print("| |") print("+---------------------------------+") print(" | | ") print(" | | ") print(" !Q Q ") print("") print("") print("") print("Select Inputs to Flip Flop:") print("") print("1. FALSE(j), FALSE(k)") print("2. FALSE(j), TRUE (k)") print("3. TRUE (j), FALSE(k)") print("4. TRUE (j), TRUE (k)") print("") print("") choice = input("Enter choice(1/2/3/4):") if choice == '1': FF() elif choice == '2': FT() elif choice == '3': print("Function yet to be implemented") elif choice == '4': print("Function yet to be implemented") else: print("Invalid input") # ENDIF