Bil 101 Bilgisayar Yazılımı 1 Çözümlü Sorular Timur Karaçay

Benzer belgeler
Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

Başkent Üniversitesi MühendislikFakültesi BaharYarıyılı YerSıra No BİL 101 Bilgisayar Yazılımı-I Dersi Dönem Sonu MAZERET Sınavı

elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini,

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

Fall Object-Oriented Programming Laboratory 02 - Structures

Hafta 11 Çok Boyutlu Diziler

Programlama Dilleri Laboratuvarı

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

menu(besleme,toplam_odul,array,tercih,puan);//deger dondurmeyen fonksiyon cagiriliyor...

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

#include<stdio.h> #include<conio.h> #define doktorsayisi 3. typedef struct dr{ int ay1, ay2, ay3, ay4; } doktor; float hesapla(doktor dktr){

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

Bölüm 8, Yrd. Doç. Dr. A. Kadir YALDIR PAÜ Bilgisayar Mühendisliği Bölümü BÖLÜM 8: DİZİLER

Adı Soyadı : Öğrenci No :

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

Diziler (Arrays) Çok Boyutlu Diziler

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

#ifndef VEKTOR_H #define VEKTOR_H. struct vektor_s { double x; double y; double z; }; typedef struct vektor_s vektor_t;

Bil Hafta Çalışma Soruları (Yanıtlar)

BİL1001 Bilgisayar Bilimlerine Giriş 1

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

Final Sınavı Soruları Güz, Süre: 90 Dakika

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

C ile Uygulamalar 4 - Cevaplar

else *on=*on+1; return gecici; } int giseyeyerlestir(struct gise*giseler) {//giseye bos olmasi durumunda yerlestirme yapiliyor...

BİLG Dr. Mustafa T. Babagil 1

Fonksiyonlar. Yrd.Doç.Dr.Bülent Çobanoğlu

4.Hafta BİL Soruların Çözümleri

Sınav tarihi : Süre : 60 dak.

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

11. Bölüm. Başlangıç Örnekleri 2. ******************************** 52 lik kağıt destesini karıştıram program

C dilinde if-else yapısı

D İ Z İ L E R A R R A Y S

Klavyeden girilen metnin karakter uzunluğu bulan C programı. Klavyeden girilen metin içerisindeki küçük ve büyük harf sayısını bulan C programı

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

11- FONKSİYONLAR (FUNCTIONS)

1. Her marka için 3 aylık satış toplamı nedir? (Tablodaki satır toplamları)

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

Başkent Üniversitesi Mühendislik Fakültesi Güz Yarıyılı BİL 101-Bilgisayar Yazılımı I Arasınavı

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

C++ Dersi: Nesne Tabanlı Programlama

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

Hafta 13 Fonksiyonlar

Fall Object-Oriented Programming Laboratory 03

Programlama Dilleri Laboratuvarı

Fonksiyonlar -Genel Test- A

C PROGRAMLAMA D İ L İ

ALGORİTMA VE PROGRAMLAMA II

BLM 111 ALGORİTMA VE PROGRAMLAMA I

BLM 112- Programlama Dilleri II. Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar

7. FONKSİYONLAR. Dönüş_Tipi Fonksiyon_Adı (tip giriş_parametreleri);

Nesneye Dayalı Programlama Laboratuvarı

Ders 5: Temel Kütüphane Fonksiyonlar

Temel Giriş/Çıkış Fonksiyonları

Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta -

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

ALGORİTMA VE PROGRAMLAMA I

Matris İşlemleri Uygulaması

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Döngü komutları komutların bir çok kez yeniden yürülmesini. sağlayan, programlamada kullandığımız önemli yapılardan biridir.

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

B tekrarlama kontrol komutları 7. do-while döngüsü 8. while döngüsü 9. for döngüsü

Döngü ve Koşul Deyimleri

#ifndef COMPLEX_H #define COMPLEX_H

ALGORİTMA VE PROGRAMLAMA I

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

BÖLÜM 7: DÖNGÜ KONTROL YAPILARI

Final Sınavı Örnek Soruları Güz 2018 Süre: 90 Dakika

8. İŞARETCİLER (POINTERS)

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

#include <stdio.h> int main(void) { float sayi; float * p; p = &sayi; printf("deger girin:"); scanf("%f", p); printf("girilen deger:%f\n", *p);

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

Algoritma Analizi Big O

C# ÖRNEK UYGULAMALAR

printf("\nbilgilerini goruntulemek istediginiz ogrencinin numarasini girin: "); scanf("%d",&no);

#include <stdio.h> main() { int i; i=0; do { printf("i nin simdiki degeri= %d\n",i); i = i + 1; } while (i<5); }

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

int main(void) { int num = 0; int input = 1; int retval = 0; struct NODE *nodepointer; nodepointer = (struct NODE *)malloc(sizeof(struct NODE));

C ile Uygulamalar 3 - Cevaplar

C Programlama printf() Fonksiyonu

STRİNG DİZİLER(KATARLAR)

Transkript:

Bil 101 Bilgisayar Yazılımı 1 Çözümlü Sorular Timur Karaçay SORU 1: Aşağıdaki programın çıktısını, adım adım izleyerek (trace) bulunuz? #include <stdio.h> int f(int x) { if (x <=2) return 2; else return 2*f(x-1); int main() { int k =4, m=6; printf("%d %d \n", f(k), f(m)); Yanıt: 8 32 1

SORU 2: a. 5 x 5 tipi bir matrisi iki boyutlu bir a dizimi (array) ile tanımlayınız. b. Bileşenlerine rasgele (random) değerler atayan atama() adlı bir fonksiyon yazınız. Fonksiyona a dizimini parametre olarak geçiriniz. c. Matrisi gösteren göster() adlı bir fonksiyon yazınız. Fonksiyona a dizimini parametre olarak geçiriniz. d. Matrisi saat yönünde 90 derece döndürerek b matrisini elde eden dondur() adlı bir fonksiyon yazınız. Fonksiyona a dizimini parametre olarak geçiriniz. e. 90 derece dönmüş halini tanımladığınız göster() fonksiyonu ile yazdırınız. Fonksiyonları main() içinde çağırıp çalıştırınız. Cevap: #include <stdio.h> #include <time.h> #define n 5 void atama(int w[][n]); void dondur(int w[][n]); void goster(int w[][n]); int a[n][n]; int b[n][n]; int main() { atama(a); goster(a); dondur(a); goster(b); void atama(int s[][n]) { int i,j; srand(time(null)); for (j = 0; j < n; j++) for(i = 0; i < n; i++) s[i][j] = rand()%5 ; void dondur(int s[][n]) { int i,j; for (j = 0; j < n; j++) for(i = 0; i < n; i++) 2

printf("\n\n"); b[i][j] = s[j][4-i] ; void goster(int s[][n]) { int i,j; for (j = 0 ; j < n ; j++) { for (i = 0; i < n ; i++) printf("%d\t",s[i][j]); printf("\n"); Örnek Çıktı: /** 4 1 0 4 1 0 0 0 2 1 0 3 4 0 1 1 1 2 3 3 0 3 2 4 0 0 1 0 0 4 3 1 3 0 1 2 2 4 0 0 4 3 0 2 4 0 3 1 1 1 */ 3

SORU 3: a. Klavyeden 10 sayı girilmesini sağlayan ve girilen sayıları arr adlı dizimin (array) bileşenlerine atayan bir fonksiyon yazınız. b. Girdiğiniz dizimin maksimumunu bulan bir fonksiyon yazınız. Fonksiyon parametresi olarak dizimi geçiriniz. c. Yazdıklarınızı main() fonksiyonuna çağırıp çalıştırınız. #include<stdio.h> #define BOY 10 void verigir(); int maximum (int a[], int); int arr[boy]; int max; int main() { verigir(); maximum(arr,boy); printf("maximum sayı : \n%d",maximum(arr,boy)); void verigir() { for (i=0; i < BOY; i++) { printf("%d inci bileseni giriniz\n", i); scanf("%d",&arr[i]); int maximum (int a[], int n) { max = a[0]; for (i = 1; i < n ; i++) if (a[i] > max) max = a[i]; max = a[i]; return max; /** 0 inci bileseni giriniz 3 1 inci bileseni giriniz 5 2 inci bileseni giriniz -6 4

3 inci bileseni giriniz 78 4 inci bileseni giriniz 34 5 inci bileseni giriniz 21 6 inci bileseni giriniz -45 7 inci bileseni giriniz -81 8 inci bileseni giriniz 63 9 inci bileseni giriniz 5 maximum say² : 78 */ 5

SORU 4 : Sayısal Loto da, üzerlerinde 49 tane birbirlerinden farklı sayı bulunan 49 top içeren dönen saydam bir küre ile çekiliş yapılır. Her çekilişte küreden bir top düşer. Altı kez çekiliş yapılır. Bir çekilişte düşen top tekrar küreye atılmaz. Böylece aynı sayının tekrarlanması önlenir. Düşen altı toptaki sayıların oluşturduğu dizim (array), büyük ikramiyeyi kazanan kolondur. 1. Sayısal loto çekilişini temsil eden loto() adlı bir fonksiyon yazınız. 2. Çıkan altı sayıyı k adlı tek boyutlu bir dizim (array) olarak ifade ediniz. 3. Çıkan dizimi sırasız yazdırmak için dizimyaz() adlı bir fonksiyon yazınız. Fonksiyon parametresi olarak k dizimini geçiriniz. 4. Çıkan sayıları köpük sıralası (Buble Sort) yöntemiyle artan sıraya koyan bir fonksiyon yazınız. Fonksiyon parametresi olarak k dizimini geçiriniz. 5. Sıralanmış loto sayılarını dizimyaz() fonksiyonu ile tekrar yazdırınız. Fonksiyon parametresi olarak k dizimini geçiriniz. 6. Yazdığınız fonksiyonları main() içine uygun sırada çağıran deyimleri koyunuz ve çalışan bir C programı haline getiriniz. #include <stdio.h> #include <stdlib.h> #include <time.h> void loto(); void bublesort( int dizi[ ], int ); void arrayyaz(int arr[], int ); int k[6]; int main () { loto(); printf("sirasız sayisal loto sayilari: \n");; arrayyaz(k,6); bublesort( k, 6); printf("\nsirali sayisal loto sayilari: \n"); arrayyaz(k,6); int kuracek () { return 1+(rand()%49); int tekrarla (int a) { int b; 6

q=(1+(rand()%49)); if (a!=b) return b; else tekrarla(a); void loto() { srand(time(null)); k[1]=kuracek(); k[2]=kuracek(); if (k[2]==k[1]) k[2]=tekrarla(k[2]); k[3]=kuracek(); if (k[3]==k[1] k[3]==k[2]) k[3]=tekrarla(k[3]); k[4]=kuracek(); if (k[4]==k[1] k[4]==k[2] k[4]==k[3]) k[4]=tekrarla(k[4]); k[5]=kuracek(); if (k[5]==k[1] k[5]==k[2] k[5]==k[3] k[5]==k[4]) k[5]=tekrarla(k[5]); k[6]=kuracek(); if (k[6]==k[1] k[6]==k[2] k[6]==k[3] k[6]==k[4] k[6]==k[5]) k[6]=tekrarla(k[6]); void bublesort( int dizi[ ], int n ) { int i,j, g; for(i=0; i< 6-1; i++) { for(j=i+1; j < 6; j++) { if(k[j] < k[i]) { g = k[i]; k[i] = k[j]; k[j] = g; return ; void arrayyaz(int arr[], int n) { for (i=1 ; i <= n ; i++) printf("%d\t",arr[i]); /** Sirasız sayisal loto sayilari: 1 32 12 20 29 27 Sirali sayisal loto sayilari: 1 12 20 29 32 27 */ 7

SORU 5: Aşağıdaki programın çıktısı nedir? #include <stdio.h> int main(){ register int i,x; scanf("%d",&i); x=++i + ++i + ++i; printf("%d",x); /** Derleme harası: Çünkü register'in adresi yoktur. */ 8