Monday, November 25, 2024

Mobil Hafta 07

// METODLAR, Method, function

// çağrılmadığı sürece çalışmayan kod bloğudur.
// sürekli tekrar tekrar uzun kod yazmamak için
// düzen için
// metodlara istediğimiz adı verebiliriz.
// bir blokta aynı isimde bir metod olabilir (c# da böyle değil)

// tanımlanması
// DönüşTipi MetodAdı(){  
// }

// void, boş, hiç anlamına geliyor,
// dönüştipi olarak yazarsak hiçbirşey döndürmez denir

import 'dart:math';

void MerhabaYaz(){
  print("Merhaba");
}

// Parametre ile devam edelim.
// Parametre, metodun çağrılırken içerisine veri göndermemizi sağlar
void EkranaYaz(String yazi){
  print(yazi);
}

// Birden fazla parametre olabilir,
// parametreleri , ile ayırırız
void ToplamiYaz(int a, int b){
  int toplam = a + b;
  print("Toplam = $toplam");
}

// ToplamHesapla adında bir metod istese idik
// ne yapacaktı, toplamı hesaplayıp, sonucu çağrıldığı yere döndürmesi lazım
// dönüştipi void değilse, mutlaka return olmalıdır.
int ToplamHesapla(int a, int b){
  int toplam = a+b;
  return toplam; // geri döndür, değeri
  // Not: return görüldüğünde metoddan çıkılır.
}



void main(){
  MerhabaYaz(); // çağırmak için adını yazmak yeterlidir,
  // aslında zaten metod kullanmıştık
  // print("Ekrana bir şey yazdık."); // mesela bu voiddi, işi yapar çağrıldığoı yere döner
  // int sayi = Random().nextInt(10);  // bu ise çağrıldığı yere bir sayı döndürüyor.
  EkranaYaz("Recep ÖZEN");
  ToplamiYaz(5, 6);
  int sonuc = ToplamHesapla(5,6);
  print(sonuc);

} 

// ZarAt adında bir metod tanımlayın.
// ve metodu kullanarak ürettiğiniz sayıyı ekrana yazın

import 'dart:math';

import 'p1101.dart';

int ZarAt(){
  int zar = Random().nextInt(6)+1;
  return zar;
}

void main(List<String> args) {
  print(zarAt());

  int sayi = zarAt();
  print(sayi);

}


// Zorunlu olmayan parametreler
// metoda bir parametre yazdığımızda, çağırırken mecburi parametre de yazılmalı

import 'dart:io';

// void EkranaYaz(String yazi){
//   stdout.write(yazi);
// }
// // yukarıdaki metod, ekrana yazar alta geçmez


// void EkranaYaz(String yazi, bool yenisatir){
//   stdout.write(yazi);
//   if(yenisatir){
//     stdout.write("\n");
//   }
// }

// void main(List<String> args) {
//   EkranaYaz("Recep",false);
//   EkranaYaz("ÖZEN",false);
// }

// ************************************************
// zorunlu olmayan parametreler küme bloğu içerisinde tanımlanır
// öncelikle yazılması gerekenler, zorunlu olanlardır,
// yani küme bloğundaki parametreler, en sonda kullanılır.
// küme bloğunda tanımlanan parametrelerin, varsayılan değeri olmalıdır.
// void EkranaYaz(String yazi, {bool yenisatir=true}){
//   stdout.write(yazi);
//   if(yenisatir){
//     stdout.write("\n");
//   }
// }

// void main(List<String> args) {
//   EkranaYaz("Recep",yenisatir: false);
//   EkranaYaz("ÖZEN");
// }

// ***************************************************

// kendisine gönderilen listeyi küçükten büyüğe veya
// büyükten küçüğe sıralanmış olarak ekrana yazan metodu tanımlayınız.
// parametre olarak liste gönderilecek, aynı zamanda yon adında bir zorunlu olmayan
// parametre de küçükten büyüğe mi büyükten küçüğe mi sıralanacağını belirtsin
// varsayılan olarak küçükten büyüğe sıralama yapılacaktır.

void Sirala(List<int> a, {bool yon = true}){
  List<int> yeni = a.toList();
  yeni.sort();
  if(yon) print(yeni);
  else print(yeni.reversed);
}

void main(List<String> args) {
  List<int> liste = [3,56,7,23,8,1,9];
  Sirala(liste,yon: false);
  print(liste);
}




No comments: