Всё становится понятно, когда мы узнаём, как звучало и писалось слово «завтрак» в Древней Руси: «заутрок» , то есть то, что съедается «за утра» , в течение утра. Со временем, «за утра» получило значение «на другое утро» , «на другой день» , а первоначальное утратилось.


И это ещё не всё. Если «за утра» писалось раздельно, то позже предлог и существительное слились в одно слово. Его использовал Пушкин в стихотворении «Андрей Шенье» :
Заутра казнь, привычный пир народу…
Последующая эволюция «заутра» связана с превращением полугласного в данном случае звука «у» в звук «в» .
После чего ударение в слове, естественно, не могло остаться на прежнем месте, сместившись на первый слог: «завтра» .
А интересующий нас «Заутрок» стал выглядеть как «завтрок» или «завтрык» , пока не принял привычный для нас буквенный облик: «завтрак» .
Итак, если вы всё поняли правильно, то слово «завтрак» прямо связано с сегодняшним утром, а не с завтрашним днём. А вот слово «обед» первоначально вообще не произносилось к приёму пищи. В нём ясно просматриваются приставка «об-» со значением «около, рядом, при» и древний корень «ед» , тот же, что и в словах «еда» , «есть» . Первоначальное значение слова «обед» - «время до и после еды» , позже – «полуденная еда».

Так же существует версия, что слово "завтрак" произошло потому, что еда готовилась на завтра, на другое утро, «за утро» , и называлась, поэтому завтраком. С рассветом надо было идти на добычу новой пищи, поиски ягод, корешков растений. Некогда было ждать, когда приготовится еда, да и не надо было. Завтрак был готов с вечера. Его приготовили заранее. Сейчас все изменилось.