Tumgik
aysenozun · 6 years
Link
0 notes
aysenozun · 6 years
Note
MORALİN BOZUKKEN SANA NE İYİ HİSSETİRİR?
Çikolata yemek , şehrin tepesine çıkıp şehri izlemek falan fırt
0 notes
aysenozun · 8 years
Text
Bu seferde Robotikten başlayalım :)
Üniversite tercih yıllarımda  içimdeki alet edavat yapıp bozma aşkı beni mekatronik mühendisliği yazma yoluna itmişti.Lakin  tercih yardımcım  dershane hocam  tercihlerim arasındaki tek tercihim olan mekatronik mühendisliğini iş bulamazsın diyerek sildirtmişti.Tercih sonunda Bilgisayar mühendisliğini kazandığım da robotik alanına yakınlaştığımı hissetmiş soranlara ilerde yapay zeka üzerine çalışacağım diyordum.Hatta bitirme ödevimi robotik üzerine android uygulama olarak yapmıştım.Zorlanmıştım ama bitirebilmiştim.:)Robotik içimde ukte mi kalmıştı bilinmez ama seviyordum bu alanı.
Üniversiteye başladığım ilk yıllarda özelde çalışma hevesim , staj yaptıktan sonra kaçtı.Bana göre olmadığının farkına vardım.Biraz daha okumalıyım dedim.Yüksek lisans yapmaya karar verdim.Fellik fellik yüksek lisans hocası aradım.Bölüm hocalarımdan seni alırım diyenler oldu , sonradan vazgeçtiler .Üzüldüm ama,olsun dedim.Yılmadım , çünkü karar vermiştim ve yüksek lisans yapmalıydım.Bilmediğim hocalara mail attım.Nese lafı uzatmayım yüksek lisansım oldu hemde tahmin edin mekatronik mühendisiliğinden oldu.:)
Yüksek lisans mülakatına gitmeden evvel yıllar öncesi tek tercihim olan mekatronik mühendisliği yazdığım ve sonradan sildiğim aklıma geldi.Hatta mükalatta da bunun bahsini ettim.O zamanlar için öylesine bir hayaldi ve benim için kapanmıştı, Allah tekrardan karşıma çıkarmıştı , hemde hiç ummadığım anda.Hayalim olan robotik üzerine çalışacaktım.
O zaman anladım ki kurulan hayaller boşa değildi.Elbet birgün hem de hiç ummadığımız anda karşımıza çıkabilirdi.Ama bunun şartları vardı:vazgeçmemek , bıkmadan, usanmadan , yılmadan hayalin olan bir şeyi yapabilmek için her yolu denemekten geçiyordu.
Bu yazımı yolun başında olan arkadaşlarıma ithafen yazmak istedim.:)
Hayaller bazen ulaşılmaz olarak görünse de , çabaladıktan sonra er yada geç mutlaka karşımıza çıkacağını , dünyada ölümden gayrı herşeyin çaresi olduğunu hatırlatarak sözlerime son vermek istiyorum.
Sevgi ve esenlikle kalınız … :) 
8 notes · View notes
aysenozun · 8 years
Text
Bu seferde Robotikten başlayalım :)
Üniversite tercih yıllarımda  içimdeki alet edavat yapıp bozma aşkı beni mekatronik mühendisliği yazma yoluna itmişti.Lakin  tercih yardımcım  dershane hocam  tercihlerim arasındaki tek tercihim olan mekatronik mühendisliğini iş bulamazsın diyerek sildirtmişti.Tercih sonunda Bilgisayar mühendisliğini kazandığım da robotik alanına yakınlaştığımı hissetmiş soranlara ilerde yapay zeka üzerine çalışacağım diyordum.Hatta bitirme ödevimi robotik üzerine android uygulama olarak yapmıştım.Zorlanmıştım ama bitirebilmiştim.:)Robotik içimde ukte mi kalmıştı bilinmez ama seviyordum bu alanı.
Üniversiteye başladığım ilk yıllarda özelde çalışma hevesim , staj yaptıktan sonra kaçtı.Bana göre olmadığının farkına vardım.Biraz daha okumalıyım dedim.Yüksek lisans yapmaya karar verdim.Fellik fellik yüksek lisans hocası aradım.Bölüm hocalarımdan seni alırım diyenler oldu , sonradan vazgeçtiler .Üzüldüm ama,olsun dedim.Yılmadım , çünkü karar vermiştim ve yüksek lisans yapmalıydım.Bilmediğim hocalara mail attım.Nese lafı uzatmayım yüksek lisansım oldu hemde tahmin edin mekatronik mühendisiliğinden oldu.:)
Yüksek lisans mülakatına gitmeden evvel yıllar öncesi tek tercihim olan mekatronik mühendisliği yazdığım ve sonradan sildiğim aklıma geldi.Hatta mükalatta da bunun bahsini ettim.O zamanlar için öylesine bir hayaldi ve benim için kapanmıştı, Allah tekrardan karşıma çıkarmıştı , hemde hiç ummadığım anda.Hayalim olan robotik üzerine çalışacaktım.
O zaman anladım ki kurulan hayaller boşa değildi.Elbet birgün hem de hiç ummadığımız anda karşımıza çıkabilirdi.Ama bunun şartları vardı:vazgeçmemek , bıkmadan, usanmadan , yılmadan hayalin olan bir şeyi yapabilmek için her yolu denemekten geçiyordu.
Bu yazımı yolun başında olan arkadaşlarıma ithafen yazmak istedim.:)
Hayaller bazen ulaşılmaz olarak görünse de , çabaladıktan sonra er yada geç mutlaka karşımıza çıkacağını , dünyada ölümden gayrı herşeyin çaresi olduğunu hatırlatarak sözlerime son vermek istiyorum.
Sevgi ve esenlikle kalınız ... :) 
8 notes · View notes
aysenozun · 9 years
Text
Adobe Photoshop Express
Raslantı sonucu indirdiğim bi uygulamadan bahsetmek istiyorum :)
Adı üzerinde bir resim düzenleme yani photoshop uygulaması.Uygulamayı indirirken acaba içerik olarak birçok arayüz içeriyormu diye düşünmüştüm ,düşündüğüm gibi de çıktı.
Mesela adamlar kırmızı göz düzenleyici koymuşlar tıklayınca karşınıza kişiler mi ? Evcil hayvanlar mı ? diye seçenek çıkıyor.İlginç buldum bir köpeğin kırmızı gözlü olması rahatsız edici bir durum olarak algılanmış çok iyi :)
Bunun yanısıra uygulama Photoshop CS6 nın masaüstü uygulamasından da izler taşımıyor değil.Fotoğraftaki bir yeri direk istediğimiz ölçüde kesip aynı fotoğtaf üzerinde istediğimiz yere ekleyebiliyoruz.
Fotoğraf kenarlıkları konusuna gelince birçok çeşitle karşılasıyoruz.Pürüzsüz ,Pürüzlü ,Film ,Yarı Ton .. Çerçeveler de bir hayli çeşit var . Ahşap ,Modern ,Ağartılmış Ahşap,Mat..
Resimin fonunu değiştirme de epeyce bir görüntü çeşidi mevcut.Mevsimlere göre bile fon koymayı unutmamışlar .İlkbahar ,Sonbahar ,Yaz ve Kış tonları var.Bunların yanında Pastel , Sis ,Kızıl .. fonlarıda var.Ek olarak Premium Looks  kısmında da Turuncu ,Kızılötesi,İğne Deliği,Nostaljik,Sıcak Nostaljik fonları mevcut.
Ayrıyeten uygulamanın sağ üst kösesinde resmi kaydetmenin yanısıra ,resmi başka uygulamalarla birleştirip daha değişik şekiller verebilme özelliği de sunuyor.
Lafı daha da uzatmadan uygulamayı indirip fotoğraflarınıza nasıl etki ettiğini incelemenizi öneririm.Sizlere uygulamanın etkisi gösteren birkaç fotoğraf atarak sözlerimi bitirmek istiyorum.Kolay gelsin :)
Tumblr media Tumblr media Tumblr media Tumblr media
0 notes
aysenozun · 9 years
Quote
Telegram Secret Chat
Tumblr media
Sözlerime uzunca bir aradan sonra tekrardan yazma isteğimi gün yüzüne çıkaran arkadaşıma teşekkür ederek başlamak istiyorum :)
Raslantı sonucu Telegramda gezinirken farkettiğim ve oldukça ilgimi de çeken bir konuda bahsetmek istiyorum Telegram Secret Chat .
Telegram secret chat i kullanmak için öncelikle telegram uygulamasının contacts kısmından new secret chat kısmına tıklayıp arkadaşınızı eklemeniz gerekir ki zaten siz ekler eklemez karşı tarafa bildirim benzeri bişey giderek onu eklediğiniz gösterilmektedir.
Secret Chat özelliği telefonunuzdan eklediğiniz arkadaşınızın mesajlarını başka hiç bir yerde görememe (Desktop veya baska herhangi telegrama bağlandığınız cihazınızdan) şansını verir.Bunun yanı sıra  secret chatte konuştuğunuz arkadaşınıza attığınız mesajları saniye , dakika , saat , gün veya hafta şeklinde saklı tutarak belirlediğiniz zaman zarfı süresince silinmesini sağlar.Buda telegram’ın gizliliğe verdiği önemi göstermektedir.
Tumblr media
Arkadaşınıza screenshut atarken bildirim şeklinde (WhatsApp da yazıyor temsili)  screenshut alıyor gibi bildirim de çıkmaktadır. Fakat o anda telegram da bulunmanız gerekmektedir her screen shut ta o bildirim gitmemektedir deneyimle test edilmiştir.:) Ayrıyeten secret chat’te başka arkadaşınızı,konuştugunuz arkadaşınıza contact  ederek sohbete davet edemiyorsunuz buda ayrı bi güvenlik önlemi olsa gerek diye düşündüm.:)
Telefonunuz kilitliyken secret chat başlattığınız arkadaşınızdan mesaj gelirse ismi görükmemekle beraber , eğer kilit ekranınız açıksa bu sefer mesajı gelen kişinin , ismi görükür fakat mesajı yine görükmemektedir. Telegram güvenlik mevzusunu bayağı bayağı abartmış mı diyelim yoksa bu özelliği ekleyerek rakiplerine kat kat fark mı atmış diyelim tercih sizin. En iyisi hemen uygulamayı indirip denemenizdir derim.Bide siz kullanıp telegram yapımcılarının nasıl güzel bişey yaptıklarının hyretle farkına varacaksınız. Başka başka bulduğum ilginç özellikli uygulamalarda görüşmek üzere :)  
0 notes
aysenozun · 10 years
Text
Şekil Çizdiren Program
Bir şekil ismi girildiğinde onun seklini veren java programı ;
Tumblr media Tumblr media
Yukarıda görüldüğü gibi tek tek paket ve sınıflarımızı oluşturuyoruz .
Şimdi java kodlarımıza geçelim :)
SekilGui.java
ciz butonu üstüne tıklayıp ActionPerformed a aşağıdaki kodumuzu yazıyoruz :
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { cizimpanel.update(cizimpanel.getGraphics()); Sekil sekil = SekilUretici.sekilUret(sekilIsmi.getText()); sekil.setX(50); sekil.setY(50); sekil.setEn(50); sekil.setBoy(50); sekil.ciz(cizimpanel.getGraphics()); }
SekilUretici.java
//Dİğer paketlerden import edilmek zorundadır.
package sekilislemleri;
import sekiller.Daire; import sekiller.Dortgen; import sekiller.Sekil; import sekiller.Ucgen;
public class SekilUretici { public static Sekil sekilUret (String sekilIsmi){ Sekil sekil = null ; if(sekilIsmi.equalsIgnoreCase("daire")){ sekil = new Daire(); }else if(sekilIsmi.equalsIgnoreCase("ucgen")){ sekil = new Ucgen(); }else if(sekilIsmi.equalsIgnoreCase("dortgen")){ sekil = new Dortgen(); } return sekil; } }
Daire.java
public class Daire extends Sekil { public void ciz(Graphics g){ Graphics2D g2 = (Graphics2D)g; g2.draw(new Ellipse2D.Double(getX(),getY(),getEn(),getBoy())); } }
Dortgen.java
public class Dortgen extends Sekil { public void ciz(Graphics g){ Graphics2D g2 = (Graphics2D)g; g2.draw(new Rectangle2D.Double(getX(),getY(),getEn(),getBoy())); } }
Ucgen.java
public class Ucgen extends Sekil{ public void ciz(Graphics g){ Graphics2D g2 = (Graphics2D)g; g2.draw(new Line2D.Double(getX(),getY()+100,getEn()+100,getBoy()+100)); g2.draw(new Line2D.Double(getX(),getY(),getEn()+100,getBoy()+100)); g2.draw(new Line2D.Double(getX(),getY(),getEn(),getBoy()+100)); } }
Sekil.java
//private değişkenlerimizi belirleyip getter setter metodlarını yazıyoruz
public abstract class Sekil { private double x; private double y; private double en; private double boy;
public abstract void ciz(Graphics g); public double getX() { return x; }
/** * @param x the x to set */ public void setX(double x) { this.x = x; }
/** * @return the y */ public double getY() { return y; }
/** * @param y the y to set */ public void setY(double y) { this.y = y; }
/** * @return the en */ public double getEn() { return en; }
/** * @param en the en to set */ public void setEn(double en) { this.en = en; }
/** * @return the boy */ public double getBoy() { return boy; }
/** * @param boy the boy to set */ public void setBoy(double boy) { this.boy = boy; } }
Test.java
//Son olarakta test sınıfımızdan sekilgui yi cagırıp işlemimizi bitiriyoruz.
package test;
import sekilgui.SekilGui;
public class TestSekil { public static void main(String [] args){ new SekilGui(); } }
[29 / 04 / 2014 sdü - nesne programlama quiz sorusudur :) ]
0 notes
aysenozun · 11 years
Text
SQL NEDİR ? / SQL KOMUTLARININ SINIFLANDIRILMASI
SQL ; Standart veritabanı sorgulama dilidir.
SQL komutlarının sınıflandırılması
1) Veri Tanımlama Dili (DDL-Data Definition Language)
2)Veri Düzenleme Dili (DML-Data Manipulation Language)
3)Veri Sorgulama Dili (DQL-Data Ouery Language)
4)Veri Kontrol Dili (DCL-Data Control Language)
5)Veri Yönetim Dili (DAC-Data Administration Commands)
6)İşlem Kontrol Komutları (TCC-Transactional Control Commands)
1) Veri Tanımlama Dili (DDL-Data Definition Language)
Kayıtlardan ziyade tablolardaki işlemlerde kullanılır.
CREATE =>nesne oluşturmak için kullanılır.
ALTER =>nesnelerin üzerinde değişiklik yapmak için kullanılır.
DROP =>nesneleri silmek için kullanılır.
2)Veri Düzenleme Dili (DML-Data Manipulation Language)
Kayıtlarla ilgili işlemlerde kullanılır.
TRUNCATE =>tüm kayıtları siler, fakat tablo silinmez.
INSERT =>veritabanına yeni verilerin eklenmesini sağlar.
UPDATE =>veriler üzerinde değişiklik (güncelleme) yapılamasını sağlar.
DELETE =>veritabanından verilerin silinmesini sağlar.
3)Veri Sorgulama Dili (DQL-Data Ouery Language)
Girilmiş olan veriler üzerinden istenilene ulaşmak amacıyla kullanılır.
SELECT =>listeleme yapar.
örn: select * from personel where ad = 'emre ' order by soyad asc
   (adı emre olan personellerin tümünü soyadı küçükten büyüğe(asc) dogru sıralı bir şekilde listeler)  
4)Veri Kontrol Dili (DCL-Data Control Language)
Bir veritabanı ile ilişkili kullanıcıların ve rollerin izinlerini değiştirmek amacıyla kullanılır.
GRANT =>bir kullanıcının verileri kullanmasına ve T-SQL komutlarını çalıştırmasına izin verir.
DENY =>bir kullanıcının verileri kullanmasını kısıtlar.
REVOKE =>daha önce yapılmış olan tüm kısıtlama ve izinleri iptal eder.
5)Veri Yönetim Dili (DAC-Data Administration Commands)
START,AUDİT,STOP AUDİT gibi veritabanının genel olarak performans analizine yönelik olarak sadece veritabanı yöneticisi tarafından belirli zamanlarda kullanılması gereken komutlardır.
6)İşlem Kontrol Komutları (TCC-Transactional Control Commands)
COMMİT,ROLLBACK,SAVEPOİNT,SET TRANSECTİON gibi veritabanındaki tablolara kayıtların kontrol edilmesine yönelik komutlardır
NOT : 4-5-6 daki komutlar güvenlikle ilgili komutlardır. 
0 notes
aysenozun · 11 years
Text
BURÇ BULMA PROGRAMI :)
(Java diliyle)
import java.util.Scanner; public class burcBulma {     public static void main(String[] args) {            int sayi1,sayi2;            Scanner scn = new Scanner(System.in);            System.out.println("dogdugunuz gunu giriniz :  ");            sayi1 = scn.nextInt();                      if (sayi1>31){                System.out.println("yanlis sayi girdiniz");                           }else{            System.out.println("dogdugunuz ayi giriniz :  ");            sayi2 = scn.nextInt();            if(sayi1>21 && sayi1<31)    {                sayi2++;            }                         switch(sayi2){                case 1 : System.out.println("oglak");                break;                case 2 :System.out.println("kova");                break;                case 3 :System.out.println("balık");                break;                case 4 :System.out.println("koc");                break;                case 5 :System.out.println("boga");                break;                case 6 :System.out.println("ikizler");                break;                case 7 :System.out.println("yengec");                break;                case 8 :System.out.println("aslan");                break;                case 9 :System.out.println("basak");                break;                case 10 :System.out.println("terazi");                break;                case 11 :System.out.println("akrep");                break;                case 12 :System.out.println("yay");                break;                                            default :                    System.out.println("yanlis sayi girdiniz");                                 }                           }         }      }   
0 notes
aysenozun · 11 years
Text
RECURSİVE / ÖZYİNELEMELİ FONKSİYONLAR
Kendi kendini doğrudan ya da dolaylı olarak çağıran fonksiyonlara özyinelemeli (recursive) fonksiyonlar adı verilir.
Özellikleri;
Özyineleme döngülerin(for,while.....) yanısıra onlara ek olarak kullanılır.
Yineleme adımı return anahtar kelimesi içerir.
İterative algoritma döngü yapısını kullanır.
Özyineleme algoritması dallanma (branching)  algoritmasını kullanır.
Fonksiyon tekrarlı olarak her çağrıldığında  yerel değişkenler ve parametreler için bellekte yer ayrılır.
Genel yazımı;
if(durdurma şartı)
     cözüm;
else
     problemi recursive kullanarak indirge;
ÖRNEK:Genellikle faktöriyel hesabında kullanılır.
Sıfırdan büyük ya da sıfıra eşit bir tamsayının (sayı) faktoriyeli , yineleme olmadan for kullanılarak şöyle yazılır:
faktoriyel=1;
for(sayici=sayi ; sayici>=1 ; sayici--)
faktoriyel*=sayici;
Faktöriyel işlemini özyinelemeli tanımlamak için küçük sayıların faktöriyeli şeklinde tanımlamak gerekir
            n!=n*(n-1)!
Durdurma durumu 0!=1 olarak alınır.Her çağırma da n değeri bir azaltılarak durdurma durumuna ulaşılır.
Recursive tanımı:
n!=1  if n=0
n!=n*(n-1)!  if n>0
Faktöriyel C kodu :
#include <stdio.h> #include<conio.h>
int main() {     int sayi;     printf("Faktoriyeli alinacak sayiyi giriniz:");     scanf("%d", &sayi);     int toplam = 1, i;     for(i = 1; i <= sayi; i++)     {         toplam *= i;     }     printf("%d sayisinin faktoriyeli = %d", sayi, toplam);     return 0; }
Recursive fonksiyonlara bir de fibanocci sayılar örnek verilebilir:
Fibanocci dizisi : Dizide her eleman kendinden önceki iki elemanın toplamı şeklinde hesaplanır.
0,1,1,2,3,5,8,13........
Fibanocci C kodu :
#include<stdio.h> #include<conio.h> long fibanocci(long); int main(){          long sonuc,sayi;          printf("Bir tamsyi giriniz:");     scanf("%d",&sayi);     sonuc=fibanocci(sayi);     printf("Fibanocci(%d)=%d\n",sayi,sonuc);     return 0; } /*recursive tanımlama*/ long fibanocci(long n){     if(n==0||n==1)       return n;     else       return fibanocci(n-1) + fibanocci(n-2); }
Örnek olarak tablo şeklinde gösterilmek istenirse:
Tumblr media
fibanocci sayılar bu şekilde ifade edilir.
0 notes
aysenozun · 11 years
Text
C de yıldızlarla şekil çıkarma programı :
Şekildeki ekran görüntüsünü verecek programı İç içe for döngüleri kullanarak oluşturan kodu C dilinde yazınız.
#include<stdio.h> #include<conio.h> int main() { int i,j,k,n; n=9; for(i=1; i<=(n+1)/2; ) { for(k=1; (n+1)/2-i+1>=k; k++) printf(" "); for(j=1; j<2*i; j++) printf("*"); printf("\n"); i++; } return 0; }
NOT : Ekran çıktısında en son 9 tane yıldız olduğu için n=9 alınmıştır.
Yıldız sayısını kendimiz belirlemek istersek :
n=9 yerine
printf("n:  ");
scanf("%d",&n);    eklenmelidir.
0 notes
aysenozun · 11 years
Text
Kişisel Maliyet hesaplama programı
SORU : Program kullanıcının aylık olarak kazandığı paranın; -%30 u ile ev kirası ödemekte -%25 ile gıda giderlerini karşılamakta -%4 ile elektrik faturasını ödemekte -%3 ile su faturasını ödemekte -%8 ile diğer faturalar ödenmekte - geri kalan parayı birikime ayırmaktadır. Klavyeden Maaş miktarını giren bir kullanıcı ev kirasını, gıda giderlerini, elektrik faturasını, su faturasını ve diğer faturalar bilgisini programa girecektir. Yukarıdaki hesaplama işlemi çalışarak her bir harcama kısmı için kullanıcının cebinden çıkması gereken miktar ve kullanıcının bu harcama kısmına ödemiş olduğu para görünecek yüzdelik kısmı aşan ya da yüzdelik kısımdan az olan harcamalarda bu ek parayı program belirtecektir. Bütün hesaplamalar yapıldıktan sonra, bu şekilde harcamalar yapıldığında 10 yılda yapılacak kar hesaplanacaktır. Eğer alınan maaş ile bütün faturalar ödenemiyorsa program bunu belirtecek ve 10 yıllık kar hesabı yapmayacaktır.
C Kodu :
#include<stdio.h> #include<conio.h> main(){     float para,kira,su,elektrik,gida,diger,sonuc;     printf("maasinizi girin:");     scanf("%f",&para);     printf("ev kiranizi girin:");     scanf("%f",&kira);     printf("gida harcamalariniz:");     scanf("%f",&gida);     printf("elektrik fatura bedeliniz:");     scanf("%f",&elektrik);     printf("su fatura bedeliniz:");     scanf("%f",&su);     printf("diger harcamalariniz:");     scanf("%f",&diger);     printf("\n\nsonuclar\n\n");     printf("\todenmesi gerekenler\t\todenenler\t\tsonuc\t\n");     printf("ev kirasi:\t%2.f\t\t%2.f\t\t%2.f\t\n",para*30/100,kira,(para*30/100)-kira);     printf("gida giderleri:\t%2.f\t\t%2.f\t\t%2.f\t\n",para*25/100,gida,(para*25/100)-gida);     printf("elektrik faturasi:\t%2.f\t%2.f\t\t%2.f\t\n",para*4/100,elektrik,(para*4/100)-elektrik);     printf("su faturasi\t\t%2.f\t\t%2.f\t%2.f\t\n",para*3/100,su,(para*3/100)-su);     printf("diger harcamalar:\t%2.f\t%2.f\t%2.f\t\t\t\n",para*8/100,diger,(para*8/100)-diger);     sonuc=para-kira-gida-elektrik-su-diger;          if(sonuc>0)     {         printf("\n\nbirikim yapilmistir\nAylik yapilan birikim=%2.f tl",sonuc);         printf("\n10 yilda birikecek para=%2.f tl",120*sonuc);              }     else {                  printf("alinan maas yetersizdir ");     }     getch(); }
0 notes
aysenozun · 11 years
Text
Klavyeden girilen 3 açıya göre üçgeni bulan C programı
SORU : Kullanıcı klavyeden 3 tane açı değeri girecektir. Girilen açı değerlerine göre; - Açılar kullanılarak üçgen oluşturulabiliyor mu? - Üçgen oluşturulabiliyorsa bu üçgen ne çeşit bir üçgendir(eşkenar, ikizkenar, dik, çeşitkenar)
#include<stdio.h> #include<conio.h> int main() {     int a,b,c;     printf("a=");     scanf("%d",&a);     printf("b=");     scanf("%d",&b);     printf("c=");     scanf("%d",&c);     if((a+b+c)==180){                   printf("aci olusturabiliyor\n");                  if((a==b)&&(b==c))     printf("eskenar ucgendir\n");             else if((a == b ) || (b == c) || (a == c) )     printf("ikizkenar ucgendir\n");              else     printf("cesitkenardir\n");      }     else     printf("ucgen olusamaz\n");      }
0 notes
aysenozun · 11 years
Text
POİNTERLAR \ İŞARETÇİLER \ GÖSTERİCİLER
    Programlama dillerinde bir değişken tanımlandığında , o değişkenin tipine bağlı olarak RAM'den bir bölge ayrılır.Bu bölgelere adres denir.     Göstericiler adrres bilgilerini saklamak ve adreslerle ilgili işlemler yapmak için kullanılan nesnelerdir.Yani göstericilerin içerisinde adresler bulunur.Başka bir deyişle normal bir değişken bir değeri belirtirken pointer(gösterici\işaretçi) işaret ettiği değişkenin bellekteki adresini belirtir.Pointerlara veri değil , bu verilerin saklı oldugu adresler atanır.
   İşaretçi değişkenlerin kendileri.türleri ne olursa olsun , bellekte aynı uzunlukta yer işgal ederler, bu "doğrudan bailgisayarın iç belleği için kullanılan adres bitleri uzunlugundadır" denilebilir.Bir göstericiye 0 atamak NULL atamakla eşdeğerdir. Zaten sıfır sayısı stdio.h dosyasında NULL olarak bildirilmiştir.İşaretçi değişkenlerinin boş adres anlamında karşılaştırılması NULL sözcüğü ile yapılmıştır.
Gösterici bildirimlerinin genel biçimi ;
<tür> * <gösterici ismi>;
<tür> gösterici içindeki adresin türüdür.char,int......gibi. * işareti ise göstericiyi yada adresi temsil etmektedir.
örneğin:
       char s;      //karakter türünde bir değişkendir
       char*s;     //s bir göstericidir
örneğin:
      char*p;
      p=(char*)0X1K09   // 0X1K09 bellekte herhangi bir bölgedir
      *p='a';
Bu örnekte p bir gösterici,*p ise göstericinin gösterdiği adreste bulunan nesnedir.Dolayısıyla 'a' karakteri 1K09 adresine yazılır.
GÖSTERİCİ OPERATÖRLERİ
* (içerik) Operatörü  [indirection operator]
* operatörü adresin gösterdiği bellek bölgesindeki nesneyi temsil eder.* operatörü , operandı olan adresin gösterdiği yerdeki nesneye erişmek amacıyla kullanılır.p bir adres belirtiyorsa *p bu adreste bulunan nesneyi temsil eder.
& (adres) operatörü [adress operator]
& operatörü operandının adresini döndüren bir tekli operatördür.
     int y=5;
     int *p;
     p=&y; // y değişkeninin adresini p gösterici değişkenine atar
Burada p dğişkeni y ' yi göstermektedir.
Adres operatörünün operandı bir değer olmalıdır.Adres operatörü sabitlere , deyimlere ya da register depolama sınıflarıyla bildirilmiş değişkenlere uygulanamaz.
[n] (indeks) operatörü [index operator]
Dİzi elemanlarına erişmek için kullanıdığımız [n] aslında tek operandlı bir gösterici operatörüdür.Operand mutlaka adres olmalıdır.[n] operatörü operandı olan adresten n kadar uzaklıktaki nesneyi temsil eder.
           *(s+n) = s[n]
örneğin: 
       char s[5];
       char *p;
        p=s;
        for( k=0 ; k<5 ; ++k )
        p[k]=0;
Burada s dizisinin başlangıç adresi p göstericisine atanmış , p göstericiside daha sonra indeks operatörüyle kullanılmıstır.
 Son olarak hepsine ilişkin bir örnek yazacak olursak ;
örn: Bir x değişkenine başlangıcta sayı tanımlayalım.Daha sonra sayının 
  - normal degerini
  - pointer yardımıyla değerini
  - normal adresini
  - pointer yardımıyla adresini ve pointer adresini yazdıralım
         #include<stdio.h> main() {     int x,*ptr;     x=4;     ptr=&x;          printf("x'in normal degeri:%d\n",x);     printf("x'in pointer yardimiyla degeri:%d\n",*ptr);     printf("x'in normal adresi:%p\n",&x);     printf("x'in pointer yardimiyla adresi:%p\n",ptr);     printf("x'in pointer adresi:%p\n",&ptr);      }
 yardımcı olması dileğiyle..... :)
0 notes