Kodlama Dersi
Sinan Arslan
Merhaba Arkadaşlar ;
Bu bölüm de kodlama dersinde kullanılabilecek ilkokul ve ortaokul kademesine yönelik web siteleri paylaşıyor olacağım.
Lightbox
Starfall
Codemino
Eba Cody
Fungooms
Silent Teacher
Mobil Kod
Hacker Can
Thissand
Color Mandala
Code Monkey
Abcya
Blockly Games
Compute It
Tinkercad
Kidlo Coding
Görünmez
Lightbox
Starfall
Codemino
Eba Cody
Fungooms
Silent Teacher
Mobil Kod
Hacker Can
Thissand
Color Mandala
Code Monkey
Abcya
Blockly Games
Compute It
Tinkercad
Kidlo Coding
Görünmez
03:37
Abcya
,
Blockly Games
,
Code Monkey
,
Codemino
,
Color Mandala
,
Compute It
,
Eba Cody
,
Fungooms
,
Hacker Can
,
Lightbox
,
Logo Tasarım
,
Logo Tasarım 2
,
Mobil Kod
,
Silent Teacher
,
Starfall
,
Thissand
,
Tinkercad
Alice 3 Oyun Tasarımı
Sinan Arslan
Merhaba Arkadaşalar ,
Alice 3 ile basit ama etkileyici oyunlar yapabilirsiniz.Biz bu bölümde basit anlamda yüreme ve kamera açılarını ele alarak yazmış olduğum procedure ve propertyler üzerinden devam ediyor olacağım.
ilk etapta tasarımımızı yani kurgumuzu gerçekleştiriyoruz daha sonra seçili public olarak tüm karaktere etki etmesi adına biped procedure seçimi yaparak procedure müzü oluşturuyoruz.Yürümeye birden fazla karakter devam edeceği için procedure ve property kullanmak daha avantajlıdır.Bu sayede bir karakter haraket edebildiği gibi istenirse bir orduda hareket edebilir.
İlk Adım Procedure örneği aşağıda ki gibi olup bu sayede karakterin hangi ayağı ile başlayacağını tayin ediyoruz.
Adım iki procedure örneği aşağıdaki gibi olup yürüme işi kombine bir harekettir .Doğal olarak bir sonraki adımda hangi ayağımızı atacağımıza karar vermeliyiz.İnsanlar bunu düşünmeden mantıken yapabilirken iş pc lere gelince boolean bir değişken ile mutlaka alice 3 e procedure yazarken pc ye haber verilmelidir kodlar yardımıyla .
Yukarıda da değinildiği gibi hangi ayak atılmalı procedure müzün property sini tanımlayalım.Which_leg Property si aşağıdaki gibidir.
Sayfamızda MyFirstMethod kısmı görünümü ise aşağıdaki gibi olmalıdır.
Umarım faydalı olur,bir sonraki yazıda görüşmek üzere
00:01
Alice 3
,
Procedure Yazımı
,
Yürüme efekti
Tinkercad Circuits
Sinan Arslan
Merhaba Arkadaşlar ,
Tinkercad Circuits ile ardiuno set'e sahip olmasak bile birçok devre tasarımı yaparak kullanabilmekteyiz.
Devre tasarımlarım ve kod bloklarımı ziyaret etmek için bu linkten ulaşabilirsiniz.
https://www.tinkercad.com/users/3zaTml9AYTW
int yesil=9,mav=10,kir=11;
void setup()
{
pinMode(yesil,OUTPUT);
pinMode(mav,OUTPUT);
pinMode(kir,OUTPUT);
//analogwrite(pin,deger):bu komut sayesinde
/*
bir motoru farklı hızlarda yada bir ledi farklı parlaklıklarda
yakabiliriz
analog çıkışlı pinler 3,536,9,10,11
*/
}
void loop()
{
//Beyaz
analogWrite(kir,255);//beyaz 255 renk
analogWrite(yesil,255);//beyaz 255 renk
analogWrite(mav, 255);//beyaz 255 renk
delay(1000); // Wait for 1000 millisecond(s)
//Sarı
analogWrite(kir,255);//beyaz 255 renk
analogWrite(yesil,255);//beyaz 255 renk
analogWrite(mav,0);//sarı
//Mor
delay(1000); // Wait for 1000 millisecond(s)
analogWrite(kir,255);//beyaz 255 renk
analogWrite(yesil,0);//mor
analogWrite(mav,255);//beyaz 255 renk
delay(1000);
}
23:38
analogWrite
,
farkli renk
,
kartelesi
,
Led
,
RGB
,
Tinkercad Circuits
Tinkercad Tasarım
Sinan Arslan
Merhaba Arkadaşlar
Tinkercad ile basit hızlı bir şekilde tasarımlar yapabilmekteyiz.Dosya uzantısı olarak .stl ile dışa aktar diyip cura gibi programlar sayesinde 3d yazıcıdan baskı olarak çıktı alabilmekteyiz.
Bazı basit örnek çalışmalar
23:32
Tinkercad Tasarım
ARTIRILMIŞ GERÇEKLİK MERGE CUBE
Sinan Arslan
Merge Cube
Merhaba arkadaşlar bu bölümde artırılmış gerçeklik uygulamalarından merge cube değinmek istiyorum.Merge Cube ile birçok uygulama yapılabilmektedir.Öncelikle gereken aşağıdaki resimdeki küpü oluşturmak.
Yukarda belirtilen küp tamamlandığında aşağıdaki gibi olacaktır.
Uygulamayı tamamlamak için playstore'den merge cube indirilip telefonunuza kurulabilir.daha sonrasında açılan ekran üzerinden phone mode seçilerek aşağıda bulunan küpü üzerine gelecek
şekilde ayarlanır.
Ekran çıktısını video formatın da yada video olarak öğrencilerinizle paylaşabilirsiniz .Örnek resimler aşağıdaki gibi olup gezegenlerin gerçek sesleri ve uyduları görüntüleri hakkında info kısmında açıklamaları bulunmaktadır.
23:29
artırılmış gerçeklik
,
merge cube
Kolejler için Demo Proje Paylaşımı
Sinan Arslan
Merhaba Değerli Arkadaşlar,
Kolejler için yazmış olduğum uygulamaların demo kısımlarını paylaşıyor olacağım.Etkileşimli uygulamalar noktasında kullanışlı basit örnek web site ve masa üstü uygulamaları olarak eğitim sektörü için ücret dahilinde eğitim yazılımları yapmaktayım.
Ekran Görüntüleri
Scratch Oyun Yapımı
Sinan Arslan
Merhaba Arkadaşlar,
Bu bölümde basit ama eğlenceli bir oyun yapıyor olacağız.Scratch 2 içersinden Giga walking karakterini seçiyoruz.Bunun için yeni kukla seçimine basıyoruz ve karşımıza çıkan pencereden fantezi sekmesinden gigawalking karakterini seçiyoruz.
Daha sonra sahne için bluesky'ı seçiyoruz ve engel olarak yeni kukla sekmesinden ağaç karakterini seçip kodlama işlemlerine geçebiliriz.
Giga Walking Karakteri Kodları
Gigawalking karakterine ait kodlar yan tarafta görülmektedir
Tree1 karakterine ait kodlar yan tarafta görülmektedir.
Oyunumuzun Son Hali
Bu bölümde basit ama eğlenceli bir oyun yapıyor olacağız.Scratch 2 içersinden Giga walking karakterini seçiyoruz.Bunun için yeni kukla seçimine basıyoruz ve karşımıza çıkan pencereden fantezi sekmesinden gigawalking karakterini seçiyoruz.
Daha sonra sahne için bluesky'ı seçiyoruz ve engel olarak yeni kukla sekmesinden ağaç karakterini seçip kodlama işlemlerine geçebiliriz.
Giga Walking Karakteri Kodları
Gigawalking karakterine ait kodlar yan tarafta görülmektedir
Tree1 karakterine ait kodlar yan tarafta görülmektedir.
Oyunumuzun Son Hali
07:41
Oyun Yapımı
,
Scratch
,
Scratch 2
,
Scratch 3
Arduino Değişken Tanımlama
Sinan Arslan
Merhaba Arkadaşlar,
Arduino ile değişken tanımlama bölümüne değindiğim bu yazıda temel amaç uygulama üzerinden gidebilmektir.Bunun yanı sıra değişken tiplerinin değer aralıklarını paylaşmadım.Nedeni birden fazla dilde değişiklik gösteren değer aralıkları internet gibi bir ortamda bulunabilmektedir
//Değişken tanımlama
/*
Değişken temel anlamda program kullanılacak birimlerin
gecici alianz olarak isimlendirilmesine yarar
sayısal değişkenler ,karakter (char) , metinsel string, ve
durum belirten çeşitleri vardır(bool) gibi
değişkenler belirli değer aralıklarına sahiptir.
sunumda detaylı anlatacağım.Başlıca değişkenler
int,string,char, bool,float vs
değişken tanımlarken belirli kurallar vardır.değişkenler
sayı ile başlamaz arada boşluk bırakılarak tanımlanmaz
ve kodlama da standart sağlanması adına camelcase kullanılır
*/
/*bool durum1=true;bool durum2=false;*/
int sayi_1=99.9;//integer tipindeki değişkenler , den sonraki kısmı
//tutmaz
double sayi_2=99.6;
void setup()
{
Serial.begin(9600);
Serial.println(sayi_1);
Serial.println(sayi_2);
}
void loop()
{
/*if(durum1==0)
{
Serial.println(durum1);
delay(5000);
}
else if(durum1==1)
{
Serial.println(durum2);
delay(5000);
}
else{
Serial.print(" DURUM BULUNAMADI");
delay(5000);
}*/
}
Arduino ile değişken tanımlama bölümüne değindiğim bu yazıda temel amaç uygulama üzerinden gidebilmektir.Bunun yanı sıra değişken tiplerinin değer aralıklarını paylaşmadım.Nedeni birden fazla dilde değişiklik gösteren değer aralıkları internet gibi bir ortamda bulunabilmektedir
//Değişken tanımlama
/*
Değişken temel anlamda program kullanılacak birimlerin
gecici alianz olarak isimlendirilmesine yarar
sayısal değişkenler ,karakter (char) , metinsel string, ve
durum belirten çeşitleri vardır(bool) gibi
değişkenler belirli değer aralıklarına sahiptir.
sunumda detaylı anlatacağım.Başlıca değişkenler
int,string,char, bool,float vs
değişken tanımlarken belirli kurallar vardır.değişkenler
sayı ile başlamaz arada boşluk bırakılarak tanımlanmaz
ve kodlama da standart sağlanması adına camelcase kullanılır
*/
/*bool durum1=true;bool durum2=false;*/
int sayi_1=99.9;//integer tipindeki değişkenler , den sonraki kısmı
//tutmaz
double sayi_2=99.6;
void setup()
{
Serial.begin(9600);
Serial.println(sayi_1);
Serial.println(sayi_2);
}
void loop()
{
/*if(durum1==0)
{
Serial.println(durum1);
delay(5000);
}
else if(durum1==1)
{
Serial.println(durum2);
delay(5000);
}
else{
Serial.print(" DURUM BULUNAMADI");
delay(5000);
}*/
}
07:25
Arduino
,
Değişken Tanımlama
Arduino Random Sayı Üretmek
Sinan Arslan
Merhaba Arkadaşlar ,
Arduino ile Random fonksiyonuna ait özelliklere değinmeye çalıştım.Umarım Faydalı olur
/*
Random(): Bu method ile belirli aralıklarda sayılar üretilip
değişkenlere aktarılabilir
Random(max):Bu method ile değişkenin en küçük değeri ile
maximum değeri arasında sayı üretmeye yarar
Random(min,max):Bu method ile belirlenen min değeri ile max
değeri arasında sayı üretilebilinir
Random(1,10);örneğin burda 1 ila 9 arasında sayı üretimi
gerçekleşir
*/
//global değişken
//byte degisken_sayi;
long degisken_sayi;
void setup()
{
Serial.begin(9600);
randomSeed(100);
Serial.println(" Uretilen Rastgele Sayilar");
Serial.print("=============================");
Serial.println(" ");
}
void loop()
{
// degisken_sayi=random();
// degisken_sayi=random(100);
/*random fonksiyonu ile üretilen sayılar hep aynı dizilimi
takip eder
Farklı dizin aralıklarında sayı üretmek için randomSeed();
kullanılır
*/
/*
arduino unonun analoğ pinlerine herhangi bir pin bağlanmadığında
0 ila 1023 arasında değerler okunur bunu da analogRead(A0)
ve randomSeed();methodları kullanarak rastgele yapabiliriz
arduino nun A0 dan A6 ya kadar 5 adet analog girişi mevcuttur
*/
//degisken_sayi=random(1,100);
degisken_sayi=analogRead(A0);
Serial.println(degisken_sayi);
delay(5000);
}
Arduino ile Random fonksiyonuna ait özelliklere değinmeye çalıştım.Umarım Faydalı olur
/*
Random(): Bu method ile belirli aralıklarda sayılar üretilip
değişkenlere aktarılabilir
Random(max):Bu method ile değişkenin en küçük değeri ile
maximum değeri arasında sayı üretmeye yarar
Random(min,max):Bu method ile belirlenen min değeri ile max
değeri arasında sayı üretilebilinir
Random(1,10);örneğin burda 1 ila 9 arasında sayı üretimi
gerçekleşir
*/
//global değişken
//byte degisken_sayi;
long degisken_sayi;
void setup()
{
Serial.begin(9600);
randomSeed(100);
Serial.println(" Uretilen Rastgele Sayilar");
Serial.print("=============================");
Serial.println(" ");
}
void loop()
{
// degisken_sayi=random();
// degisken_sayi=random(100);
/*random fonksiyonu ile üretilen sayılar hep aynı dizilimi
takip eder
Farklı dizin aralıklarında sayı üretmek için randomSeed();
kullanılır
*/
/*
arduino unonun analoğ pinlerine herhangi bir pin bağlanmadığında
0 ila 1023 arasında değerler okunur bunu da analogRead(A0)
ve randomSeed();methodları kullanarak rastgele yapabiliriz
arduino nun A0 dan A6 ya kadar 5 adet analog girişi mevcuttur
*/
//degisken_sayi=random(1,100);
degisken_sayi=analogRead(A0);
Serial.println(degisken_sayi);
delay(5000);
}
07:21
analogRead(A0)
,
Arduino
,
max)
,
Random(max)
,
Random(min
,
randomSeed(100)
,
Tincerkad
Arduino Random Led Yakımı Buton ile
Sinan Arslan
Merhaba Arkadaşlar,
Arduino Uno ile Tinkercad üzerinde hazırlamış olduğum devre ile butona basılınca rastgele yanan led uygulamasını sizlerle paylaşıyorum
Devre Çizimi
Arduino Uno ile Tinkercad üzerinde hazırlamış olduğum devre ile butona basılınca rastgele yanan led uygulamasını sizlerle paylaşıyorum
Devre Çizimi
Kod Paylaşımı
int dugme=2;
int led_sari=3;
int led_yesil=4;
int led_kirmizi=5;
int led_mavi=6;
int numara=0;
void setup()
{
Serial.begin(9600);
pinMode(dugme, INPUT);//düğmeye basıldıkça yanması için INPUT
pinMode(led_sari, OUTPUT);
pinMode(led_yesil, OUTPUT);
pinMode(led_kirmizi, OUTPUT);
pinMode(led_mavi, OUTPUT);
randomSeed(analogRead(A0));
}
void loop()
{
if(digitalRead(dugme)== HIGH)
{
numara =random(3,7);//yanacak ledin numarasını 3 ila 7 arasında //rastgele belirledik
Serial.print(numara);//SeriPort ekranında yanan ledi görmek amaçlı
switch(numara){
case 3 :
Serial.println(" : Sari");
digitalWrite(led_sari,HIGH);
digitalWrite(led_yesil ,LOW);
digitalWrite(led_kirmizi,LOW);
digitalWrite(led_mavi,LOW);
break;
case 4:
Serial.println(" : YESIL");
digitalWrite(led_yesil,HIGH);
digitalWrite(led_sari,LOW);
digitalWrite(led_kirmizi,LOW);
digitalWrite(led_mavi,LOW);
break;
case 5:
Serial.println(" : KIRMIZI");
digitalWrite(led_kirmizi,HIGH);
digitalWrite(led_sari,LOW);
digitalWrite(led_yesil,LOW);
digitalWrite(led_mavi,LOW);
break;
case 6:
Serial.println(" : Mavi");
digitalWrite(led_mavi,HIGH);
digitalWrite(led_kirmizi,LOW);
digitalWrite(led_sari,LOW);
digitalWrite(led_yesil,LOW);
break;
}
}
delay(250); }
07:17
analogRead(A0)
,
Arduino
,
Led Yakımı
,
Random()
,
RandomSeed()
,
Serial.begin(9600)
,
Tincerkad
LINQ Query Expressions
Sinan Arslan
Merhaba Arakdaşlar,
Kuzey Rüzgari veri tabanı üzerinde daha önceden mssql alt sorgular kısmında paylaşmış olduğum t-sql sorgularının linq Expressions'ları ile uygulama geliştiriyor olacağız.
Soru 1) Hangi kategoriden kaç birim Urun var
var sorgu = from urun in db.Products
join kategori in db.Categories on urun.CategoryID equals kategori.CategoryID
group urun by kategori.CategoryName into grup
select new {
grup.Key,
UrunAdeti= grup.Sum(x=>x.ProductID)
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 2) Musterilerin gerçekleştirdiği ilk siparis tarihi
var sorgu = (from satis in db.Orders
join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
group satis by musteri.CompanyName into grup
select new
{
grup.Key,
SatisTarihi= grup.Min(x=>x.OrderDate),
}).OrderBy(x=>x.SatisTarihi);
dgvSonuc.DataSource = sorgu.ToList();
Soru 3) 03.03.1997 yılında yapılan Siparisler gelsin
DateTime tarih= Convert.ToDateTime(txtTarih.Text);
var sorgu = from satis in db.Orders
where satis.OrderDate == tarih
select satis;
dgvSonuc.DataSource = sorgu.ToList();
Soru 4) siparişler Tablosunda en küçük sipariş tarihi gelsin
var sorgu = (from satis in db.Orders
group satis by satis into grup
select new {
EnkucukTarih= grup.Min(x=>x.OrderDate)
}).Take(1).ToList();
dgvSonuc.DataSource = sorgu;
Soru 5) Firmların yaptıkları ilk sipariş tarihleri gelsin
var sorgu = (from satis in db.Orders
join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
group satis by satis.Customer.CompanyName into grup
select new
{
SiparisSahibi= grup.Key,
SiparisTarihi= grup.Min(x=>x.OrderDate)
}).OrderByDescending(x=>x.SiparisTarihi).ToList();
dgvSonuc.DataSource = sorgu;
Soru 6) Siparis adeti 4 den buyuk sirketler gelsin
var sorgu = (from satis in db.Orders
join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
where musteri.CustomerID==satis.CustomerID
group musteri by musteri into grup
select new
{
FirmaAdi = grup.Key.CompanyName,
MusteriAdi= grup.Key.CustomerID,
SatisAdeti = grup.Count(),
}).Where(x => x.SatisAdeti > 4).ToList();
dgvSonuc.DataSource = sorgu;
int sayi = sorgu.Count();
Soru 7) Ürünler tablosunda ne kadar ürün var
var sorgu = (from urun in db.Products
select urun).Sum(x => x.UnitsInStock);
//yada
var sorgu2= db.Products.Sum(x => x.UnitsInStock);
MessageBox.Show(sorgu2.ToString());
Soru 8) Hangi üründen Kaç birim Stock var
var sorgu = from urun in db.Products
group urun by urun into grup
select new {
UrunAdi= grup.Key.ProductName,
Adeti=grup.Sum(x=>x.UnitsInStock)
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 9) Hangi Kategoriden kaç birim urun var
var sorgu = from kategori in db.Categories
join urun in db.Products on kategori.CategoryID equals urun.CategoryID
group urun by urun.Category.CategoryName into grup
select new
{
KategoriAdi= grup.Key,
Adet=grup.Sum(x=>x.UnitsInStock)
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 10 ) Kac farklı ülkeye satış yapılmış
var sorgu = (from satis in db.Orders
select new { satis.ShipCountry }).Distinct();
dgvSonuc.DataSource = sorgu.ToList();
yada
var sorgu2 = from satis in db.Orders
group satis by satis.ShipCountry into grup
select new { UlkeAdi=grup.Key };
dgvSonuc.DataSource = sorgu2.ToList();
Soru 12) hangi Ulkeye Kaçtane Siparis yapıldı
var sorgu = from satis in db.Orders
group satis by satis.ShipCountry into grup
select new {
UlkeAdi= grup.Key,
SiparisAdet= grup.Count()
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 13 )1996 yılında hangi ülkeye kaçtane sipariş gitmiş
var sorgu = from satis in db.Orders
where satis.OrderDate.Value.Year==1996
group satis by satis.ShipCountry into grup
select new {
UlkeAdi=grup.Key,
Adeti= grup.Count(),
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 14) 1996 yılında hangi ülkeye kaçtane sipariş gitmiş ve siparis sayısı 15 den büyük olan kayıtlar gelsin
var sorgu = (from satis in db.Orders
where satis.OrderDate.Value.Year == 1996
group satis by satis.ShipCountry into grup
select new
{
UlkeAdi = grup.Key,
Adeti = grup.Count(),
});
dgvSonuc.DataSource = sorgu.ToList();
Soru 15 ) Ülkelere giden kargoların ülke bazında ortalama taşıma ücretini çokdan aza sıralayınız
var sorgu = (from satis in db.Orders
group satis by satis.ShipCountry into grup
select new
{
UlkeAdi=grup.Key,
TasimaUcreti= grup.Average(x=>x.Freight)
}).OrderByDescending(x=>x.TasimaUcreti);
dgvSonuc.DataSource = sorgu.ToList();
Soru 16 ) Çalışanların ünvanlarının sayısı
var sorgu = (from calisan in db.Employees
group calisan by calisan.TitleOfCourtesy into grup
select new {
Unvan= grup.Key,
Adet=grup.Count()
}).OrderByDescending(x=>x.Adet);
dgvSonuc.DataSource = sorgu.ToList();
Soru 17) En yüksek ortalama uçuş fiyatı hangi ülkeye gitmiştir
var sorgu = (from satis in db.Orders
group satis by satis.ShipCountry into grup
select new {
Ulke= grup.Key,
OrtalamaUcusFiyat= grup.Average(x=>x.Freight)
}).OrderByDescending(x=>x.OrtalamaUcusFiyat).Take(1);
dgvSonuc.DataSource = sorgu.ToList();
Soru 18) Şimdiye kadar satılan ürünlerden nekadar hasılat elde ettik
var sorgu = from satisdetay in db.Order_Details
join urun in db.Products on satisdetay.ProductID equals urun.ProductID
group satisdetay by urun.ProductName into grup
select new
{
UrunAdi = grup.Key,
AraToplam = grup.Sum(x => (x.Quantity * x.UnitPrice) )
};
dgvSonuc.DataSource = sorgu.ToList();
Şimdi İse Entity Framework'de Crud İşlemlerine(Düzenle Sil Ekle Listele) ve Lazy Loading, Eager Loading 'e Bakalım Proje İndir
Video Anlatım
Uygulama 2 indir
Kuzey Rüzgari veri tabanı üzerinde daha önceden mssql alt sorgular kısmında paylaşmış olduğum t-sql sorgularının linq Expressions'ları ile uygulama geliştiriyor olacağız.
Soru 1) Hangi kategoriden kaç birim Urun var
var sorgu = from urun in db.Products
join kategori in db.Categories on urun.CategoryID equals kategori.CategoryID
group urun by kategori.CategoryName into grup
select new {
grup.Key,
UrunAdeti= grup.Sum(x=>x.ProductID)
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 2) Musterilerin gerçekleştirdiği ilk siparis tarihi
var sorgu = (from satis in db.Orders
join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
group satis by musteri.CompanyName into grup
select new
{
grup.Key,
SatisTarihi= grup.Min(x=>x.OrderDate),
}).OrderBy(x=>x.SatisTarihi);
dgvSonuc.DataSource = sorgu.ToList();
Soru 3) 03.03.1997 yılında yapılan Siparisler gelsin
DateTime tarih= Convert.ToDateTime(txtTarih.Text);
var sorgu = from satis in db.Orders
where satis.OrderDate == tarih
select satis;
dgvSonuc.DataSource = sorgu.ToList();
Soru 4) siparişler Tablosunda en küçük sipariş tarihi gelsin
var sorgu = (from satis in db.Orders
group satis by satis into grup
select new {
EnkucukTarih= grup.Min(x=>x.OrderDate)
}).Take(1).ToList();
dgvSonuc.DataSource = sorgu;
Soru 5) Firmların yaptıkları ilk sipariş tarihleri gelsin
var sorgu = (from satis in db.Orders
join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
group satis by satis.Customer.CompanyName into grup
select new
{
SiparisSahibi= grup.Key,
SiparisTarihi= grup.Min(x=>x.OrderDate)
}).OrderByDescending(x=>x.SiparisTarihi).ToList();
dgvSonuc.DataSource = sorgu;
Soru 6) Siparis adeti 4 den buyuk sirketler gelsin
var sorgu = (from satis in db.Orders
join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
where musteri.CustomerID==satis.CustomerID
group musteri by musteri into grup
select new
{
FirmaAdi = grup.Key.CompanyName,
MusteriAdi= grup.Key.CustomerID,
SatisAdeti = grup.Count(),
}).Where(x => x.SatisAdeti > 4).ToList();
dgvSonuc.DataSource = sorgu;
int sayi = sorgu.Count();
Soru 7) Ürünler tablosunda ne kadar ürün var
var sorgu = (from urun in db.Products
select urun).Sum(x => x.UnitsInStock);
//yada
var sorgu2= db.Products.Sum(x => x.UnitsInStock);
MessageBox.Show(sorgu2.ToString());
Soru 8) Hangi üründen Kaç birim Stock var
var sorgu = from urun in db.Products
group urun by urun into grup
select new {
UrunAdi= grup.Key.ProductName,
Adeti=grup.Sum(x=>x.UnitsInStock)
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 9) Hangi Kategoriden kaç birim urun var
var sorgu = from kategori in db.Categories
join urun in db.Products on kategori.CategoryID equals urun.CategoryID
group urun by urun.Category.CategoryName into grup
select new
{
KategoriAdi= grup.Key,
Adet=grup.Sum(x=>x.UnitsInStock)
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 10 ) Kac farklı ülkeye satış yapılmış
var sorgu = (from satis in db.Orders
select new { satis.ShipCountry }).Distinct();
dgvSonuc.DataSource = sorgu.ToList();
yada
var sorgu2 = from satis in db.Orders
group satis by satis.ShipCountry into grup
select new { UlkeAdi=grup.Key };
dgvSonuc.DataSource = sorgu2.ToList();
Soru 12) hangi Ulkeye Kaçtane Siparis yapıldı
var sorgu = from satis in db.Orders
group satis by satis.ShipCountry into grup
select new {
UlkeAdi= grup.Key,
SiparisAdet= grup.Count()
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 13 )1996 yılında hangi ülkeye kaçtane sipariş gitmiş
var sorgu = from satis in db.Orders
where satis.OrderDate.Value.Year==1996
group satis by satis.ShipCountry into grup
select new {
UlkeAdi=grup.Key,
Adeti= grup.Count(),
};
dgvSonuc.DataSource = sorgu.ToList();
Soru 14) 1996 yılında hangi ülkeye kaçtane sipariş gitmiş ve siparis sayısı 15 den büyük olan kayıtlar gelsin
var sorgu = (from satis in db.Orders
where satis.OrderDate.Value.Year == 1996
group satis by satis.ShipCountry into grup
select new
{
UlkeAdi = grup.Key,
Adeti = grup.Count(),
});
dgvSonuc.DataSource = sorgu.ToList();
Soru 15 ) Ülkelere giden kargoların ülke bazında ortalama taşıma ücretini çokdan aza sıralayınız
var sorgu = (from satis in db.Orders
group satis by satis.ShipCountry into grup
select new
{
UlkeAdi=grup.Key,
TasimaUcreti= grup.Average(x=>x.Freight)
}).OrderByDescending(x=>x.TasimaUcreti);
dgvSonuc.DataSource = sorgu.ToList();
Soru 16 ) Çalışanların ünvanlarının sayısı
var sorgu = (from calisan in db.Employees
group calisan by calisan.TitleOfCourtesy into grup
select new {
Unvan= grup.Key,
Adet=grup.Count()
}).OrderByDescending(x=>x.Adet);
dgvSonuc.DataSource = sorgu.ToList();
Soru 17) En yüksek ortalama uçuş fiyatı hangi ülkeye gitmiştir
var sorgu = (from satis in db.Orders
group satis by satis.ShipCountry into grup
select new {
Ulke= grup.Key,
OrtalamaUcusFiyat= grup.Average(x=>x.Freight)
}).OrderByDescending(x=>x.OrtalamaUcusFiyat).Take(1);
dgvSonuc.DataSource = sorgu.ToList();
Soru 18) Şimdiye kadar satılan ürünlerden nekadar hasılat elde ettik
var sorgu = from satisdetay in db.Order_Details
join urun in db.Products on satisdetay.ProductID equals urun.ProductID
group satisdetay by urun.ProductName into grup
select new
{
UrunAdi = grup.Key,
AraToplam = grup.Sum(x => (x.Quantity * x.UnitPrice) )
};
dgvSonuc.DataSource = sorgu.ToList();
Şimdi İse Entity Framework'de Crud İşlemlerine(Düzenle Sil Ekle Listele) ve Lazy Loading, Eager Loading 'e Bakalım Proje İndir
Video Anlatım
Uygulama 2 indir
11:27
Düzenle
,
Eager Loading
,
Ekle
,
Entity Framework'de Crud İşlemleri
,
Lazy Loading
,
LINQ Query Expressions
,
Listele
,
Sil
Asp.Net Identity Ve Owin Uyelik Sistemi Uygulama Serisi
Sinan Arslan
Merhaba Arkadaşlar ,
DuffDunn Shoes Store Adlı e-commerce uygulamasını Asp.net Mvc5 ile yazmaya başlarken öncelikle üyelik sistemi üzerinden devam edip
sayların (asp.net authentication and authorization) rollere ve verilen izinlere görünürlüğünü kodlama yaparken kullanacağım sisteme benzer bir yapıyı burdan uygulama olarak paylaşıyor olacağım.
1) Kullanıcıların Listelenmesi ve Owine Giriş Uygulaması Proje Indir
2)Kullanıcıların Edit İşlemleri(Sifre Email Password Güncelleme İşlemleri) Uygulama Indir
3)Kullanıcıların Sisteme Login Olması ve Asp.Mvc Authorize İşlemleri Uygulama Indir
c# Döngüler For Kullanımı
Sinan Arslan
C# Console Uygulamaları For Döngüsü
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SinanArslanConsoleUygulamalari
{
class Program
{
static void Main(string[] args)
{
#region Klavyeden Girilen 10 Sayının en büyüğünü bulan program
//Klavyeden Girilen 10 Sayının en büyüğünü bulan program
//int sayi = 0;
//int enbyk = 0;
//for (int i = 1; i <= 10; i++)
//{
// Console.WriteLine("{0} inci sayiyi giriniz", i);
// sayi = Convert.ToInt32(Console.ReadLine());
// if (i == 1)
// enbyk = sayi;
// if (sayi > enbyk)
// enbyk = sayi;
//}
//Console.WriteLine("{0} girilen enbuyuk sayıdır", enbyk);
//Console.ReadLine();
#endregion
#region Kalvyeden Girilen iki sayı arasındaki sayıların toplamı ve çarpımını bulan program
//int sayi1 = 0; int sayi2 = 0; int toplam = 0; int carpim = 1;
//Console.WriteLine("Kucuk sayiyi giriniz");
//sayi1 = Convert.ToInt32(Console.ReadLine());
//Console.WriteLine("Buyuk sayiyi giriniz");
//sayi2 = Convert.ToInt32(Console.ReadLine());
//for (int i = sayi1; i <= sayi2; i++)
//{
// Console.Write("{0} -", i);
// //toplam += i;
// toplam = toplam + i;
// carpim = carpim * i;
//}
//Console.WriteLine("Sayıların Toplami :{0}", toplam);
//Console.WriteLine("--------");
//Console.WriteLine("Sayıların Çarpimi :{0}", carpim);
//Console.ReadLine();
#endregion
#region 1 ila 100(dahil) arasında kaç adet asal sayi vardır
//int adet = 4;//2,3,5,7
//for (int i = 8; i <= 100; i++)
//{
// if (i % 2 != 0)
// {
// if (i % 3 != 0)
// {
// if (i % 5 != 0)
// {
// if (i % 7 != 0)
// {
// adet++;
// }
// }
// }
// }
//}
//Console.WriteLine("{0} adet sayi vardir", adet);
//Console.ReadLine();
#endregion
#region Girilen sayıların faktoriellerini hesaplayan programını yazınız
//0 faktoriel =1
//int sayi;
//Console.WriteLine("Faktoriel i hesaplanacak sayi giriniz");
//sayi = Convert.ToInt32(Console.ReadLine());
//int faktoriel = 1;
//for (int i = sayi; i >1; i--)
//{
// faktoriel = faktoriel * i;
//}
//Console.WriteLine("Hesaplanan Faktoriel {0}", faktoriel);
//Console.ReadLine();
#endregion
#region Klavyeden Girilen Metini ters ceviren program
#region 1.inci Yol
//Console.WriteLine("Tersine cevirilecek metini yaziniz");
//string metin = Console.ReadLine();
//string terstenmetin = "";
//for (int i = metin.Length-1; i >=0; i--)
//{
// terstenmetin += metin[i];
//}
//Console.WriteLine(string.Format("{0} girilen metin {1} tersten okunanan metin", metin, terstenmetin));
//Console.ReadLine();
#endregion
#region 2 inci yol
//string metin;
//Console.WriteLine("Tersten Yazdırılacak metini giriniz");
//metin = Console.ReadLine();
//for (int i = 0; i <= metin.Length - 1; i++)
// Console.Write(metin[metin.Length - i - 1]);
//Console.ReadLine();
#endregion
#endregion
#region 1 den 10 kadar olan sayıların çarpım tablosu şeklinde yazdıran program
//
//for (int i = 1; i <= 10; i++)
//{
// for (int j = 1; j <= 10; j++)
// {
// Console.WriteLine(string.Format("{0}x{1}={2}", i, j, (i * j)));
// }
// Console.WriteLine("============================================");
//}
//Console.ReadLine();
#endregion
#region 1 den 1000 kadar olan sayıların arasındaki tek sayıların toplamını bulunuz
//int toplam = 0;
//for (int i = 1; i <10; i+=2)
//{
// toplam += i;
//}
////1,3,5,7,9
//Console.WriteLine("{0} bulunan tek sayıların toplamı", toplam);
//Console.ReadLine();
#endregion
#region 1 ila 100 arasındaki çift sayıların toplamının karesini bulan program
//int cifttoplam = 0;
//for (int i = 0; i <10 ; i+=2)
//{
// cifttoplam += i;
//}
////2 4 6 8
//int karesi = cifttoplam * cifttoplam;
//Console.WriteLine("{0} çiftlerin toplamının karesi", karesi);
//Console.ReadLine();
#endregion
#region Belirtilen dizideki sayılardan kaç adet çift kac adet tek sayi vardır,tek sayıların toplamı çift toplamı arasındaki fark nedir
//int[] sayilar = { 32, 44, 17, 27, 97, 104 };
//int teksayimiktari = 0;
//int ciftsayimiktari = 0;
//int ciftsayilarintoplami = 0;
//int teksayilarintoplami = 0;
//for (int i = 0; i < sayilar.Length; i++)
//{
// if (sayilar[i] % 2 == 0)
// {
// ciftsayimiktari++;
// ciftsayilarintoplami += sayilar[i];
// }
// else
// {
// teksayilarintoplami += sayilar[i];
// teksayimiktari++;
// }
//}
//Console.WriteLine("Bu dizide toplam {0} adet cift sayi {1} adet tek sayi bulunmaktadır.Cift sayilarla tek sayiların farkı{2} dır ", ciftsayimiktari, teksayimiktari, (ciftsayilarintoplami - teksayilarintoplami));
//Console.ReadLine();
#endregion
//girilen sayının rakamları toplamı nedir
int toplam = 0;
Console.WriteLine("Rakamları toplamını ogrenmek istediginiz sayiyi giriniz");
string girilendeger = Console.ReadLine();
for (int i = 0; i < girilendeger.Length; i++)
{
toplam += Convert.ToInt32(girilendeger[i].ToString());
}
Console.WriteLine(" Rakamlar toplami={0}", toplam);
Console.ReadLine();
}
}
}
Video Anlatım 1.Bölüm
Video Anlatım 2.Bölüm
Uygulama Indir
C# Datagridview'deki Verileri CheckBoxlara Göre Excel’ e Veri Aktarma
Sinan Arslan
Merhaba Arkadaşlar ,
Bu bölümde C# Datagridview'deki Verileri CheckBoxlara Göre Excel’ e Veri Aktarma yönetmine bakıyor olacağız.Amacımız Datagridview'de listelemiş olduğumuz kayıtlardaki checkboxların durumuna göre excel'e verilerimizi aktırıyor olacağız.
Yazmış olduğumuz projede katmansal yapıya uygun olarak entity bölümünde veri tabanından gelecek olan tablomuzun modellenmesi işlemini Façade de ise yazacağımız methodlar yardımıyla user interfacemiz olan Windows Forms uygulamamızdaki talepleri gerçekleştirdik.Entity katmanımızı Façadeye refere edip ,Façadeyi ise Windows Forms uygulamamıza refere ederek kullandık.
Birde unutulmaması gereken Microsoft Office için ilgili dll dosyamızı Windows Forms uygulamamıza refere ettik .(References-> sag tık -> Add Referans->Microsoft.Office.Interop.Excel (Microsoft Excel 15.0 Object Library) dll 'ni refere ettik
Excel'e Veri Aktarma Uygulaması İndir
Bu bölümde C# Datagridview'deki Verileri CheckBoxlara Göre Excel’ e Veri Aktarma yönetmine bakıyor olacağız.Amacımız Datagridview'de listelemiş olduğumuz kayıtlardaki checkboxların durumuna göre excel'e verilerimizi aktırıyor olacağız.
Yazmış olduğumuz projede katmansal yapıya uygun olarak entity bölümünde veri tabanından gelecek olan tablomuzun modellenmesi işlemini Façade de ise yazacağımız methodlar yardımıyla user interfacemiz olan Windows Forms uygulamamızdaki talepleri gerçekleştirdik.Entity katmanımızı Façadeye refere edip ,Façadeyi ise Windows Forms uygulamamıza refere ederek kullandık.
Birde unutulmaması gereken Microsoft Office için ilgili dll dosyamızı Windows Forms uygulamamıza refere ettik .(References-> sag tık -> Add Referans->Microsoft.Office.Interop.Excel (Microsoft Excel 15.0 Object Library) dll 'ni refere ettik
Excel'e Veri Aktarma Uygulaması İndir
C# Algoritma Örnekleri
Sinan Arslan
Merhaba Arkadaşlar bu bölümde console uygulamaları ile algoritma örneklerine yönelik sorular üzerinden ilerleyip bir nevi işin temel mantığı olan algoritma yapılarına değiniyor olacağız.Bu aşamada belirtmekte fayda var hazırlamış olduğum örneklerin bir kısmı farklı yollardan da yapılabilinir.Zaman kaybetmeden ilk örneğimizle başlayalım
Örnek 1)Kişi Cinsiyet ve yaşını alalım yaşı 20' den büyük olanlardan erkek ise askerlik durumunu kontrol edelim
string _Cinsiyet;
int _Yas;
Console.WriteLine("Cinsiyetinizi Giriniz! Erkek için : E Bayan için :B");
_Cinsiyet = Console.ReadLine();
Console.WriteLine("Yasınızı Giriniz");
_Yas = Convert.ToInt32(Console.ReadLine());
if (_Cinsiyet == "E" && _Yas >= 20)
{
Console.WriteLine("Askere Gidebilirsiniz");
Console.Read();
}
else if (_Cinsiyet == "E" && _Yas < 20)
{
Console.WriteLine("Askerlik İçin Uygun Değil");
Console.Read();
}
else
{
Console.WriteLine("Bayan Olduğunuz İçin Askerlik Yapamazsınız");
Console.Read();
}
Örnek 2) Klavyeden mevsim girilmesi istenerek bu mevsime ait ayları ekranda yazan program
ilkbahar - mart nisan mayis
yaz - haziran temmuz agustos
sonbahar - eylül ekim kasim
kis - aralik ocak subat
Console.WriteLine("Mevsimlere ait aylari gösteren programa hosgeldiniz");
Console.WriteLine("Lutfen ogrenmek istediginiz mevsimi giriniz");
string mevsim = Console.ReadLine().ToLower();
#region İf Kullanım Mevsimler
İF KONTROLLÜ KULLANIM uygulamamıza ilk başlarken de dediğim gibi birden fazla yolla yapılabilinir şimdi // SWİTCH - CASE KULLANIMI na bakıyor olalım alt bölümde
if (mevsim == "ilkbahar")
{
Console.WriteLine("{0} mevsimine ait aylar : Mart, Nisan, Mayis", mevsim); //
}
else if (mevsim == "Yaz")
{
Console.WriteLine("{0} mevsimine ait aylar : Haziran, Temmuz, Agustos", mevsim);
}
else if (mevsim == "Sonbahar")
{
Console.WriteLine("{0} mevsimine ait aylar : Eylul, Ekim, Kasim", mevsim);
}
else if (mevsim == "Kis")
{
Console.WriteLine("{0} mevsimine ait aylar : Aralik, Ocak, Subat", mevsim);
}
else
{
Console.WriteLine("Mevsim disinda bir kelime girdiniz!");
}
Console.ReadKey();
SWİTCH - CASE KULLANIMI
switch (mevsim)
{
case "ilkbahar":
Console.WriteLine("{0} mevsimine ait aylar : Mart, Nisan, Mayis", mevsim);
break;
case "yaz":
Console.WriteLine("{0} mevsimine ait aylar : Haziran, Temmuz, Agustos", mevsim);
break;
case "sonbahar":
Console.WriteLine("{0} mevsimine ait aylar : Eylul, Ekim, Kasim", mevsim);
break;
case "kis":
Console.WriteLine("{0} mevsimine ait aylar : Aralik, Ocak, Subat", mevsim);
break;
default:
Console.WriteLine("Dogru bilgi giriniz!");
break;
}
Console.ReadKey();
Örnek 3)Kullanıcıdan alınan notların ortalamasını hesaplayan programı yazınız
int Toplam = 0;
Console.WriteLine("Kac Adet Notun Girilecegini Yaziniz\n");
string GelenSayi = Console.ReadLine();
Console.WriteLine(GelenSayi + "adet Notun ortalamasi hesaplanacak");
int donussayisi = Convert.ToInt32(GelenSayi);
for (int i = 1; i <= donussayisi; i++)
{
Console.Write(i + "inci not\n");
int sayi = Convert.ToInt32(Console.ReadLine());
Toplam = Toplam + sayi;
}
double ort = (double)Toplam / donussayisi;
Console.WriteLine("Girilen Notun Ortalamasi =" + ort);
Console.ReadKey();
Örnek 4)Klavyeden girilen 5 adet sayının en büyüğünü bulan program
int sayi, enbuyuk = 0;
//
Console.WriteLine("Klavyeden girilen 5 adet sayının en büyüğünü bulan program....");
for (int i = 1; i <= 5; i++)
{
Console.WriteLine("{0} inci sayi giriniz.", i);
sayi = Convert.ToInt16(Console.ReadLine());
if (i == 1)
enbuyuk = sayi;
if (sayi > enbuyuk)
enbuyuk = sayi;
}
Console.WriteLine("En buyuk sayi {0}", enbuyuk);
Console.ReadKey();
Örnek 5)Girilen Üç Sayıdan En buyuk olanını bulan program
int sayi1, sayi2, sayi3;
Console.WriteLine("Birinci Sayi Giriniz");
sayi1 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("ikinci Sayi Giriniz");
sayi2 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("ucuncu Sayi Giriniz");
sayi3 = Convert.ToInt16(Console.ReadLine());
int enbuyuk = 0;
if (sayi1 > enbuyuk)
enbuyuk = sayi1;
if (sayi2 > enbuyuk)
enbuyuk = sayi2;
if (sayi3 > enbuyuk)
enbuyuk = sayi3;
Console.WriteLine("{0} en buyuk olan sayi", enbuyuk);
Console.ReadKey();
Örnek 6)Klavyeden Girilen sayıların Toplamı
int sayi1 = 0;
int sayi2 = 0;
Console.WriteLine("Toplanacak sayi giriniz");
sayi1 = int.Parse(Console.ReadLine());
Console.WriteLine("Toplanacak ikinci sayiyi giriniz");
sayi2 = int.Parse(Console.ReadLine());
double toplam = (double)sayi1 + sayi2;
Console.WriteLine("{0} Girilen sayilarin toplami", toplam);
Console.ReadKey();
Örnek 7)100 lük sistemdeki notun 5 lik sisteme ceviren program
int not = 0;
Console.WriteLine("100 lük sistemdeki notun 5 lik sisteme ceviren program");
Console.WriteLine("Notunuzu Giriniz");
not = int.Parse(Console.ReadLine());
if (not >= 0 && not < 25)
Console.WriteLine("Notunuz 0 ");
if (not >= 25 && not < 45)
Console.WriteLine("Notunuz 1 ");
if (not >= 45 && not < 55)
Console.WriteLine("Notunuz 2 ");
if (not >= 55 && not < 70)
Console.WriteLine("Notunuz 3 ");
if (not >= 70 && not < 85)
Console.WriteLine("Notunuz 4 ");
if (not >= 85 && not < 100)
Console.WriteLine("Notunuz 5 ");
Console.ReadKey();
Örnek 8)Klavyeden Girilen 10 sayının toplamı
int sayi;
int toplam = 0;
for (int i = 1; i < 10; i++)
{
Console.WriteLine("{0}. inci Sayi giriniz", i);
sayi = Convert.ToInt16(Console.ReadLine());
//toplam = toplam+sayi;
}
Console.WriteLine(" Sayilarin Toplami{0}\n", toplam);
Console.ReadKey();
Örnek 9)Klavyeden Girilen Adı ,Soyadı girilen adet kadar ekrana yazdıran program
string ad = "";
string soyad = "";
int adet;
Console.WriteLine("Adinizi Giriniz ");
ad = Console.ReadLine();
Console.WriteLine("Soyadinizi Giriniz ");
soyad = Console.ReadLine();
Console.WriteLine("Adinizi Kac Defa Yazilsin");
adet = int.Parse(Console.ReadLine());
for (int i = 0; i < adet; i++)
{
Console.WriteLine("{0} Adiniz={1} Soyadiniz={2} ", i, ad, soyad);
}
Console.ReadKey();
Örnek 10)Klavyeden Girilen Sayi Tek mi Çift mi bulan program
int sayi;
Console.WriteLine("Kontrol Edilcek Sayiyi Giriniz");
sayi = int.Parse(Console.ReadLine());
if (sayi % 2 == 0)
{
Console.WriteLine("Girilen Sayı {0} cift sayidir", sayi); Console.ReadKey();
}
else
{
Console.WriteLine("Girilen Sayı {0} tek sayidir", sayi); Console.ReadKey();
}
Uygulama Indir
Kaydol:
Kayıtlar
(
Atom
)
































