We must first identify the limiting reactant. Then we can calculate the theoretical and percentage yields.
We know that we will need a balanced equation with masses, moles, and molar masses of the compounds involved, so let's do that first.
Identify the limiting reactant
Gather all the information in one place with molar masses above the formulas and everything else below the formulas.
#M_text(r):color(white)(mmmll)138.1color(white)(mmmm)102.1color(white)(mmmm)180.2#
#color(white)(mmmmm)underbrace("C"_7"H"_6"O"_3)_color(red)("salicylic acid") + underbrace("C"_4"H"_6"O"_3)_color(red)("acetic anhydride") → underbrace("C"_9"H"_8"O"_4)_color(red)("aspirin") + underbrace("C"_2"H"_4"O"_2)_color(red)("acetic acid")#
#color(white)(mmmmmmm)"A"color(white)(mll) +color(white)(mml) "B"color(white)(mml) →color(white)(mll) "C"color(white)(mll) +color(white)(ml) "D"#
#"Mass/g:"color(white)(mm)4.210color(white)(mmmm)16.23#
#"Mmol:"color(white)(mml)30.485color(white)(mmmm)159.0#
#"Divide by:"color(white)(mm)1color(white)(mmmmmm)1#
#"Mmol rxn:"color(white)(l)30.485color(white)(mmmm)159.0#
#"Moles of A" = 4.210 cancel("g A") × "1 mol A"/(138.1 cancel("g A")) = "0.030 485 mol A" = "30.485 mmol rxn"#
#"Mass of B" = 15.0 color(red)(cancel(color(black)("mL B"))) × "1.082 g B"/(1 color(red)(cancel(color(black)("mL B")))) = "16.23 g B"#
#"Moles of B" = 16.23 color(red)(cancel(color(black)("g B"))) × "1 mol B"/(102.1 color(red)(cancel(color(black)("g B")))) = "0.1590 mol B" = "159.0 mmol B"#
#"A"# gives the fewer moles of reaction, so #"A"# is the limiting reactant.
Calculate the theoretical yield
#"0.030 485" cancel("mol A") × (1 color(red)(cancel(color(black)("mol C"))))/(1 color(red)(cancel(color(black)("mol A")))) × "180.2 g C"/(1 cancel("mol C")) = "5.493 g C"#
Calculate the percentage yield
#"% yield" = "actual yield"/"theoretical yield" × 100 % = (3.92 color(red)(cancel(color(black)("g"))))/(5.493 color(red)(cancel(color(black)("g")))) × 100 % = 71.4 %#