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

Benzer belgeler
Döngü ve Koşul Deyimleri

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

BÖLÜM 2 C PROGRAMLAMADA AKIŞ KONTROLÜ. GOTO: C programında programın herhangi bir yerinden bir yerine şartsız olarak atlanmasını sağlayan komuttur.

Döngü blokunda tek bir deyim varsa {} yazılmayabilir.

Ders 6: Karşılaştırma Deyimleri

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

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

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

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Program Akış Kontrol Yapıları

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

C PROGRAMLAMA D İ L İ

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

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

Adım Adım C. Dr. Hidayet Takcı

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

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

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

Kısa Sınav ( 8 Ksım 2013)

Hafta 11 Çok Boyutlu Diziler

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

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

Koşul doğru olduğu sürece istenilen işlem/işlemlerin tekrarlanmasını sağlayan yapıdır.

Ders 4: Temel Giriş/Çıkış Fonksiyonları

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

BLM 111 ALGORİTMA VE PROGRAMLAMA I

NOT: Bu kodlar çeşitli internet siteleri, üniversite siteleri ve ders kitaplarından derlenerek hazırlanmıştır.

Programlama Dilleri Laboratuvarı

Adı Soyadı : Öğrenci No :

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

C PROGRAMLAMA D İ L İ

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

Temel Giriş/Çıkış Fonksiyonları

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

PROGRAMLAMAYA GİRİŞ DERS 2

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

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

Eln 1001 Bilgisayar Programlama I

Genel Programlama II

Giris {\} /\ Suhap SAHIN Onur GÖK

1.SORU. Genişlemiş ascii karakterlerinin kodlarını karşılarına yazan C programını

ARA SINAV 07.Nisan 2015

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

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

Ders 7: Döngüler. Giriş. 7.1 while Döngüsü

Soru 1: Fahrenheit cinsinden verilen sıcaklığı Kelvin'e çeviren bir program yazınız. Aşağıdaki dönüşüm formülünü kullanabilirsiniz:

Lab105-02/ BAHAR DÖNEMİ 3.Hafta Tarih:

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

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

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

C PROGRAMLAMA D İ L İ

scanf () Fonksiyonu Klavyeden veri okumak için kullanılır. Yapı olarak printf () fonksiyonu aynıdır. Kullanım biçimi:

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

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

Adı Soyadı : Öğrenci No :

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

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ı

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

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

p sayısının pozitif bölenlerinin sayısı 14 olacak şekilde kaç p asal sayısı bulunur?

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

(m+2) +5<0. 7/m+3 + EŞİTSİZLİKLER A. TANIM

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

Programlama Dilleri 1. Ders 5: Göstericiler

scanf () Fonksiyonu Klavyeden veri okumak için kullanılır. Yapı olarak printf () fonksiyonu aynıdır. Kullanım biçimi:

BÖLÜM 4 FONKSİYONLAR. Fonksiyonlar programların etkinliğini, kolay yazılmasını, anlaşılmasını ve bellekte daha az yer kaplamasını sağlayan bloklardır.

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10

Fonksiyonlar (Altprogram)

int printf (const char *format [, argument,...]);

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

C NASIL BİR DİL?.. PROGRAMIN ÇALIŞMASI

BÖLÜM 10: FONKSİYONLAR

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

Karşılaştırma Komutları (Switch ve? Operatörü)

Hafta 12 Karakter Tutan Diziler

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

5. BÖLÜM (10ncu ve 11nci hafta)

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

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

C Programlama printf() Fonksiyonu

Bil 105 Laboratuvar (1. Hafta Problemleri)

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

Eski Problemlerin Çözümleri

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

C/C++ ile Programlamaya Giriş. Yrd.Doç.Dr.Bülent Çobanoğlu

1.DERECEDEN DENKLEMLER. (Bu belgenin güncellenmiş halini bu adresten indirebilirsiniz)

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }

ÖZEL EGE LİSESİ EGE BÖLGESİ OKULLAR ARASI 16. MATEMATİK YARIŞMASI 10. SINIF ELEME SINAVI TEST SORULARI

ARALARINDA ASAL SAYILAR

C Programlama Dilininin Basit Yapıları

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

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır.

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

Köklü Sayılar ,1+ 0,1+ 1, 6= m 10 ise m kaçtır? ( 8 5 ) 2x 3. + a =? (4)

C Programlama Dilinde Değişkenler

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ı

Değişken nedir? Tanımı nasıl yapılır?

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Transkript:

4.Hafta BİL 105-02-06 Soruların Çözümleri SORU1. Kullanıcının girdiği bir sayının tek mi, yoksa çift mi olduğunu bulan bir C programı yazınız. Yazdığınız programın algoritmasını yazınız ve akış çizeneğini çiziniz. main() { int n,a,b,x,z ; printf(" \n\ta ve b tamsayilarini giriniz : "); scanf("%d %d", &a, &b); z=(a>b)? a : b ; printf("%d\n",z); n = z ; (((n/2)*2) == n )? printf("%d cift bir sayidir.\n") : printf("%d tek bir sayidir.\n"); x = n%3 ; x = (x < 12 )? x : -1 ; printf("%d\n",x) ;

1. SORU2. a,b,c katsayılarını kullanıcının girdiği ikinci dereceden bir denklemin köklerini bulan bir C programını ve algoritmasını yazınız. Programın akış çizeneğini iziniz. A) Katsayıların tamsayı olması durumu: #include <math.h> main() { int a,b,c; float x1; float x2; float diskriminant; printf(" \n Denklemin a,b,c tamsayi katsayilarini giriniz : \n"); scanf("%d%d%d", &a,&b,&c); printf("denklem %dx^2 + %dx +%d = 0 dir \n", a,b,c); diskriminant = b*b -4*a*c; if (diskriminant < 0) printf("denklemin gercel kokleri yoktur. \n"); else { x1 = (-b + sqrt(diskriminant) ) / (2*a); x2 = (-b - sqrt(diskriminant) ) / (2*a); printf("kokler: \n"); printf("x1 = %f ve x2 = %f dir. \n", x1,x2);

SORU2. Katsayıların float olması durumu: #include <math.h> float a,b,c,x1,x2,d,dsq; printf("ax^2 + bx + c = 0 "); printf("\n a,b,c katsayılarini virgulle ayirark giriniz : \n"); scanf("%f,%f,%f",&a,&b,&c); d = b*b-(4*a*c); if(d>=0) { dsq=sqrt(d); x1 = (-b+dsq)/(2*a); x2 = (-b-(dsq))/(2*a); printf("\nroot 1 : %f\nroot 2 : %f",x1,x2); if(d<0) { d = ((4*a*c)-pow(b,2))/(2*a); printf("\nroot 1 : %f+%fi",((-b)/(2*a)),d); printf("\nroot 2 : %f-%fi",((-b)/(2*a)),d);

SORU3. Kullanıcının gireceği iki tam sayının maksimumunu bulan bir C programını ve algoritmasını yazınız. Akış çizeneğini çiziniz. Çözüm 1: #include<stdio.h> #include<math.h> int a,b,max,min; printf("iki tamsayı giriniz. "); scanf("%d%d",&a,&b); (a > b)? max = a : max = b ; printf("grdiğiniz sayıların maksimumu %d dir \n", max); Çözüm 2: #include <math.h> main() { int n ; printf(" \n\t Bir tamsayi giriniz : "); scanf("%d", &n); (((n/2)*2) == n )? printf("%d cift bir sayidir.\n",n) : printf("%d tek bir sayidir.\n",n); Çözüm 2: Fonksiyon ile Çözüm even(n) int n; { if (n%2) else return 1;

1. SORU4. Aşağıdaki programı çözümleyiniz ve çıktılarını yazınız. int x = 11,y = 11,z = 11; char a = 40,b = 40,c = 40; float r = 12.987,s = 12.987,t = 12.987; if (x == y) z = -13; if (x > z) a = 'A'; if (!(x > z)) a = 'B'; if (b <= c) r = 0.0; if (r!= s) t = c/2; printf("a = %i\n ", a); printf("a = %i\n ", a); printf("r = %f\n ", r); printf("t = %f\n ", t); if (x == y) z = -13; /* bu satir z = -13 konumunu yapar*/ if (x > z) a = 'A'; /* a = 65 yapar */ if (!(x > z)) a = 'B'; /* bu satir bir sey degistirmez */ if (b <= c) r = 0.0; /* r = 0.0 yapar */ if (r!= s) t = c/2; /* t = 20 yapar */ Çıktılar: z = -13 a = 65 a = 65 r = 0.000000 t = 20.000000

1. SORU 5 Aşağıdaki programı çözümleyiniz ve çıktılarını yazınız. int x = 11,y = 11,z = 11; char a = 40,b = 40,c = 40; float r = 12.987,s = 12.987,t = 12.987; if (x = (r!= s)) z = 1000; if (x = y) z = 222; if (x!= 0) z = 333; if (x) z = 444; if (x = (r!= s)) z = 1000; /* x = positif bir sayi ve z = 1000 yapar */ if (x = y) z = 222; /* x = y, ve z = 222 yapar */ if (x!= 0) z = 333; /* z = 333 yapar */ if (x) z = 444; /* z = 444 yapar */ Çıktılar: z = 11 z = 222 z = 333 z = 444

1. SORU 6. Aşağıdaki programı çözümleyiniz ve çıktılarını yazınız. İnt main() { int x = 11,y = 11,z = 11; char a = 40,b = 40,c = 40; float r = 12.987,s = 12.987,t = 12.987; x = y = z = 77; if ((x == y) && (x == 77)) z = 33; if ((x > y) (z > 12)) z = 22; if (x && y && z) z = 11; if ((x = 1) && (y = 2) && (z = 3)) r = 12.00; if ((x == 2) && (y = 3) && (z = 4)) r = 14.56; x = y = z = 77; if ((x == y) && (x == 77)) z = 33; /* z = 33 yapar */ if ((x > y) (z > 12)) z = 22; /* z = 22 yapar */ if (x && y && z) z = 11; /* z = 11 yapar */ if ((x = 1) && (y = 2) && (z = 3)) r = 12.00; /* bu satir x = 1, y = 2, z = 3, r = 12.00 yapar */ if ((x == 2) && (y = 3) && (z = 4)) r = 14.56; /* bu satir hiçbir şey degistirmez */ Çıktılar: z = 33 z = 22 z = 11 z = 3

SORU 7. Aşağıdaki programı çözümleyiniz ve çıktılarını yazınız. int x = 11,y = 11,z = 11; char a = 40,b = 40,c = 40; float r = 12.987,s = 12.987,t = 12.987; if (x == x); z = 27.345; if (x!= x) z = 27.345; if (x = 0) z = 27.345; if (x == x); z = 27.345; /* z her zaman degisir */ if (x!= x) z = 27.345; /* hicbir sey degismez */ if (x = 0) z = 27.345; /* x = 0 yapar, ama z 'yi degistirmez */ Çıktılar: z = 27 z = 27 z = 27

8. Kullanıcının gireceği üç float sayının maksimumunu bulan bir C programı ve algoritmasını yazınız. Çözüm 1. Yalnız if kullanarak float a, b, c; printf("3 sayi giriniz: "); scanf("%f %f %f", &a, &b, &c); if(a>=b && a>=c) printf("girilen 3 sayinin en buyugu = %.2f", a); if(b>=a && b>=c) printf("girilen 3 sayinin en buyugu = %.2f", b); if(c>=a && c>=b) printf("girilen 3 sayinin en buyugu = %.2f", c); Çözüm 2. if-else kullanarak float a, b, c; printf("enter three numbers: "); scanf("%f %f %f", &a, &b, &c); if (a>=b) { if(a>=c) printf("girilen 3 sayinin en buyugu = %.2f",a); else printf("girilen 3 sayinin en buyugu = %.2f",c); else { if(b>=c) printf("girilen 3 sayinin en buyugu = %.2f",b); else printf("girilen 3 sayinin en buyugu = %.2f",c); Çözüm 3. if-else kullanarak float a, b, c; printf("3 float sayi giriniz: "); scanf("%f %f %f", &a, &b, &c); if(a>=b && a>=c) printf("girilen 3 sayinin en buyugu = %.2f", a); else if(b>=a && b>=c) printf("girilen 3 sayinin en buyugu = %.2f", b); else printf("girilen 3 sayinin en buyugu = %.2f", c);

9. Kullanıcının gireceği iki tamsayının en büyük ortak bölenini (ebob) bulan bir C programı yazınız. Çözüm 1: int num1, num2, i, ebob; printf("iki tamsayı giriniz: "); scanf("%d %d", &num1, &num2); for(i=1; i<=num1 i<=num2; ++i) { if(num1%i==0 && num2%i==0) /* i 'nin bir çarpan olup olmadığı denetleniyor */ ebob=i; printf("%d ve %d nin ebob = %d", num1, num2, ebob); Çözüm 2: int num1, num2, min,i; printf("iki tam sayı giriniz: "); scanf("%d %d", &num1, &num2); min=(num1>num2)?num2:num1; /* girilen sayıların minimumuna min denildi */ for(i=min; i>=1; --i) { if(num1%i==0 && num2%i==0) { printf("%d ve %d nin ebob = %d", num1, num2, i); break;

10. ax + by = m ve cx + dy = n doğrusal denklemlerinin tek çözümü olası için a*d-b*c!= 0 olmalıdır. Bu durumda çözüm x = (m * d) - (b * n)) / ((a * d) - (c * b); y = ((n * a) - (m * c)) / ((a * d) - (c * b)); dir. Değilse sonsuz çözüm vardır. Katsayılarını kullanıcının gireceği bir dnklem sisteminin çözümünü bulan bir C programı yazınız. #include<stdio.h> int main() { int a,b,c,d,m,n; float x, y printf("katsayi giniz : a \n"); scanf("%d",&a); printf("katsayi giniz : b \n"); scanf("%d",&b); printf("katsayi giniz : c \n"); scanf("%d",&c); printf("katsayi giniz : scanf("%d",&d); \n"); printf("katsayi giniz : m \n"); scanf("%d",&m); printf("katsayi giniz : n \n"); scanf("%d",&n); if((a*d)-(c*b) == 0) printf("\nsonsuz cozum var \n"); else { x = (float)((m * d) - (b * n)) / ((a * d) - (c * b)); printf("\nx = %f ",x); y = (float)((n * a) - (m * c)) / ((a * d) - (c * b)); printf("\ny = %f ",y);