Thursday, March 28, 2024

9. Sınıf Programlama temelleri dersi sınav soruları hakkında bilgi

Sınav 9 sorudan oluşacaktır. Bilgisayarda uygulama olarak gerçekleştirilecektir.

Sınav Uygulama Adımları

·       Masaüstünde PT2d1y_OkulNo şeklinde bir klasör oluşturunuz.

·       Her sorunun cevabı ayrı bir dosyada gerçekleştirilmelidir

·       Değerlendirme yapılırken program çalışmıyor ise 0 puan olarak değerlendirilecektir.

Sınav süresi 60 dakika olacaktır.

Aşağıda sınavın kapsamı verilmiştir. 

temel seviye programlama -> temel seviye, giriş alma, ekrana yazma, değişken kullanımı

karar verme komutları -> if, if...else, if...elif..

döngüler -> for, while

listeler-> listeler, liste oluşturma, listeye veri ekleme, listenin her bir elemanına erişerek işlem yapma, listeyi ekrana yazma vb. konular 

functionlar -> function tanımlama, parametreli functionlar, değer döndüren functionlar vb. konular

9. Sınıf Mesleki gelişim sınav çalışma soruları

 Mesleki gelişim dersi 2. dönem 1. yazılı sınavı için çalışma sorularına erişmek için TIKLAYINIZ

Monday, March 18, 2024

9b 18.03.2024 functions tekrar ve denemeler


# çağrılana kadar herhangi bir şey yapmayan çağrıldığında çalışan kod bloklarıdır.
# keyfi olabilir, tekrar tekrar kullanılacak uzun veya kısa kod blokları var diyelim.
# her seferinde yazmak yerine bunları kullanırız.
# bir kütüphane oluşturmak için olabilir.

# print() # ekrana yaz alt satıra geç
# print("merhaba") # ekrana gönderilen parametreyi yazar, alt satıra geçer
# bu yukarıdaki ikisi bir iş yapıyor, geriye birşey döndürmüyor.

# input() # giriş alır,
# input("bir ad girin: ") # ekrana bir ad girin yazacak, giriş alacak
# ad = input("bir ad girin: ")# giriş aldık, ad değişkeninin içine attık

liste = []
liste.append(1)
liste.append(5)
liste.append(1)
liste.append(9)

print(liste)

elemansayisi = len(liste)
print(elemansayisi)


# bir fonksiyon nasıl tanımlanır

# define , tanımlamak anlamına gelir.

# def FunctionName():
#     Bu kısımda kodlar olacak

def EkranaMerhabaYaz():
    print("Merhaba")

# yukarıdaki function parametresiz olarak yazılmış bir functiondur
   
# parametre nedir, parantezin içine yazılan ifadeler
# functionun çağrıldığı yerden functiona değer göndermek için kullanılan ifadeler
def EkranaYaz(ifade):
    print(ifade)

# birden fazla parametre gönderilebilir.

def ToplamYaz(a,b):
    toplam = a+b
    print(toplam)

EkranaMerhabaYaz()
EkranaYaz("Merhaba Dünya")

ToplamYaz(4,6)
a = 6
c = 3
ToplamYaz(a,c)



# functionlar bir iş yaptıktan sonra illa da ekrana yazacak diye birşey yok

# functionlar geriye değer döndürebilirler, çağrıldıkları yere

import random


# sayi = random.randint(1,2)
# print(sayi)

def ZarAt():
    zar = random.randint(1,6)
    return zar # return geriye dön, anaprograma dön demek oluyor, yanına yazdığımız ifadeyi ana programa döndürür

a = ZarAt()
print(a)

print(ZarAt())




# Faktoriyel isimli bir function tanımlayarak, functiona gönderilen sayının faktoriyelini ekrana yazan
# programı yazınız.

# Faktoriyel nedir?
# bir sayının faktoriyeli, o sayıdan 1 e kadar olan tamsayıların birbiri ile çarpımlarının sonucudur

# 3! = 3 * 2 * 1 = 1 * 2 *3
# 5! = 5 * 4 * 3 * 2 * 1 = 1 * 2 * 3 * 4 * 5


def Faktoriyel(sayi):
    fak = 1
    for i in range(1,sayi+1):
        fak = fak * i
    return fak


print(Faktoriyel(5))
print(Faktoriyel(7))



# Geçtiğimiz derslerde sayısal loto yapmıştık
# orada üretilen sayıların birbirinden farklı olmaları gerekiyor idi.

import random

def KuponUret(): # 1,49 arasında 6 adet birbirinden farklı sayı
    kupon = []
    while len(kupon) < 6: # kupon eleman sayısı 6 olana kadar dön
        sayi = random.randint(1,49)
        if kupon.count(sayi) == 0:
            kupon.append(sayi)
    kupon.sort()
    return kupon

print(KuponUret())



# map işlemi
# Python'da map() fonksiyonu, bir iterable nesnenin her bir elemanına
# bir fonksiyonu uygular ve sonuçları yeni bir iterable nesne olarak döndürür.

# map(fonksiyon, iterable)

def ikiKati(sayi):
    return sayi * 2

liste = [1,3,5,9]

result = map(ikiKati,liste) # listenin her bir elemanı için iki katı hesaplanır, yeni bir liste oluşur.
# ancak yukarıdaki kodda sistem oluşan listenin liste olduğunu bilemez.
# dolayısı ile
print(result) # dediğimizde map ile oluşan listenin sadece adresini görebiliriz.

result = list(map(ikiKati,liste)) # map ile oluşan listenin liste olduğunu belirtiyoruz
# bu sayede artık bir listemiz olmuş oluyor.
print(result)


# listenin her bir elemanının karesini alarak yeni bir liste oluşturma

def kare(sayi):
    return sayi * sayi

liste = [1,5,4,7,9,2,11]

# soru şu, listenin elemanlarının karesinin listesini oluşturarak ekrana yazdırın

sonuc = list(map(kare,liste))

print(sonuc)



# filter denen birşey var.
# aynı map gibi çalışır.
# bu durumda tanımını yapalım
# filter ne demek, filtre, bir listenin içinden belirtilen şartlara göre ayırma işlemidir.

# map gibi kullanılır, yani
# filter, listenin her bir elemanı için belirtilen filtre functionuna göre yeni bir liste oluşturur
# filter için kullanacağınız functionun true ya da false döndürmesi gerekir.

liste = [1,3,5,2,6,7,12,63,24]

# yukarıdaki listedenin elemanlarından çift olanları ayrı bir listeye atınız.
# normalde nasıl yapıyorduk

# result = []
# for i in liste:
#     if i%2 ==0:
#         result.append(i)

# print(result)

def ciftMi(sayi):
    return sayi % 2 == 0

result = list(filter(ciftMi, liste))

print(result)


# diyebilirsiniz ki hocam tek satır için function yazıp duruyoruz
# bunun yerine function gibi çalışacak birşey yazabilir miyiz

# evet var, lambda

liste = [1,3,5,2,6,7,12,63,24]

# yukarıdaki listeden çift olan elemanlarından bir liste oluşturalım

result = list(filter(lambda x: x%2==0, liste))
# yukarıda lambda x: ifadesi ile şunu demiş olduk, her bir eleman için dönerken elemanı x olarak kabul et

print(result)

result = list(map(lambda x: x*3,liste))
print(result)



# Aşağıdaki listede bulunan isimlerden E veya e içerenleri ayrı bir listeye atan programı yazınız.

isimler = ["Ahmet", "Ayşe", "Fatma", "Mehmet", "Elif", "Ali", "Hatice", "Ömer",
           "Hakan", "Merve", "Selin", "Can", "Deniz", "Emre", "Eda",
           "Büşra", "Cansu", "Umut", "Ezgi", "Çağlar"]


result = list(filter(lambda x: x.count("e")+x.count("E") != 0,isimler))

print(result)













 

Sunday, March 10, 2024

9. SINIF 11.03.2024

# bir liste nasıl tanımlanıyor idi

#liste = ["Adana", "Sakarya","İstanbul"]

# dictionary ler ise key ve value dan oluşur. { } arasına yazılırlar

#dict = {"key":"value"}

liste = {"Adana":1 , "Sakarya":54, "İstanbul":34, "Kocaeli":41, "Rize":53, "Ankara":6}

print(liste["İstanbul"])

# key erişim için kullandığımız değerdir.
# sözlük kullanmışsınızdır, kelimeyi bulunca anlamını okuyorsunuz.

sozluk = {"Arı":"Küçük bal yapan iğnesi olan böcek", "Kitap":"içinde bilgilerin yazı ve resimlerle gösterildiği basılı materyal","rakam":"sayı yazmak için kullanılan sayısal işaretlerdir."}
print(sozluk["Arı"])

for i in sozluk:
    print(sozluk[i])




# fonksiyonlar, function
# tekrar tekrar kullanılacak işlemlerin tekrar tekrar yazılmaması için bir yerde toplanması sebebiyle veya
# düzenli görünsün diye veya keyiften kenarda yazılmış olan
# çağrılmadığı sürece çalışmayan kod bloklarıdır

# Tanımlanması
# def functionName():
#   ....
#   ....
#   ....

def Selamla(): # Selamla adında bir function tanımladık
    print("Merhaba Dünya")

Selamla() # bir fonksiyon adının yazılması ve parantez açıp kapatılması ile çağrılır.
Selamla()

print() # bakın zaten kullandığımız print de bir fonksiyon işi ekrana yaz alt satıra geç
ad = input() # bu da function , giriş alıyor alınan girişi geri döndürüyor.



# fonksiyonlar, function

# EkranaYaz adında bir function tanımlayanız. bu functionun görevi verilen ifadeyi ekrana yazmaktır. sonrasında
# alt satıra geçmesin. yani sadece ekrana yazsın

def EkranaYaz(kelime): # parantez içinde olan ifadelere parametre adı verilir. çağrılırken functiona veri göndermek için kullanılır.
    print(kelime,end="") # burada çok daha fazla işlem yapılıyor olabilir idi,

EkranaYaz("Merhaba") # kolayca yazdığımız functionu çağırıyoruz.
EkranaYaz("Dünya")
# fonksiyonlar, function

# EkranaYaz adında bir function tanımlayanız. bu functionun görevi verilen ifadeyi ekrana yazmaktır. sonrasında
# alt satıra geçmesin. yani sadece ekrana yazsın

# def EkranaYaz(kelime): # parantez içinde olan ifadelere parametre adı verilir. çağrılırken functiona veri göndermek için kullanılır.
#     print(kelime,end="") # burada çok daha fazla işlem yapılıyor olabilir idi,

# EkranaYaz("Merhaba") # kolayca yazdığımız functionu çağırıyoruz.
# EkranaYaz("Dünya")


# Soru
# Kare adında bir function tanımlayınız. bu functiona gönderilen sayının karesini ekrana yazan bir function olacaktır.

# klavyeden girilen sayının karesini bu functionu kullanarak ekrana yazdıran programı yazınız.

def kare(sayi):
    k = sayi * sayi
    print(k)

s = int(input("Bir sayı girin: "))
kare(s)


# functionlar sadece işlem yapmazlar, işlemleri yaptıktan sonra geriye birşey de döndürebilirler

# print() işi yapar
# input() işi yapar, geriye birşey döndürür

# örneğin: Topla adında bir function tanımlayalım. işi gönderilen 2 sayıyı toplamak olsun.
# işlem sonucunu çağrıldığı yere döndürsün.

def Topla(s1,s2):
    toplam = s1+s2
    return toplam # geriye döndür(çağrıldığı yere) belirtilen değeri, return komutunu gördüğünde function biter

a = int(input("Bir sayı girin"))
b = int(input("Bir sayı girin"))

sonuc = Topla(a,b)
print(sonuc)