We examine several extensions and variants of Plotkin's language PCF, including non-deterministic and probabilistic choice constructs. For each, we give an operational and a denotational semantics, and compare them. In each case, we show soundness and computational adequacy: the two semantics compute the same values at ground types. Beyond this, we establish full abstraction (the observational preorder coincides with the denotational preorder) in a number of cases. In the probabilistic cases, this requires the addition of so-called statistical termination testers to the language.