First of all, you have to determine what the size of each subnet should be. Subnets can have sizes of 4, 8, 16, 32, 64, 128 etc and each of those corresponds to a subnet mask of 255.255.255.252, 255.255.255.248, 255.255.255.240, 255.255.255.224 etc… So for a subnet that can accommodate 27 hosts, you can use a size 32. For 800, keep going by doubling the sizes until you get to a size larger than 800.
Next, you begin with the first subnet which is always the same as the initial network. For the second question, the first subnet would be 192.168.1.0 with a subnet mask providing the 32 addresses, which is 255.255.255.224 or a /27. So the first subnet is 192.168.1.0/27 which provides 32 addresses. The next subnet is 192.168.1.32/27 because it begins the next set of 32 addresses. The next subnet is 192.168.1.64/27 and so on.
This was a very quick review of subnetting. You can find out a lot more at the following lesson and several subsequent lessons as well.
I hope this has been helpful!