Make Dataframe

df <- data.frame(name = c("Ali", "Ahmad","Sania","Sara", "Adil","Sharjeel",
                          "Subhan","Arbaz","Athar","Hassan","Waleed"),
                 cgpa = c(2.5,3.2,3.9,2.99,3.10,2.99,2.91,2.87,3.2,3.52,2.50),
                 grade = c("D","B","A","C","B","A","B","B","B","A","D"))

(a) which students have cgpa greater or equal 3.10

ind <- df$cgpa >= 3.10
ind <- df$name[ind]
ind
## [1] "Ahmad"  "Sania"  "Adil"   "Athar"  "Hassan"

(b) which students have got B grade

grade <- df$grade == "B"
grade <- df$name[grade]
grade
## [1] "Ahmad"  "Adil"   "Subhan" "Arbaz"  "Athar"

(c) whcih student have cgpa > 3 and got A

cgpa_ind <- df$cgpa > 3
grade_ind <- df$grade == "A"
std_name <- df$name[cgpa_ind & grade_ind]
std_name
## [1] "Sania"  "Hassan"

(d) whcih student have cgpa > 3 or got A

cgpa_ind1 <- df$cgpa > 3
grade_ind1 <- df$grade == "A"
std_name1 <- df$name[cgpa_ind & grade_ind]
std_name1
## [1] "Sania"  "Hassan"