Exercise 3 solutions
Table of Contents
Python
e03.py
from math import log, pi # set up constants Msmall = 47.0 Mbig = 67.0 rho = 1.038 c = 3.7 K = 0.0054 Tw = 100.0 Ty = 70.0 whichEgg = bool(raw_input('Is the egg large (1) or small (0)? ')) if (whichEgg == 0): M=Msmall else: M=Mbig print 'enter the initial temperature of the egg' To = float(raw_input('reminder 4.0 for fridge, 20.0 for room: ')) t = (((M**(2.0/3.0))*c*(rho**(1.0/3.0)))/(K*(pi**2)*((4.0*pi/3.0)**(2.0/3.0)))) * log(0.76 * ((To-Tw)/(Ty-Tw))) print "time taken to cook the egg is: %.3f seconds (%d minutes, %d seconds)" % (t, t/60.0, t%60.0)
MATLAB / Octave
e03.m
% set up constants Msmall = 47.0; Mbig = 67.0; rho = 1.038; c = 3.7; K = 0.0054; Tw = 100.0; Ty = 70.0; whichEgg = input('Is the egg large (1) or small (0)? '); if (whichEgg == 0) M=Msmall; else M=Mbig; end; disp(['enter the initial temperature of the egg']); To = input('reminder 4.0 for fridge, 20.0 for room: '); t = (((M^(2.0/3.0))*c*(rho^(1.0/3.0)))/(K*(pi^2)*((4.0*pi/3.0)^(2.0/3.0)))) * log(0.76 * ((To-Tw)/(Ty-Tw))); disp(['time taken to cook the egg is: ',num2str(t),' seconds (',num2str(floor(t/60.0)),' minutes, ',num2str(floor(mod(t,60))),' seconds)']);
R
e03.R
# set up constants Msmall <- 47.0 Mbig <- 67.0 rho <- 1.038 c <- 3.7 K <- 0.0054 Tw <- 100.0 Ty <- 70.0 whichEgg <- as.numeric(readline("Is the egg large (1) or small (0)? ")) if (whichEgg == 0) { M <- Msmall } else { M <- Mbig } cat("enter the initial temperature of the egg\n") To <- as.numeric(readline("reminder 4.0 for fridge, 20.0 for room: ")) t <- (((M**(2.0/3.0))*c*(rho**(1.0/3.0)))/(K*(pi**2)*((4.0*pi/3.0)**(2.0/3.0)))) * log(0.76 * ((To-Tw)/(Ty-Tw))) cat("time taken to cook the egg is:",t,"seconds (",as.integer(t/60),"minutes,",as.integer(t%%60),"seconds)\n")
C
e03.c
// compile with: gcc -o e03 e03.c #include <stdio.h> #include <math.h> int main(int argc, char *argv[]) { float Msmall = 47.0; float Mbig = 67.0; float rho = 1.038; float c = 3.7; float K = 0.0054; float Tw = 100.0; float Ty = 70.0; printf("Is the egg large (1) or small (0)? "); int whichEgg; scanf("%d", &whichEgg); float M; if (whichEgg == 0) { M = Msmall; } else { M = Mbig; } printf("enter the initial temperature of the egg\n"); printf("reminder 4.0 for fridge, 20.0 for room: "); float To; scanf("%f", &To); float pi = 3.14159; float t = (((pow(M,(2.0/3.0)))*c*(pow(rho,(1.0/3.0))))/(K*(pi*pi)*(pow((4.0*pi/3.0),(2.0/3.0))))) * log(0.76 * ((To-Tw)/(Ty-Tw))); printf("time taken to cook the egg is: %.2f seconds (%d minutes, %d seconds)\n", t, (int) (t/60), (int)t%60); return 0; }