Android
|
2022 TYT Matematik Onbirinci Sorunun Çözümünü Yapan Android Java Uygulaması
|
|
2022 TYT matematik sorularının çözümünü programlama mantığıyla çözmeye başlayalım. Böylece hem matematik hem de programlama bilgimiz artacaktır. Sorunun çözümünü bilgisayara anlatmak için çözüme ait tüm aşamaları bilmemiz gerekir. Lafı uzatmadan soruyu verelim.

Verilen Bilgiler:
İlk yol ayrımında soldaki yoldan gidilmiş.
İkinci yol ayrımında çiçekçi (Ç)'nin olduğu yoldan gidilmiş.
Üçüncü yol ayrımında sağdaki yoldan gidilmiş.
Şartlar:
p: İlk yol ayrımında soldaki yoldan gidilmiş.
q: İkinci yol ayrımında çiçekçi (Ç)'nin olduğu yoldan gidilmiş.
r: Üçüncü yol ayrımında sağdaki yoldan gidilmiş.
Önerme:
𝑝′∧(𝑞∧𝑟)
Arkadaşların Yolları:
Ahmet: Soldan, soldan, soldan
Banu: Soldan, soldan, sağdan
Cem: Soldan, çiçekçi, soldan
Derya: Soldan, çiçekçi, sağdan
Elif: Sağdan, çiçekçi, sağdan
Çözüm Adımları:
İlk yol ayrımında soldaki yoldan gidilmiş:
p doğru.
Bu durumda Elif elenir. Geriye Ahmet, Banu, Cem, Derya kalır.
İkinci yol ayrımında çiçekçi (Ç)'nin olduğu yoldan gidilmiş:
q doğru.
Bu durumda Ahmet ve Banu elenir. Geriye Cem ve Derya kalır.
Üçüncü yol ayrımında sağdaki yoldan gidilmiş:
r doğru.
Bu durumda Cem elenir. Geriye Derya kalır.
Sonuç:
Filiz, Derya'ya gitmiştir.
Matematiksel Gösterim:
Önermeleri ve arkadaşların yollarını matematiksel olarak ifade edelim:
Ahmet: [sol,sol,sol]
Banu: [sol,sol,sağ ]
Cem: [sol, çiçekçi, sol]
Derya: [sol, çiçekçi, sağ]
Elif: [sağ, çiçekçi, sağ]
Önerme:
p′∧(q∧r)
p′ : İlk yol ayrımında soldaki yoldan gidilmiş.
Doğru
q∧r: İkinci yol ayrımında çiçekçi (Ç)'nin olduğu yoldan gidilmiş ve üçüncü yol ayrımında sağdaki yoldan gidilmiş.
Doğru
Bu önermeye göre Derya'nın yolu
[sol, çiçekçi, sağ] doğru sonucu verir. Bu nedenle Filiz, Derya'ya gitmiştir.
Sorunun çözümünü yapalım.
Önce activity_main sayfasını düzenleyelim.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/findPathButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Find Path"
android:layout_centerInParent="true"/>
<TextView
android:id="@+id/resultTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/findPathButton"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="Result will be displayed here"/>
</RelativeLayout>
Daha sonra MainActivity sayfasını düzenleyelim.
public class MainActivity extends AppCompatActivity {
private TextView resultTextView;
private Button findPathButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
resultTextView = findViewById(R.id.resultTextView);
findPathButton = findViewById(R.id.findPathButton);
findPathButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
findPath();
}
});
}
private void findPath() {
// Bilgileri temsil eden değişkenler
String ilkYol = "sol";
String ikinciYol = "cicekci";
String ucuncuYol = "sag";
// Arkadaşların yollarını temsil eden sözlük
Map<String, List<String>> yollar = new HashMap<>();
yollar.put("Ahmet", createPath("sol", "sol", "sol"));
yollar.put("Banu", createPath("sol", "sol", "sag"));
yollar.put("Cem", createPath("sol", "cicekci", "sol"));
yollar.put("Derya", createPath("sol", "cicekci", "sag"));
yollar.put("Elif", createPath("sag", "cicekci", "sag"));
// Hangi arkadaşın yolu önermeyi sağlıyor?
String sonuc = null;
for (Map.Entry<String, List<String>>
entry : yollar.entrySet()) {
if (OneriDogruMu(entry.getValue(), ilkYol,
ikinciYol, ucuncuYol)) {
sonuc = entry.getKey();
break;
}
}
resultTextView.setText("Filiz, " + (sonuc != null ?
sonuc : "belirlenemedi") + " arkadaşına gitmiştir.");
}
private List<String> createPath(String... paths) {
List<String> pathList = new ArrayList<>();
for (String path : paths) {
pathList.add(path);
}
return pathList;
}
private boolean OneriDogruMu(List<String> yol,
String ilkYol, String ikinciYol, String ucuncuYol) {
return yol.get(0).equals(ilkYol) &&
yol.get(1).equals(ikinciYol) && yol.get(2).equals(ucuncuYol);
}
}
|
|