ATA-AÖF Programlama Temelleri Çıkmış Sorular
Atatürk Üniversitesi ATA-AÖF Programlama Temelleri dersinin vize, final ve bütünleme sınavlarına hazırlanmak için 20 soruluk havuz: çıkmış sınav sorularını cevaplarıyla çöz, yanlış yaptıklarını tekrar et, yolda sesli dinle.
Programlama Temelleri konu özeti
Ders, C++ temelli programlama kavramlarını işler: döngüler, diziler, işleme sırası, string ve STL kapları, dosya işlemleri, fonksiyonlar ile yazılım test aşamaları ve dil seviyeleri.
Döngüler ve diziler
- İç içe döngülerde dıştaki sayaç genelde satırı, içteki sütunu temsil eder.
- a[i][j] = i*j ataması, her hücreye satır ile sütun indisinin çarpımını yazar.
- Üç boyutlu dizide i, j, k indisleriyle gezilir; cout ile konum ve değer birlikte yazdırılabilir.
- 0 3 6 9 12 15 çıktısı için sayaç 0'dan başlar, 3'er artar ve i < 16 koşulu kullanılır.
- Sözde kodda while, koşul sağlandıkça döner; koşul yanlışlaşınca döngü biter ve çıktı alınır.
Operatörler ve ifade değerlendirme
- Aritmetik ifadede önce %, / ve * soldan sağa işlenir, sonra + ve - gelir.
- 42%5+6/2*5-3 ifadesinin sonucu 14'tür.
- ! operatörü mantıksal değildir; !(x<5) ifadesi x'in 5'ten küçük olmadığını anlatır.
- İlişkisel ve mantıksal operatörlerle doğru ya da yanlış sonuç veren ifadeler kurulur.
String ve karakter dizileri
- swap() iki string nesnesinin içeriğini karşılıklı değiştirir.
- insert(indis, metin) çağrısı verilen metni belirtilen indisin önüne yerleştirir.
- BILGISAYAR dizgesinde 5. indise 101 eklenirse sonuç BILGI101SAYAR olur.
- Karakter dizisinin bittiğini '\0' (null) karakteri gösterir.
STL kapları ve iteratör
- set içinde eleman aramak için find() üye fonksiyonu kullanılır.
- priority_queue bir konteyner adaptörüdür; elemanlar arasında dolaşmaya izin vermez, bu yüzden iteratör kullanılamaz.
- Adaptörler yalnızca kendi erişim kuralını sunar; priority_queue'da bu öncelik sırasıdır.
Dosya işlemleri
- ios::app kipi veriyi dosyanın sonuna ekler; dosya yoksa oluşturulur.
- seekg() ve seekp() ile dosya işaretçisi taşınır.
- Pozitif byte değeri işaretçiyi dosya sonuna doğru, negatif değer başa doğru götürür.
Fonksiyonlar ve derleme hataları
- Fonksiyonun dönüş türü double ise sonucu kayıpsız saklamak için double değişken kullanılır.
- int, char veya bool değişkene atama ondalık kısmı kaybettirir.
- if'ten sonra tek deyim varsa süslü parantez zorunlu değildir; bu durum derleme hatası doğurmaz.
Dil seviyesi ve yazılım testi
- Dil seviyesi düştükçe makine diline yaklaşılır ve program yazmak zorlaşır.
- Test sırası şöyledir: önce dâhili (alfa) test, sonra haricî (beta) test, en son kullanıcı testi.
- Dâhili testi geliştirme ekibi yapar; haricî testte sınırlı bir grup yer alır.
Önemli kavramlar
- İç içe döngü
- Bir döngünün gövdesinde başka bir döngünün çalışmasıdır; çok boyutlu dizileri gezmek için kullanılır.
- ios::app
- Dosyayı sonuna ekleme yapmak üzere açan kiptir; dosya yoksa oluşturur.
- seekg / seekp
- Dosyada okuma ya da yazma işaretçisini istenen konuma taşıyan fonksiyonlardır.
- Null karakter
- '\0' ile gösterilen, karakter dizisinin sonunu belirten sonlandırıcıdır.
- swap()
- İki nesnenin içeriğini birbiriyle takas eden üye fonksiyondur.
- insert()
- String içinde belirtilen indise başka bir metin ekleyen fonksiyondur.
- find()
- set gibi kaplarda belirli bir elemanı arayıp bulmaya yarayan üye fonksiyondur.
- İteratör
- Kaptaki elemanlar üzerinde dolaşmayı sağlayan yapıdır.
- priority_queue
- Elemanlara öncelik sırasıyla erişilen konteyner adaptörüdür; iteratör desteklemez.
- Mantıksal DEĞİL (!)
- Bir ifadenin doğruluk değerini tersine çeviren operatördür.
- Alfa ve beta test
- Alfa test geliştirici ekip içinde, beta test sınırlı dış grupla yapılan testtir.
Sınav ipuçları
- Aritmetik işlem sorularında önce %, / ve * işlemlerini soldan sağa yap, sonra toplama ve çıkarmaya geç.
- Sayaç döngülerinde başlangıç, koşul ve artış değerine bakarak son yazdırılan değeri kontrol et.
- seekg/seekp'de pozitif değer sona, negatif değer başa gider; bunu karıştırma.
- Dil seviyesi sorularında makine diline yaklaşmak programlamayı kolaylaştırmaz, zorlaştırır.
- Test sırası sorularında dâhili, haricî ve kullanıcı testi sıralamasını hatırla.
Hangi sınavların soruları var?
Programlama Temelleri örnek sorular
Aşağıdaki sorular dersin konularından derlenmiştir; cevabı görmek için "Cevabı gör"e dokunun. Tüm soruları uygulamada çözebilirsiniz.
1. for (int i=0; i< 5; i++) { for(int j=0; j<5; j++) { a[i][j] = i * j; } } Yukarıdaki kod bloğu hangi işi yapar?
- Dizinin ilk 5 satırı ile ilk 5 sütunundaki hücrelere 5 değerini yerleştirir.
- Dizideki bütün elemanlara 25 değerini yerleştirir.
- Dizideki her elemana, bulunduğu satır ve sütun indislerinin çarpımını atar.
- Dizideki bütün elemanlara 5 değerini yerleştirir.
- Dizinin ilk 5 satırı ile ilk 5 sütunundaki hücrelere 25 değerini yerleştirir.
Cevabı gör
Doğru cevap: C) Dizideki her elemana, bulunduğu satır ve sütun indislerinin çarpımını atar.
İç içe döngülerde i satır, j sütun indisidir. Her a[i][j] elemanına i*j çarpımı atanır.
2. Aşağıdaki iç içe üç döngüden oluşan C++ kodu çalıştırıldığında, test dizisi üzerinde gerçekleşen işlem hangi seçenekte doğru biçimde belirtilmiştir? for (int i = 0; i < 2; ++i) { for (int j = 0; j < 3; ++j) { for (int k = 0; k < 2; ++k) { cout << "test[" << i << "][" << j << "][" << k << "] = " << test[i][j][k] << endl; } } }
- test dizisindeki değerleri siler.
- test dizisinin kaç elemandan oluştuğunu hesaplar.
- test dizisinin hücrelerine yeni değer yerleştirir.
- test dizisinin satır elemanlarını sütun elemanlarıyla çarparak sonuç üretir.
- test dizisindeki her değeri, bulunduğu konumun indisleriyle birlikte ekrana basar.
Cevabı gör
Doğru cevap: E) test dizisindeki her değeri, bulunduğu konumun indisleriyle birlikte ekrana basar.
Döngü içindeki cout ifadesi hem i, j, k indislerini hem de test[i][j][k] değerini ekrana yazar.
3. Bir dosya ios::app kipiyle açıldığında aşağıdaki durumlardan hangisi söz konusu olur?
- Aynı adlı bir dosya zaten varsa hata verilir; amaç yeni dosya oluşturmaktır.
- Dosya, sonuna yeni veri eklemek amacıyla açılır ve mevcut değilse oluşturulur.
- Dosya yalnızca içeriğini okumak amacıyla açılır.
- Mevcut içerik silinir ve dosyaya baştan yeni veri yazılır.
- Dosya veri okumak için açılır ve mevcut değilse oluşturulur.
Cevabı gör
Doğru cevap: B) Dosya, sonuna yeni veri eklemek amacıyla açılır ve mevcut değilse oluşturulur.
ios::app (append) kipi, yazılan verileri dosyanın sonuna ekler. Dosya yoksa kendiliğinden oluşturulur.
4. Bir C++ programında y=42%5+6/2*5-3; ifadesi işletildiğinde y değişkeni hangi değeri alır?
- 14
- 18
- 26
- 16
- 22
Cevabı gör
Doğru cevap: A) 14
42%5 = 2, 6/2 = 3, 3*5 = 15 olur. Sonuç 2 + 15 - 3 = 14'tür.
5. SET x=5, y=10, toplam=45 WHILE toplam < 70 COMPUTE toplam = toplam + y COMPUTE y = y + x ENDWHILE PRINT y, toplam Yukarıdaki sözde kod çalıştırıldığında hangi çıktı elde edilir?
- 30 120
- 15 55
- 10 45
- 25 90
- 20 70
Cevabı gör
Doğru cevap: E) 20 70
İlk turda toplam 55, y 15 olur. İkinci turda 55<70 sağlandığından toplam 70, y 20 olur. 70<70 sağlanmadığı için döngü biter; çıktı y=20, toplam=70'tir.
6. İki string nesnesinin içeriğini birbiriyle yer değiştirmek istenirse, swap() üye fonksiyonunun hangi görevi üstlendiği söylenebilir?
- String değişkenin içinin boş olup olmadığını denetler.
- String değişkenlerin içeriklerini karşılıklı olarak takas eder.
- String içinde belirli bir ifadeyi bulur.
- String değişkenleri birbiriyle kıyaslar.
- String değişkenleri uç uca ekleyerek birleştirir.
Cevabı gör
Doğru cevap: B) String değişkenlerin içeriklerini karşılıklı olarak takas eder.
swap() fonksiyonu iki nesnenin içeriğini birbiriyle değiştirir.
7. Programlama dillerinin özellikleri düşünüldüğünde, aşağıdaki cümlelerden hangisi doğru bilgi içermez?
- Sistem programlama alanında çoğunlukla düşük seviyeli dillerden yararlanılır.
- Bir dil makine diline yaklaştıkça, onunla program yazmak daha kolay hâle gelir.
- Donanıma yakın çalışan dillere düşük seviyeli diller denir.
- Yazılan komutların makine diline dönüştürülmesini derleyici denen programlar sağlar.
- Yazılım geliştirme süresini kısaltmak isteyenler yüksek seviyeli dilleri seçer.
Cevabı gör
Doğru cevap: B) Bir dil makine diline yaklaştıkça, onunla program yazmak daha kolay hâle gelir.
Dil seviyesi düştükçe makine diline yaklaşılır ve program yazmak zorlaşır; bu nedenle b ifadesi yanlıştır.
8. I. Dâhili test II. Haricî test III. Kullanıcı testi Bu testler hangi sıra izlenerek uygulanmalıdır?
- II-III-I
- I-III-II
- I-II-III
- III-I-II
- II-I-III
Cevabı gör
Doğru cevap: C) I-II-III
Önce geliştirme ekibi dâhili (alfa) testi yapar, ardından sınırlı bir grupla haricî (beta) test gelir; en son kullanıcı testi uygulanır.
9. Aşağıdaki veri depolama yapılarından hangisinde iteratör kullanılamaz?
- vector
- map
- list
- set
- priority_queue
Cevabı gör
Doğru cevap: E) priority_queue
priority_queue gibi konteyner adaptörleri elemanlara doğrudan erişim ya da dolaşma imkânı vermez; yalnızca kendi erişim kuralını (öncelik sırası) sunar.
10. Bir set yapısı içinde eleman aramak istendiğinde aşağıdaki fonksiyonlardan hangisinden yararlanılır?
- find()
- erase()
- swap()
- stack()
- iterator()
Cevabı gör
Doğru cevap: A) find()
STL'deki std::set kabında belirli bir elemanı bulmak için find() üye fonksiyonu çağrılır.
Bu dersi alan bölümler
Nasıl çalışmalı?
Önce "Vize (hepsi)" ya da "Final (hepsi)" ile geçmiş yılların sorularını çözün; aynı konular sınavlarda sık tekrarlanır. Yanlış yaptığınız sorular "Yanlışlar" bölümünde birikir, sınavdan önce onları yeniden çözün. Yolda ya da ev işi yaparken "Sesli Dinle" ile soruları ve cevaplarını dinleyebilirsiniz.
Sık sorulan sorular
ATA-AÖF Programlama Temelleri çıkmış sorular nerede?
Mobil Defter'de ATA-AÖF Programlama Temelleri dersinin vize, final ve bütünleme hazırlığı için 20 sorusu var (2024-25 Final). Soruları cevaplarıyla test olarak çözebilir, yanlışlarını ayrıca tekrar edebilir ve sesli dinleyebilirsin.
ATA-AÖF Programlama Temelleri vize soruları ve final soruları ayrı çözülebilir mi?
Evet. Uygulamada "Final (hepsi)" düğmeleriyle yalnız o sınavın sorularını, yıl düğmeleriyle de tek bir yılın sınavını çözebilirsin.
ATA-AÖF Programlama Temelleri çıkmış sorular PDF olarak indirilebilir mi?
Ayrı bir PDF dosyası yerine uygulamadaki "Kağıda yazdır" düğmesi dersin bütün sorularını ve cevap anahtarını yazdırılabilir sayfa olarak hazırlar; telefonda ya da bilgisayarda "PDF olarak kaydet" seçeneğiyle PDF yapabilirsin.
ATA-AÖF Programlama Temelleri ders notları ve konu özeti var mı?
Evet. Bu sayfada dersin konu özeti var; uygulamadaki "Konu özeti" düğmesiyle özetin tamamını okuyabilir ya da sesli dinleyebilirsin.
ATA-AÖF Programlama Temelleri soruları ücretli mi?
Hayır, ücretsiz. Ad, cep telefonu ve bölümünle bir dakikada üye olup bütün sorulara, yanlışlar listesine ve sesli dinlemeye erişebilirsin.
1. sınıf Güz diğer dersler
- Acil Durum ve Afet Yönetimine Giriş çıkmış sorular
- Arama ve Kurtarma Bilgisi çıkmış sorular
- Bina ve Yapım Bilgisi çıkmış sorular
- Çocuk Gelişimi I çıkmış sorular
- Çocuk ve Oyun çıkmış sorular
- Genel Muhasebe çıkmış sorular
- Genel Sanat Tarihi çıkmış sorular
- Halkla İlişkiler çıkmış sorular
- Hukukun Temel Kavramları çıkmış sorular
- İletişime Giriş çıkmış sorular
- İşletme Bilimine Giriş çıkmış sorular
- Matematik I çıkmış sorular
- Psikoloji çıkmış sorular
- Reklamcılığa Giriş çıkmış sorular