Mobil Hafta 06 - Listeler

// DİZİLER, LİSTELER

// listeler, birden fazla değer tutmam gerekiyor ise liste kullanabiliriz
// Listenin içindeki türler aynı olur.
// List<tür> değişkenadı;
// List<String> liste; // liste tanımlandı ama bir listeyi işaret etmiyor. yani null

// List<String> liste = []; boş bir liste ile eşitlendi, artık bir listeyi işaret ediyor.

// List<String> liste = ["İfade1", "ifade2", "ifade3"]; // başlangıçtada değerlere sahip bir liste tanımlanabilir.

void main(List<String> args) {
  List<int> liste = [];
  // liste.length -> listenin uzunluğunu yani eleman sayısını verir.
  print(liste.length);

  // bir listeye eleman ekleme
  liste.add(17);
  liste.add(5);

  print(liste.length);

  // listenin elemanlarına index no ile erişilir. index no 0 dan başlar
  // yani ilk eleman 0. eleman olacaktır, son eleman ise length-1 olacaktır.
  // 5 elemanlı bir listenin son elemanına erişmek için 4 değeri kullanılır.

  // Bir listenin elemanına eriştiğimizde aslında değişkene erişmiş oluruz, hem okuyabilir, hem de yazabiliriz.

  print(liste[1]);
  liste[0] = 8;
 
  print(liste);

  print(liste.reversed); // listenin tersini döndürür, listeyi değiştirmez, yani bu sadece değer döndürür.

  liste.clear(); // listeyi temizler, yani tüm elemanları siler

  liste = [8,5,7,5,6,4];
  liste.remove(5); // en baştan itibaren belirtilen değeri listede arar, ilk bulduğunu siler, hepsini değil
  print(liste);

  liste.removeAt(3); // belirtilen indexteki değeri siler, dizinin son indexinden büyük bir değer girilir ise hata alınır.
  print(liste);

}

 

// 3 yazılı 2 sözlü notu tutan notlar adında bir liste oluşturun.
// bu listeye, 0 - 100 arasında rastgele 5 değer atayın.
// Klavyeden kaçıncı notun silineceğini sorarak istenen notu silin
// notları ve notların ortalamasını aşağıdaki gibi ekrana yazdırın

// 45 - 65 - 43 - 76 = 78 (ort)

import 'dart:io';
import 'dart:math';

void main(List<String> args) {
  List<int> notlar = [];

  for (var i = 0; i < 5; i++) {
    notlar.add(Random().nextInt(101)); // rastgele sayı üretip listeye ekliyoruz
  }

    print(notlar);
    stdout.write("Kaçıncı notu sileceksiniz [1-5]:");
    int index = int.parse(stdin.readLineSync()!) - 1; // adamın girdiği sırayı index olarak ele alıyoruz

    notlar.removeAt(index);

    int toplam=0;
    for (var i = 0; i < notlar.length; i++) {
      stdout.write(notlar[i]); // değeri yaz
      toplam += notlar[i]; // değeri toplama ekle
      if(i!=notlar.length-1) stdout.write(" - ");   // son eleman değilse - koy
    }

    double ort = toplam / notlar.length;
    print(" = $ort");
}


// String ifadeler normalde Char dizisi gibi davranırlar(liste gibi)
// ancak dart dilinde karaktere ulaştığınızda da türü string tir.

import 'dart:io';

void main(List<String> args) {
  // String yazi = "Recep ÖZEN";

  // print(yazi[3]);
  //yazi[3] = "a"; // burada hata alırız, bu kullanım sadece okumadır, atama yapılamaz.

  // Klavyeden girilen yazının harflerini ekrana alt alta yazan programı yazınız.

  stdout.write("Bir yazı girin: ");
  String yazi = stdin.readLineSync()!;

  for (var i = 0; i < yazi.length; i++) {
    print(yazi[i]);
  }
}


// listelerdeki indexOf
// indexOf ile bir listede değer aranır,
// değer en baştan itibaren aranır, ilk bulduğunumn indexini döndürür
// eğer yok ise, yani listede bu değer yok ise -1 döndürür.

void main(List<String> args) {
  List<int> liste = [4,5,7,2,8,6,1,9,2,9,3,1,4];

  int sonuc = liste.indexOf(6); // 5 döndürür
  print(sonuc);

  sonuc = liste.indexOf(0);
  print(sonuc);
}

// ÖDEV = rastgele 1-10 arasında 5 adet sayı üretin,
// bunları ekrana yazdırın, klavyeden girilen sayı bu listede var ise
// girdiğiniz sayı listede var diyen, yok ise listede yok diyen programı yazın.









Comments

Popular posts from this blog

10G Sınıfı ROBOTİK VE KODLAMA Dersi Performans Ödevi

Mobil 2026 Hafta02

Mobil Uygulamalar 1. Performans ÖDEVİ (ÖNEMLİ)