Virus may be a program or a few pieces of codes that is infected to the computer system by different ways such as e-mails transferring. After received the e-mail and interacted to activate the virus contained file. Then the virus may replicate themselves throughout the network without needing a host program. It has an incubation period and is destructive.
Worm may be a program or algorithm that replicates itself and performs malicious actions. It may execute the Trojan horse program that the user does not notice. Then the remote controller outside the computer may control the internal programs or steal some files.
Both of the above virus and worm may carry the Trojan horse program and infect to the victim’s computer. They are very similar to each other while the virus may not need a host program for replication and execution of virus program.