• Sonuç bulunamadı

TOBB Ekonomi ve Teknoloji Üniversitesi Bilgisayar Mühendisliği Bölümü

N/A
N/A
Protected

Academic year: 2022

Share "TOBB Ekonomi ve Teknoloji Üniversitesi Bilgisayar Mühendisliği Bölümü"

Copied!
8
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

TOBB Ekonomi ve Teknoloji Üniversitesi Bilgisayar Mühendisliği Bölümü

BİL 131 – Bilişim Teknolojileri ve Programlama 2013 – 2014 Yılı Bahar Dönemi

Ara Sınav 27 Şubat 2014

Soyadı: Adı:

Öğrenci Numarası:

Açıklamalar

1. Sınavı çözmeye başlamadan önce tüm açıklamaları ve soruları okuyunuz.

2. Sınavda toplam 12 soru vardır ve soruların toplam değeri 100 puandır. Bütün soruların değeri köşeli ayraç ile belirtilmiştir. Zamanınızı tek bir soru üzerinde harcamayınız; tüm soruları yanıtlamaya çalışınız. Sınav süresi 120 dakikadır.

3. Bu sayfa dahil tüm sınav kağıtlarını geri vermeyi unutmayınız.

4. Adınızı tüm sayfaların altına yazınız.

5. Sınav sırasında gözetmen dahil hiç kimseye soru sormayınız.

6. Başkasının kağıdına bakma veya başkasıyla konuşma kopya olarak değerlendirilecektir.

7. Kitap, defter, kağıt, hesap makinesi, cep telefonu, bilgisayar vb. araç gerecin kullanımı yasaktır.

8. Sınav gözetmenleri en geç 20 dakikada bir tahtaya kalan süreyi yazacaktır. Bu sebeple saate bakmak için dahi olsa cep telefonuna bakmak kesinlikle yasaktır.

9. Cevaplarınızı okunaklı yazınız. Okunaklı olmayan cevaplar okuyan kişinin anladığı şekilde kabul edilecektir.

10. Sınavla ilgili yorumlarınız için #etubil131 hashtagini kullanabilirsiniz.

Soru 1 Soru 2 Soru 3 Soru 4 Soru 5 Soru 6

… / 20 … / 5 … / 5 … / 5 … / 10 … / 5 Soru 7 Soru 8 Soru 9 Soru 10 Soru 11 Soru 12

… / 10 … / 5 … / 5 … / 10 … / 10 … / 10

Toplam:______ / 100

(2)

Ad Soyad: ______________________________________________ 2 1. [2 + 4 + 4 + 4 + 2 + 4 = 20 puan]

a. Veri ile bilgi arasındaki farkı bir cümlelik bir örnek ile açıklayınız.

İşlenmiş veriye bilgi denir. Örneğin bir fotoğraf bir veridir, oysa fotoğrafta TOBB Ekonomi ve Teknoloji Üniversite'sinin bulunduğunu bilmek bir bilgidir.

b. Bilgi İşleme Döngüsü ne ifade etmektedir? Grafik çizerek açıklayınız.

Bir girdiyi belirli yönergelere göre işleyerek tercihe göre depolayan ve sonuç olarak bir çıktı oluşturan döngüye "Bilgi İşleme Döngüsü" adı verilir.

c. Bir problemi çözmek için kaç aşama vardır? Aşamaları birer cümle ile açıklayınız.

Bir problemi çözmek için 4 aşama vardır:

1) Problemi anlamak: Problemin neden oluştuğunu, girdilerini ve çıktılarını anlayabilmek.

2) Plan yapmak: Problemi çözebilmek için daha önce çözdüğümüz problemleri de göz önünde bulundurarak bir plan yapmak.

3) Planı uygulamak: Hazırlamış olduğumuz planı uygulamak, Java kapsamında düşünürsek plana uygun şekilde kodlamak.

4) Test etmek: Kodu farklı girdiler için test etmek ve doğru çıktıları verdiğinden emin olmak.

d. Bir programı yazarken kaç tip hata oluşabilir? Bu hataları birer cümle ile açıklayınız.

Bir program yazarken 3 tip hata oluşabilir:

1) Yazım hatası (Syntax Error): Kodlama diline uygun yazılmayan kodların oluşturduğu hatalardır.

2) Çalışma Zamanı Hatası (Runtime Error): Programın yazılmasında hata yoktur fakat program çalışırken yapılması istenen bir işi yapamamaktadır, örneğin 0'a bölme işlemi.

3) Mantık hatası: Program farklı girdilerle test edildiğinde istenilen çıktıları vermemektedir.

e. Aşağıda isimleri verilmiş olan veri türlerini büyükten küçüğe sıralayınız.

byte - double - short - long - float – int

double – float – long – int – short - byte

f. Aşağıdakilerden hangileri değişken ismi olarak kullanılmaya uygundur? Doğru seçeneğin içerisine işaret koyunuz.

Değişken Adı Uygun Uygun Değil

final X

hep_cat X

Dr. H X

funny$ X

class X

7cuceler X

book-mark X

string X

(3)

Ad Soyad: ______________________________________________ 3 2. [5 puan] Aşağıdaki for döngüsünde parantezlerin içeriğini öyle bir doldurun ki, programın çıktısı 'ten başlamak üzere her bir adımda 3'er 3'er artsın ve son çıktı olarak 34 sayısını versin.

Not: Programda for döngüsünün parantez içi dışında herhangi bir değişiklik yapamazsınız.

3. [5 puan] Aşağıdaki System.out.println() komutunda parantez içerisini uygun şekilde doldurarak aşağıdaki çıktıyı ekrana yazdıran kod parçasını oluşturunuz.

Not: Aynı satırdaki sayılar arasında bir/birkaç boşluk karakteri değil, tam olarak bir sekme boyutu (tab) kadar boşluk olmalıdır.

4. [5 puan] Aşağıda for döngüsü ile yazılmış olan kod parçasının yaptığı işlemi while döngüsü kullanarak yapan bir kod parçası yazınız.

int sayac = 3;

int toplam = sayac * 3;

sayac = 0;

while(sayac < 5){

toplam += sayac % 3;

sayac++;

}

System.out.println(toplam);

for(int i = -14; i <= 34; i = i + 3)

{ System.out.println(i); }

int sayac = 3;

int toplam = sayac * 3;

for(sayac = 0; sayac < 5; sayac++) {

toplam += sayac % 3;

}

System.out.println(toplam);

Çıktı:

"1 2 3 4 5 6 7 8 9"

System.out.println("\"1\t2\t3\n4\t5\t6\n7\t8\t9\"");

(4)

Ad Soyad: ______________________________________________ 4 5. [10 puan] Klavyeden okuduğunuz ve saniye cinsinden verilmiş süreyi ifade eden bir tam sayıyı saat, dakika, saniye cinsine çeviren Java programını yazınız. Programın örnek çıktıları aşağıdadır:

6. [5 puan] Aşağıdaki kodun çıktısı ne olur? Cevabınızı sağdaki kutu içerisine yazınız.

public class CiktiSorusu {

public static void main (String [] args) {

for(int i = 1; i < 5; i++) {

for(int j = 1; j <= i; j++) System.out.print(j + " ");

System.out.println();

}

for(int i = 4; i >= 1; i--) {

for(int j = 1; j < i; j++) System.out.print(j + " ");

System.out.println();

} } }

Cevap:

1 1 2 1 2 3 1 2 3 4 1 2 3 1 2 1 Saniye cinsinden sure giriniz: 3722

3722 saniye = 1 saat 2 dakika 2 saniye Saniye cinsinden sure giriniz: 936 936 saniye = 0 saat 15 dakika 36 saniye

import java.util.Scanner;

public class Soru5 {

public static void main(String[] args) {

Scanner klavye = new Scanner(System.in);

System.out.print("Saniye cinsinden sure giriniz: ");

int sure = klavye.nextInt();

int saat = sure / 3600;

int kalan = sure % 3600;

int dakika = kalan / 60;

int saniye = kalan % 60;

System.out.print(sure + " saniye = " + saat + " saat ");

System.out.println(dakika + " dakika " + saniye + " saniye ");

} }

(5)

Ad Soyad: ______________________________________________ 5 7. [1 x 10 = 10 puan] Aşağıdaki kod parçalarının çıktıları ne olur? Yanlarına yazınız. Kodda hata varsa

"Hatalı yapıda", kod sonsuz döngüde çalışıyorsa "Sonsuz döngü" yazınız.

boolean esitlik = 1 == 3;

System.out.println(esitlik);

Cevap: false

int a = 3, b = 5;

System.out.println(a+b+"="+a+b);

Cevap: 8=35 if("ay".equals("Ay"));

{

System.out.print("esit");

}

System.out.println("!");

Cevap: esit!

if("ay".equalsIgnoreCase("gun"));

{

System.out.print("esit");

}

System.out.println("!");

Cevap: esit!

int sonuc = 0;

if(--sonuc >= 0)

System.out.print("java");

System.out.println("!");

Cevap: !

for(int i = 0; i < 5; i++) System.out.print(i + " ");

System.out.println(i);

Cevap: Hatalı yapıda int a = 5, b = 8;

System.out.print(b+b/a);

System.out.println("!");

Cevap: 9!

int a = 0, b = 8;

System.out.print(b/a);

System.out.println("!");

Cevap: Hatalı yapıda int i = 0;

for(i = 0; i < 5; i++)

System.out.print(i-- +" ");

System.out.println("!");

Cevap: Sonsuz döngü

int i = 0;

for(i = 0; i < 5; i++);

System.out.print(i-- +" ");

System.out.println("!");

Cevap: 5!

8. [5 puan] [-27, 16) aralığında bir adet rastgele ondalıklı sayı oluşturan ve oluşturduğu sayıyı o anda tanımlanan sonuc değişkenine atayan komutu yazınız.

double sonuc = (Math.random() * 43) – 27;

(6)

Ad Soyad: ______________________________________________ 6 9. [5 puan] Klavyeden negatif bir tam sayı girilene kadar sürekli tam sayı okuyan ve en son girilmiş olan negatif sayı hariç, okuduğu bütün sayıların ortalamasını hesaplayarak ekrana yazdıran Java programını yazınız.

10. [10 puan] Klavyeden girilen bir n tam sayısı için n faktöriyel değerini hesaplayarak ekrana yazdıran Java programını yazınız.

Not: n faktöriyel değeri eşitliği ile tanımlanmaktadır.

import java.util.Scanner;

public class Soru9 {

public static void main(String[] args) {

int sayi, toplam = 0, kacTane = 0;

Scanner klavye = new Scanner(System.in);

System.out.println("Lutfen bir tam sayi giriniz:");

sayi = klavye.nextInt();

while(sayi >= 0) {

toplam += sayi;

kacTane++;

System.out.println("Lutfen bir tam sayi giriniz:");

sayi = klavye.nextInt();

}

if(kacTane > 0)

System.out.println("ortalama="+((double)toplam/kacTane));

} }

import java.util.Scanner;

public class Soru10 {

public static void main(String[] args) {

int sayi, faktoriyel = 1;

Scanner klavye = new Scanner(System.in);

System.out.println("Lutfen bir tam sayi giriniz:");

sayi = klavye.nextInt();

for(int i = 1; i <= sayi; i++) faktoriyel = faktoriyel * i;

System.out.println(sayi + "! = " + faktoriyel);

} }

(7)

Ad Soyad: ______________________________________________ 7 11. [10 puan] Aşağıda bir problem, problemi çözmek için kullanılabilecek bloklar ve bu blokların bazılarını kullanarak problemin nasıl çözüleceği verilmiştir.

Problem Kullanılabilecek Bloklar Çözüm

Bu probleme çok benzer yapıda olan ikinci problemi, verilmiş olan bloklardan EN FAZLA 4 tanesini kullanarak çözünüz.

Problem Kullanılabilecek Bloklar Çözüm

(8)

Ad Soyad: ______________________________________________ 8 12. [10 puan] Aşağıdaki programın çıktısı nedir?

cumle icerisinde trabzonspor'un yeri = -1

"sampiyon" kelimesi cumlenin 59. harfinden itibaren yer almaktadir.

GALATASARAY sampiyon

sonuc cumlesi 20 karakterden olusur.

BJK sozlukte FB'den sonra gelir public class Soru12

{

public static void main (String [] args) {

String cumle = "galatasaray ancak ve ancak fenerbahce";

cumle += " ve besiktasi gecerse sampiyon olabilir";

System.out.print("cumle icerisinde trabzonspor'un yeri = ");

System.out.println(cumle.indexOf("trabzonspor"));

int nerede = cumle.indexOf("sampiyon");

System.out.print("\"sampiyon\" kelimesi cumlenin " + nerede);

System.out.println(". harfinden itibaren yer almaktadir.");

String kelime1 = cumle.substring(0, cumle.indexOf(" "));

String kelime2 = cumle.substring(nerede, cumle.lastIndexOf(" "));

String sonuc = kelime1.toUpperCase() + " " + kelime2;

System.out.println(sonuc);

System.out.print("sonuc cumlesi " + sonuc.length());

System.out.println(" karakterden olusur.");

if("BJK".compareTo("FB") > 0)

System.out.println("BJK sozlukte FB'den once gelir");

else if("BJK".compareTo("FB") < 0)

System.out.println("BJK sozlukte FB'den sonra gelir");

} }

Referanslar

Benzer Belgeler

a) Öğrencilere tercih yapmaları için çağrı yapan bir e-posta, uygulama döneminin başlamasından iki ay önce iletilir. Öğrenciler, kendilerine bildirilen en az

MT 334 Kompleks Fonksiyonlar Teorisi Ara Sınavı (Her soru

[11, 7, 12, 13], çalışmaları trafik akış tahmini için derin yapay sinir ağlarını en basit şekilde çok katmanlı algılayıcılar olarak kullanırken, diğer

Bu çalışmada, Bölüm 3’te tanımlanan iki amaç fonksiyonlu iş gücü çizelgeleme ve rotalama problemi için çok amaçlı indirgenmiş değişken komşuluk arama metodu

[9] ile verilen çalışmada ise İHA kullanılacak şekilde kullanım genişletilmiş ve parçacık filtresi metodu yerdeki kullanıcının yerinin kestirimi için

sefe-Bilim tarihi, büyük bir göl olarak düşünülmeli; Hegelci anlamda bir yerden bir yere akan bir nehir yok; daha çok, bu büyük gölde, ortak kültür havzaları söz

Eğitim dili %30 İngilizce olan programlara (Türk Dili ve Edebiyatı, İç Mimarlık ve Çevre Tasarımı ile Görsel İletişim Tasarım hariç tüm bölümler) kayıtlı

Bu çalışmada, sanallaştırma ortamı olarak en çok tercih edilen VMware, işletim sistemi olarak en çok tercih edilen Windows 10 üzerinde zararlı yazılımlar tarafından