Challenge

Week - 7 - Checking and correcting the edges

Objective: Create code to display free edges, t edges and temp nodes for equivalence

Procedure:

1. Create procedures for Free edges and t edges with possible null conditions

2. create procedure for deleting edges

3. create gui for buttons to display edges and remove edges

Code:

proc freeedges {} {
*nodecleartempmark
*setdisplayattributes 4 1
*createmark elements 1 "displayed"
*equivalence elements 1 1 3 0 0
*createmark nodes 1 "retrieve"
*nodemarkaddtempmark 1
*createmark components 1 "^edges" "Free_Edges" "T_Edges"
if {[hm_marklength components 1] != 0} {*deletemark components 1;\
*createmark elements 1 "displayed"; *findedges1 elements 1 0 0 0 30} else {*createmark elements 1 "displayed"; *findedges1 elements 1 0 0 0 30}
*clearmarkall 1; *createmark components 1 "^edges"
if {[hm_marklength components 1] !=0} {*setvalue components name=^edges name=Free_Edges;\
*createmark components 1 "Free_Edges";*setvalue comps mark=1 color=#FF0000;*setcomponentdisplayattributes "Free_Edges" 2 1} else {puts "No Free Edges"}
}
proc tedges {} {
*createmark components 1 "^edges"
if {[hm_marklength components 1] != 0} {*deletemark components 1;\
*createmark elements 1 "displayed"; *findedges1 elements 1 1 0 0 30} else {*createmark elements 1 "displayed"; *findedges1 elements 1 1 0 0 30}
*clearmarkall 1; *createmark components 1 "^edges"
if {[hm_marklength components 1] !=0} {*setvalue components name=^edges name=T_Edges;\
*createmark components 1 "T_Edges";*setvalue comps mark=1 color=#00B0F0;*setcomponentdisplayattributes "T_Edges" 2 1} else {puts "No Free Edges"}
}
proc del_comp {a} {
*clearmarkall 1
*createmark components 1 $a
if {[hm_marklength components 1]!=0} {*deletemark components 1}
}
proc del_edges {} {
del_comp "Free_Edges"
del_comp "Free_Edges1"
del_comp "T_Edges"
del_comp "T_Edges1"
del_comp "^edges"
*nodecleartempmark
*setdisplayattributes 2 1
}

set edg .window
catch {destroy $edg}
toplevel $edg -class Toplevel
wm title $edg "Edges"
wm geometry $edg 200x200+500+500
wm resizable $edg 0 0
wm deiconify $edg

button $edg.01 -text "Edges" -command {freeedges;tedges} -font {time 10}; place $edg.01 -x 15 -y 15 -width 50
button $edg.02 -text "Delete Edges" -command {del_edges} -font {time 10}; place $edg.02 -x 75 -y 15 -width 100

Using edges

Deleting edges:

Conclusion:

Code is deployed successfully

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.