28 Haziran 2020 Pazar

Algoritma - Girilen 10 Sayının Ortalamasını Bulmak

Algoritmalar, bizim bir yazılımı geliştirmeden önce izleyeceğimiz adımların ve yazılımın yapısının tasarlandığı planlı bir çalışma için oldukça önemli olan yapılardır. Bu örnekte, kullanıcı tarafından girilen 10 sayının bir diziye aktarılıp, bu sayıların ortalamasını veren uygulamanın algoritmasını, akış diyagramını ve örnek bir program çıktısını paylaşıyorum.

Algoritma Adımları:

1. Başla
2. D[10], i=1, ort, sayi
3. sayi değerini gir
4. d[i]=sayi işlemini yap
5. Eğer i=9 ise devam et,
değilse 6’ya git.
6. ort=ort+d[i], i--
7.Eğer i<0 br="" devam="" et="" ise=""> değilse 6’ya git
8 ort = ort / 10 işlemini yap
9 Yazdır ort
10 Bitir

Akış Diyagramı:

ozgurcyaman.com

Program Çıktısı:

ozgurcyaman.com
c# konsol çıktısı


Python - Çekiliş Botu Yazılımı

Bugün python dili kullanarak bir çekiliş botu yazılımı yapıyoruz. Botlar insanları taklit eden yapılardır. Örneğin bu yazılımı düşünürsek, yazdığımız bot uygulaması bizim yerimize sohbet ortamının bulunduğu siteyi ziyaret edip, belirli aralıklarda sayfayı yenileyip, belirlenen kelimeyi yazan kullanıcıları belirleyip hafızaya alıyor daha sonra bu kişiler arasından bir kişiyi rastgele olarak belirliyor.

Bu bot yazılımı için çeşitli python kütüphanelerine ihtiyacımız olmakta, random kütüphanesi ile rastgele seçim yapıyoruz, time kütüphanesi botun çalışma süresini belirliyor, selenium ise bizim yerimize belirlenen web sitesini  ziyaret etmemizi sağlayan kütüphanedir.

Kodlar:
   
from selenium import webdriver
from bs4 import BeautifulSoup
import time
import random


#bilgiler
adres=input("Lütfen sohbet url'sini giriniz: ")
kelime=input("Lütfen cekilis kelimesini giriniz: ")
ytLiveChatURL = adres
keyword = kelime
eligibleUsers = set()

# start web browser
tercih=input("Tarayıcı secim\n 1:Chrome \n 2:Firefox \ntercihiniz: ")
if(tercih=="1"):
    browser = webdriver.Chrome()
else:
    browser = webdriver.Firefox()


def getHTML(url):
   # get source code
    browser.get(ytLiveChatURL)
    time.sleep(1)
    page_source = browser.page_source
    return page_source


def parseHTML(html_source):
    return BeautifulSoup(html_source, 'html.parser')


def getMessages(soup):
    return soup.find_all("yt-live-chat-text-message-renderer")


def updateEligibleUsers(messages):
    for message in messages:
        content = message.find("div", {"id": "content"})
        author = content.find("span", {"id": "author-name"}).text
        message_content = content.find("span", {"id": "message"}).text
        if keyword in message_content.lower():
            eligibleUsers.add(author)


def startDrawing(eligibleUsersList):
    print("Cekilis basliyor! {totalUserCount} kisi hak kazandi.".format(
        totalUserCount=len(eligibleUsersList)))

    time.sleep(3)
    for i in range(1, 5):
        noktalar = i * "."
        print("Rasgele bir sayi cekiliyor" + noktalar)
        time.sleep(1.5)

    print("{totalUserCount} kisi arasindan kazanan:".format(
        totalUserCount=len(eligibleUsersList)), random.choice(eligibleUsersList))


def main():
    for i in range(0, 7):
        html_source = getHTML(ytLiveChatURL)
        soup = parseHTML(html_source)
        messages = getMessages(soup)
        updateEligibleUsers(messages)
        print("{count} kisi cekilise katilmis durumda.".format(
            count=len(eligibleUsers)))
        time.sleep(10)

    eligibleUsersList = list(eligibleUsers)
    startDrawing(eligibleUsersList)
    browser.close()


main()
   

15 Haziran 2020 Pazartesi

c# - Kronometre Uygulaması

C# dile ile kronometre uygulamasının programlanması, bu uygulama istenildiğinde başlatılıp durdurulabilecek ve istenilen sayıların kayıtları tutulabilecek şekilde tasarlanmıştır.

Tasarım görüntüsü:

Kronometre uygulaması ozgurcyaman.blogspot.com

Çalışma Görüntüsü:




Kodlar:

   
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Kronometre
{
    public partial class Form1 : Form
    {
        int sayi = 0;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;

        }

        private void timer1_Tick(object sender, EventArgs e)
        {

            sayi++;

            label1.Text = sayi.ToString();

        }

        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Enabled = false;

        }

        private void button3_Click(object sender, EventArgs e)
        {
            label2.Text = label1.Text;
        }
    }
}

c# - Çarpım Sonucu Bulma Oyunu

Bugün c# dili ile birlikte basit bir oyun yapıyoruz. Oyunun amacı rastgele olarak gelen iki sayının çarpım sonucunu 10 saniye içerisinde bilmek, pas butonu ile gelen iki rastgele sayı değişebiliyor. 10 saniye içerisinde tahmin yapılmadığında veya yanlış tahmin yapıldığında program otomatik olarak kapanıyor.

Tasarım Görüntüsü:

Çarpım sonucu bulma oyunu ozgurcyaman.blogspot.com


Kodlar:
   
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int sonuc=0, sayi1=0, sayi2=0, tahmin, sayac=10;

        private void button2_Click(object sender, EventArgs e)
        {
            Random x = new Random();

            sayi1 = x.Next(1, 100);
            sayi2 = x.Next(1, 100);

            label1.Text = sayi1.ToString();
            label3.Text = sayi2.ToString();

            timer1.Enabled = true;
            sayac = 10;
            label5.Text = sayac.ToString() + " Saniyeniz kaldı";
            
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            sayac--;
            label5.Text = sayac.ToString()+" Saniyeniz kaldı";
            if (sayac==0)
            {
                timer1.Enabled = false;
                MessageBox.Show("Süreniz Bitti Kaybettiniz");
                this.Close();
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            tahmin = Convert.ToInt32(textBox1.Text);
            sonuc = (sayi1 * sayi2);
            if (tahmin==sonuc)
            {
                timer1.Enabled = false;
                MessageBox.Show("Tebrikler " + sayac.ToString() + " saniye kala bildiniz");
                this.Close();
            }
            else
            {
                timer1.Enabled = false;
                MessageBox.Show("Maalesef bilemediniz doğru cevap: " + sonuc.ToString());
                this.Close();
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Random x = new Random();
            
            sayi1 = x.Next(1, 100);
            sayi2 = x.Next(1, 100);

            label1.Text = sayi1.ToString();
            label3.Text = sayi2.ToString();

            timer1.Enabled = true;
            label5.Text = sayac.ToString() + " Saniyeniz kaldı";
        }
    }
}

   

2 Haziran 2020 Salı

Python - Vücut Kitle İndeksi

Python vücut kitle indeksi - ozgurcyaman.com
Vücut kitle indeksinin fonksiyon yapısı kullanılarak python dilinle programlanması.
   
def vucut_indeksi(kilo,boy):

  return kilo / (boy**2)*10000



isim=input("Merhaba lütfen isiminizi giriniz: ")

print(f"Vücut kitle indeksi hesaplama uygulamasına 
Hoş geldiniz sayın {isim} ")


boyu=int(input("Lütfen boyunuzu 
cm cinsinden (örneğin 175) giriniz:"))

kilosu=int(input("Lütfen kilonuzu 
kg cinsinden (örneğin 85) giriniz:"))



sonuc=vucut_indeksi(kilosu,boyu)

cikti=round(sonuc,2)


print(f"Vücut kitle indeksiniz: {cikti} ")


if(cikti<18.5):

  print("Kilo Durumu: Düşük Kilolu.")

elif(cikti>=18.5 and cikti<=24.9):

  print("Kilo Durumu: Normal Kilolu.")

elif(cikti>=25 and cikti<=29.9):

  print("Kilo Durumu: Fazla Kilolu.")

elif(cikti>=30 and cikti<=40):

  print("Kilo Durumu: Obez.")

else:

  print("Kilo Durumu: Aşırı Obez.")




print("--------")

print("ozgurcyaman.blogspot.com")