BLGSAYAR PROGRAMLAMA ARA SINAV II NCELEMES Sorularn zmlerinin
BİLGİSAYAR PROGRAMLAMA
ARA SINAV II İNCELEMESİ � Soruların çözümlerinin incelenmesi � Nota katkısının (%15) değerlendirilmesi %45 AĞIRLIKLI ARA SINAVLAR BİTTİ. SIRADA %45 AĞIRLIKLI DÖNEM SONU SINAVI
Alıştırma � � � char x[]="987654321"; char y[10] = {}; strncpy(y, x, 3); strncat(y, x, 3); printf("%s", y);
Kahoot vakti � Cep telefonlarınızı çıkarınız…
Yol Haritası algoritma değişken veri giriş-çıkış koşul fonksiyon dizi -dizgi döngü özyineleme işaretçi yapı komut ekranı
Komut Ekranı � � � İş hayatınızda, akademik hayatta ve hatta bilgisayar oyunlarında komut ekranından çalıştırılan, komut ekranıyla komutlar alabilen pek çok programla karşılaşabilirsiniz. Matlab, Auto. Cad gibi mühendislikte sıkça kullanılan programların da komut ekranlarından işlemler yaptırdığını gözlemleyebilirsiniz. Bu duruma yatkınlık kazanmak için C dilinde yazdığımız kodları komut ekranından çalıştırmayı öğrenelim… SINAVDA KOMUT EKRANI SORULARI GELEBİLMEKTEDİR.
Komut Ekranı Başlık kısmında sağ tuş->Özelliklerden arka fon rengini değiştirebilirsiniz. Windows’ta cmd çalıştırın (Çalıştır-> cmd) • cd. . ile bir üst klasöre, cd desktop ile masaüstüne, cd dosya_ismi ile istediğini dosyaya yönlenin… (change directory) • > cd Kod. Klasorum • İlgili klasöre geldiğinizde dosyanızın exe’sinin ismini yazın ve çalıştırın. • > merhaba. exe
Bunu biliyor musunuz? � Dev. Cpp bir derleyici değildir! � Dev. Cpp bir IDE'dir. � IDE: "Integrated Development Environment" Ben şok Not defteri gibidir, kodu renklendirir, düzenler… ve… � Kodu gcc'e gönderir. � � gcc: GNU Compiler Collection � gnu: GNU's Not Unix ve… � gcc'den gelen hata mesajlarını vs. rapor penceresinde gösterir.
Komut Ekranında gcc komutu çalışma ayarı � gcc komutu (bilgisayarınıza daha önce Dev. Cpp kurmuş olmanıza rağmen) bilgisayarınızca tanınmıyorsa � https: //www. windows-commandline. com/gcc-not-recognized- internal-external-command/ adresindeki çözümü uygulayınız. Bilgisayarınızda gcc’nin olduğu adresi (Dev. Cpp klasörü içerisindeki ilgili konum) PATH değişkeni olarak ekleyin. Böylece komut ekranında gcc denildiğinde ilgili adres çalıştırılsın.
Komut Ekranında gcc komutu çalışma ayarı Bilgisayarınızda Dev. Cpp’in kurulu olduğu adresi bulup, içindeki bin klasörünün adresini ekleyiniz. C: UsersUserDesktopDev-CppMin. GW 64bin
Komut Ekranından derleme yapmak… � Komut ekranını açın: � DERLEMEK İÇİN: � KOMUT: gcc � sevgili. Kodcugum. c -o super. Kod. exe o output anlamında gcc GNU Compiler Collection (Dev. C ile birlikte yüklenmişti. Ayrıca da yüklenebilir. ) Belirtilen. c uzantılı dosyayı derleyip istenen isimli bir. exe dosyası oluşturur. ÇALIŞTIRMAK İÇİN: � KOMUT: kod_ismi. exe ya da kod_ismi (. exe uzantılılarda sadece isim yeterli) yazmanız yeterlidir. Bu komuttan sonra derleme yapılır ve aynı klasöre. exe uzantılı dosya eklenir.
Komut Ekranı Kod komut ekranından çağırılırken main fonksiyonuna argümanlar/parametreler gönderilebilir. (main’den bir fonksiyon çağırırken parametre gönderebiliyoruz. main’i çağırırken niye gönderemeyelim? ) • Bu argümanların adedinde bir limit yoktur. • Gönderilen adet argument count anlamındaki argc integer değişkenine kaydedilip, tüm parametreler bir dizgi dizisine (argv – argument vector) yerleştirilir. • argc ve argv isimleri tipik isimlerdir ama siz başka isim de verebilirsiniz. • argv[0] özel olarak dosyanın ismini içinde tutar. Dosya ismi kod çalıştırılırken kullanılan isimdir. Peşinden gelen ilk argüman argv[1]’e kaydedilir.
Komut Ekranı Girilen komut: sinav. exe Deneme 1 Deneme 2 argv içeriği argc içeriği sinav. exe (dosya ismi) 3 Deneme 1 Deneme 2 Girilen komut: kod Deneme 1 Deneme 2 D 3 D argc içeriği 5 argv içeriği kod (dosya ismi) Deneme 1 Deneme 2 D 3 D
Kod içeriği #include <stdio. h> int main(int argc, char *argv[]) { printf("M%d: %sn", argc, argv[0]); int i; for(i=1; i<argc; i++) printf("%sn", argv[i]); return 0; } Alıştırma • Aşağıdaki ilk komutla birlikte sinav. c dosyasından sinava. exe oluşturuluyor. • İkinci komut bir cümle gibi ama aslında “sinava” sinava. exe’nin kısaltılması. Komut ekranı gcc sinav. c -o sinava. exe sinava cok calismali M
Alıştırma Kod içeriği #include <stdio. h> int main(int argc, char *argv[]) { printf("M%d: %sn", argc, argv[0]); int i; for(i=1; i<argc; i++) printf("%sn", argv[i]); return 0; } Komut ekranı gcc sinav. c -o sinava. exe sinava cok calismali M İlk komutla birlikte sinav. c dosyasından sinava. exe oluşturuluyor. İkinci komut bir cümle gibi ama aslında ilk sozcuk sinava. exe’nin kısaltılması. (. exe’lerde sadece isim de yeterli oluyor. ) Bu durumda argv[0] “sinava” değerini alır. argc içeriği 3 argv[] içeriği sinava (dosya ismi) cok calismali
Birlikte Kod Yazma � Sayı komut ekranından gönderilsin… KOMUT EKRANI: �asal. Kod. exe 120 � 120 sayisi asal degildir.
Bilgisayarlarınızı çıkarınız: Komut Ekranında gcc komutu çalışma ayarı Bilgisayarınızda Dev. Cpp’in kurulu olduğu adresi bulup, içindeki bin klasörünün adresini ekleyiniz. C: UsersUserDesktopDev-CppMin. GW 64bin
Komut Ekranlı bir alıştırma – Büyük asal sayılar � Komut Ekranından x değerini alsın. � 1 saniye aralıklarla x’den daha büyük asal sayıları sırayla ekranda görüntülesin. � fonksiyon kullanmaya çalışalım.
#include <stdio. h> #include <string. h> typedef struct … int main() { { char isim[100]; int sayi; } r_turu; Yapı değişkenlerine bu şekilde toplu değer atama yapılabilmektedir. } Alıştırma r_turu r = {"Pikachu", 3}; r_turu t; t = (r_turu) {. sayi=2, . isim="Squirtle" }; int i, j; for(j=0; j<t. sayi; j++) for(i=0; i<=r. sayi; i++) { printf("%c", r. isim[i]); } return 0;
Bilgisayarlarınızı açınız Birlikte kod yazma zamanı…
EK SLAYTLAR � Ek slaytlar derste değinilmeyen slaytlardır. � Derste değinilmemesinin nedeni, slaytlardan rahatlıkla anlaşılabilmesi, konunun pekiştirilmesi için alıştırmalar içermesi vs. olabilir. � Bunlar sınavlarda sorumlu olduğunuz slaytlardır. � Ancak derste değinilenler kadar öncelikli olarak sınavda yer almayabilirler.
Komut Ekranından derleme yapmak… � Dev. C gibi bir programı hiç kullanmadan da (gcc gibi bir paket yüklemiş olmanız gereklidir) kodunuzu derleyip çalıştırabilirsiniz. � Bir not defteri açın ve programınızı yazın, ardından bunu. c uzantısıyla kaydedin.
Komut Ekranı kodlarını C dilinden kullanabilmek � Komut ekranının kendine ait birçok kodu vardır. � Bkz. Microsoft sitesi � stdlib. h içerisindeki system fonksiyonu sayesinde komut ekranının kodlarını da C dili kodunuz içinden çağırabilirsiniz. � Örneğin, komut ekranında COLOR E 5 yazarak ekran rengini değiştirebilir, CLS ile de ekranı temizleyebilirsiniz. Bunu C dilinden ise, bildiğiniz üzere, system("COLOR E 5"); ya da system("CLS"); ile çağırabiliyorsunuz. � Komut ekranı –genelde- küçük büyük harf duyarlı değildir. Bu nedenle CLS ile cls aynıdır. � Bu tür system komutları işletim sistemini yoracağı için olabildiğince kaçınılır. � Örneğin system("PAUSE"); yerine getch(); kullanmak. getch/conio. h kullanmak istemezseniz "fflush(stdin); scanf("%*c"); "
Komut Ekranından stdin / stdout yönlendirmesi � kod. exe <giris. txt >cikis. txt Bir. exe, komut ekranından bu şekilde çalıştırılırsa, � Kodun içindeki scanf'ler stdin olarak giris. txt'i kullanır. Yani kullanıcıdan değer alması gereken yerlerde giris. txt'den alırlar. � Kodun içindeki printf'ler stdout olarak cikis. txt'i kullanır. Yani ekrana yazdırması gereken yerlerde cikis. txt'e yazdırır. � Bkz. Redirection � kod 1. exe | kod 2. exe İki. exe komut ekranından bu şekilde çalıştırılırsa, � "kod 1. exe >cikis. txt" ve ardından "kod 2. exe <cikis. txt" yazmış gibi olunur. Yani birinci. exe'nin çıktısını, ikinci. exe girdi olarak alır. � Bkz. Piping
Dev. Cpp üzerinden parametre gönderebilmek � Dev. Cpp kodunuzu çalıştırırken sadece argv[0]'ı gönderir. � argv[0]'ı "C: . . . c" gibi tam adres ifadesiyle gönderir. � argc 1 olur. � Parametre ayarlarından istediğiniz diğer parametreleri göndermesini de sağlayabilirsiniz. Komut ekranından göndermenin bir alternatifidir.
- Slides: 25