• Scanf C işlevi: açıklama. §1 Dil hakkında genel bilgiler. Program tasarımının aşamaları. Uygulama Yaşam Döngüsü Modelleri scanf C işlevi - açıklama

    Bu eğitimler, ister programlamada yeni olun ister diğer dillerde kapsamlı programlama deneyimine sahip olun, herkes içindir! Bu materyal, C/C++ dillerini en temellerinden en karmaşık yapılarına kadar öğrenmek isteyenler içindir.

    C++ bir programlama dilidir, bu programlama dilini bilmek bilgisayarınızı en üst düzeyde kontrol etmenizi sağlayacaktır. İdeal olarak, bilgisayarın istediğiniz her şeyi yapmasını sağlayabileceksiniz. Sitemiz C++ programlama diline hakim olmanıza yardımcı olacaktır.

    Kurulum /IDE

    C++ öğrenmeye başlamadan önce yapmanız gereken ilk şey, bir IDE'ye (tümleşik bir geliştirme ortamına (programlayacağınız program) sahip olduğunuzdan emin olmaktır.) Bir IDE'niz yoksa işte buradasınız. IDE seçimine karar verdikten sonra onu kurun ve basit projeler oluşturma alıştırması yapın.

    C++'a giriş

    C++ dili bilgisayara ne yapması gerektiğini söyleyen bir dizi komuttur. Bu komut dizisine genellikle kaynak kodu veya basitçe kod denir. Komutlar ya “işlevler” ya da “anahtar kelimelerdir”. Anahtar kelimeler (C/C++ ayrılmış kelimeler) dilin temel yapı taşlarıdır. Fonksiyonlar karmaşık yapı taşlarıdır çünkü daha basit fonksiyonlarla yazılmışlardır; bunu aşağıda gösterilen ilk programımızda göreceksiniz. Bu fonksiyon yapısı bir kitabın içeriğine benzer. İçerik kitabın bölümlerini gösterebilir, kitaptaki her bölümün paragraflardan oluşan kendi içeriği olabilir, her paragrafın kendi alt paragrafları olabilir. Her ne kadar C++ kullanabileceğiniz pek çok ortak fonksiyon ve ayrılmış kelimeler sunsa da yine de kendi fonksiyonlarınızı yazmanız gerekiyor.

    Programın hangi bölümünde başlıyor? C++'da her programın bir işlevi vardır, buna main veya main işlevi denir, programın yürütülmesi bu işlevle başlar. Ana işlevden, ister bizim yazdığımız, ister daha önce de belirtildiği gibi derleyici tarafından sağlanan diğer işlevleri de çağırabilirsiniz.

    Peki bu Standart Özelliklere nasıl erişebilirsiniz? Derleyiciyle birlikte gelen standart işlevlere erişmek için, önişlemci yönergesini - #include kullanarak başlık dosyasını eklemeniz gerekir. Bu neden etkilidir? Çalışan bir program örneğine bakalım:

    #katmak << "Моя первая программа на С++\n"; cin.get(); }

    Programın unsurlarını ayrıntılı olarak ele alalım. #include, derleyiciye, yürütülebilir dosyayı oluşturmadan önce iostream başlık dosyasındaki kodu programımıza koymasını söyleyen bir "önişlemci" yönergesidir. Bir başlık dosyasını bir programa bağlayarak programınızda kullanabileceğiniz birçok farklı fonksiyona erişim elde edersiniz. Örneğin cout operatörü iostream'i gerektirir. Ad alanı std'sini kullanan satır; derleyiciye std standart kütüphanesinin parçası olan bir grup işlevi kullanmasını söyler. Bu satır aynı zamanda programın cout gibi operatörleri kullanmasına da olanak tanır. Noktalı virgül C++ sözdiziminin bir parçasıdır. Derleyiciye bunun komutun sonu olduğunu söyler. Birazdan noktalı virgüllerin C++'daki çoğu komutu sonlandırmak için kullanıldığını göreceksiniz.

    Programın bir sonraki önemli satırı int main() satırıdır. Bu satır derleyiciye main adında bir fonksiyonun olduğunu ve fonksiyonun bir tamsayı döndürdüğünü bildirir. Kıvrımlı parantezler ( ve ) bir fonksiyonun başlangıcını (ve bitişini) belirtir. Kıvrımlı parantezler diğer kod bloklarında da kullanılır, ancak her zaman tek bir şeyi belirtirler; sırasıyla bloğun başlangıcını ve sonunu.

    C++'da cout nesnesi metni görüntülemek için kullanılır ("C out" olarak telaffuz edilir). Sembolleri kullanıyor<< , известные как «оператор сдвига», чтобы указать, что отправляется к выводу на экран. Результатом вызова функции cout << является отображение текста на экране. Последовательность \n фактически рассматривается как единый символ, который обозначает новую строку (мы поговорим об этом позже более подробно). Символ \n перемещает курсор на экране на следующую строку. Опять же, обратите внимание на точку с запятой, её добавляют в конец, после каждого оператора С++.

    Bir sonraki komut cin.get()'tır. Bu, giriş veri akışından veri okuyan ve ENTER tuşuna basılmasını bekleyen başka bir işlev çağrısıdır. Bu komut, ENTER tuşuna basılana kadar konsol penceresinin kapanmasını önler. Bu size programın çıktısını görmeniz için zaman verir.

    Ana fonksiyonun sonuna ulaşıldığında (kapanış küme parantezi), programımız işletim sistemine 0 değerini döndürecektir. Bu dönüş değeri önemlidir çünkü işletim sistemi bunu analiz ederek programımızın başarıyla tamamlanıp tamamlanmadığına karar verebilir. 0 dönüş değeri başarı anlamına gelir ve otomatik olarak döndürülür (ancak yalnızca int veri türü için; diğer işlevler değeri manuel olarak döndürmenizi gerektirir), ancak 1 gibi başka bir değer döndürmek istersek bunu yapmak zorunda kalırız manuel olarak.

    #katmak ad alanı std'sini kullanma; int main() ( cout<<"Моя первая программа на С++\n"; cin.get(); return 1; }

    Materyali birleştirmek için program kodunu IDE'nize yazın ve çalıştırın. Program çalıştırıldıktan ve çıktıyı gördükten sonra cout deyimiyle biraz deneme yapın. Bu dile alışmanıza yardımcı olacaktır.

    Programlarınız hakkında yorum yapmayı unutmayın!

    Kodunuzu yalnızca kendiniz için değil başkaları için de daha anlaşılır hale getirmek amacıyla yorumlar ekleyin. Derleyici, kodu çalıştırırken yorumları yok sayar ve gerçek kodu tanımlamak için istediğiniz sayıda yorum kullanmanıza olanak tanır. Bir yorum oluşturmak için, derleyiciye satırın geri kalanının bir yorum olduğunu söyleyen or // komutunu veya /* ve ardından */ komutunu kullanın. Programlamayı öğrenirken, programın çıktısının nasıl değiştiğini görmek için kodun bazı bölümlerine yorum yapabilmek faydalıdır. Yorumlama tekniği hakkında detaylı bilgiyi okuyabilirsiniz.

    Bütün bu değişkenlerle ne yapmalı?

    Bazen bazı değişken türleri gereksiz göründüğünde birden fazla değişken türüne sahip olmak kafa karıştırıcı olabilir. Bazı değişkenler diğerlerinden daha fazla bellek gerektirdiğinden doğru değişken türünü kullanmak çok önemlidir. Ek olarak, bellekte saklanma biçimleri nedeniyle, kayan noktalı sayılar, kayan noktalı ve çiftli veri türleri "kesin değildir" ve kesin bir tamsayı değerinin saklanması gerektiğinde kullanılmamalıdır.

    C++'da Değişkenleri Bildirmek

    Bir değişken bildirmek için sözdizimi türünü kullanın<имя>; . Değişken bildirimlerine bazı örnekler:

    Dahili sayı; karakter karakteri; float num_float;

    Aynı türden birden fazla değişkenin bir satırda bildirilmesine izin verilir; bunun için her birinin virgülle ayrılması gerekir.

    Dahili x, y, z, d;

    Yakından baktığınızda değişken bildiriminin ardından her zaman noktalı virgül geldiğini görmüş olabilirsiniz. “Değişkenleri adlandırma” kuralı hakkında daha fazla bilgi edinebilirsiniz.

    C++'ta değişkenleri bildirirken sık karşılaşılan hatalar

    Bildirilmemiş bir değişkeni kullanmaya çalışırsanız programınız derlenmeyecek ve hata mesajı alacaksınız. C++'da tüm dil anahtar sözcükleri, tüm işlevler ve tüm değişkenler büyük/küçük harfe duyarlıdır.

    Değişkenleri Kullanma

    Artık bir değişkenin nasıl bildirileceğini biliyorsunuz. Bir değişkenin kullanımını gösteren örnek bir program aşağıda verilmiştir:

    #katmak ad alanı std'sini kullanma; int main() ( int sayı; cout<< "Введите число: "; cin >>sayı; cin.ignore(); cout<< "Вы ввели: "<< number <<"\n"; cin.get(); }

    Gelin bu programa bir göz atalım ve kodunu satır satır inceleyelim. İnt anahtar sözcüğü sayının bir tamsayı olduğunu belirtir. cin >> fonksiyonu değeri sayıya okur, kullanıcının girilen sayıdan sonra enter tuşuna basması gerekir. cin.ignore(), bir karakteri okuyan ve onu yok sayan bir fonksiyondur. Programa girişlerimizi düzenledik; bir sayı girdikten sonra giriş akışına da iletilen bir sembol olan ENTER tuşuna basıyoruz. İhtiyacımız olmadığı için atıyoruz. Değişkenin bir tam sayı türü olarak bildirildiğini unutmayın; kullanıcı ondalık sayı girmeye çalışırsa sayı kesilecektir (yani sayının ondalık kısmı göz ardı edilecektir). Ondalık sayı veya karakter dizisi girmeyi deneyin; örnek programı çalıştırdığınızda yanıt, giriş değerine bağlı olacaktır.

    Bir değişkenden yazdırırken tırnak işaretlerinin kullanılmadığını unutmayın. Tırnak işaretlerinin olmaması, derleyiciye bir değişkenin var olduğunu ve bu nedenle programın, değişken adını yürütme sırasındaki değeriyle değiştirmek için değişkenin değerini kontrol etmesi gerektiğini söyler. Aynı satırda birden fazla vardiya ifadesi tamamen kabul edilebilir ve çıktı aynı sırada yapılacaktır. Dize değişmezlerini (tırnak içine alınmış dizeler) ve değişkenleri, her birine kendi kaydırma operatörünü vererek ayırmalısınız.<< . Попытка поставить две переменные вместе с одним оператором сдвига << выдаст сообщение об ошибке . Не забудьте поставить точку с запятой. Если вы забыли про точку с запятой, компилятор выдаст вам сообщение об ошибке при попытке скомпилировать программу.

    Değerleri değiştirme ve karşılaştırma

    Elbette, ne tür veri kullanıyor olursanız olun, değerlerini değiştirebilme özelliği olmadan değişkenler pek ilgi çekici değildir. Aşağıda değişkenlerle birlikte kullanılan bazı operatörler gösterilmektedir:

    • * çarpma işlemi,
    • - çıkarma,
    • + ekleme,
    • / bölüm,
    • = atama,
    • == eşitlik,
    • >daha fazlası
    • < меньше.
    • != eşit değil
    • >= büyük veya eşittir
    • <= меньше или равно

    Sonucun soldaki değişkene atanabilmesi için atama işaretinin sağında matematiksel fonksiyonları gerçekleştiren operatörlerin kullanılması gerekir.

    İşte bazı örnekler:

    bir = 4 * 6; // satır açıklamasını ve noktalı virgülü kullanın, a eşittir 24 a = a + 5; // orijinal değerin toplamına eşit ve beş a == 5 // beşi atamıyor, 5'e eşit olup olmadığını kontrol ediyor

    Koşullu ifadeler ve döngüler gibi yapılarda sıklıkla == kullanacaksınız.

    A< 5 // Проверка, a менее пяти? a >5 // Kontrol edin, beşten fazla mı? a == 5 // Kontrol ediliyor, beşe eşit mi? a != 5 // Kontrol edin, beşe eşit değil mi? a >= 5 // a'nın beşten büyük veya beşe eşit olup olmadığını kontrol edin? A<= 5 // Проверка, a меньше или равно пяти?

    Bu örnekler karşılaştırma işaretlerinin kullanımını çok açık bir şekilde göstermiyor ancak seçim operatörlerini incelemeye başladığımızda bunun neden gerekli olduğunu anlayacaksınız.

    C/C++ Standart Kitaplığı, konsola (klavye ve monitör) okuma ve yazma için bir dizi işlev içerir. Bu işlevler, verileri basit bir karakter akışı olarak okur ve yazar.

    Programlamada kullanılan akış kavramı, bu kelimenin sıradan, günlük anlaşılmasıyla yakından ilgilidir. Giriş akışı, suyun (bilginin) havuza (bilgisayar belleği) girdiği bir boruya benzetilebilir ve çıkış akışı, suyun havuzdan çıktığı bir boruya benzetilebilir. Bu kanalın önemli bir özelliği, verilerin aynı anda yalnızca bir yönde hareket edebilmesidir. Giriş ve çıkış için aynı boru kullanılsa bile bu aynı anda gerçekleşemez: Akış yönünü değiştirmek için akışın durdurulması, bazı işlemlerin yapılması gerekir ve ancak o zaman akış ters yöne yönlendirilebilir. Derenin bir diğer özelliği de neredeyse hiç kurumaması. Bazen kurur ama sistem normal çalışıyorsa bu süre çok uzun olamaz.

    Standart çıktı işlevi printf()

    Printf() işlevi standart bir çıktı işlevidir. Bu işlevi kullanarak monitör ekranında bir karakter dizisini, bir sayıyı, bir değişkenin değerini görüntüleyebilirsiniz...

    printf() fonksiyonunun stdio.h dosyasında bir prototipi var
    int printf(char *kontrol dizesi, ...);

    Başarılı olursa, printf() yazdırılan karakter sayısını döndürür.

    Kontrol satırı iki tür bilgi içerir: ekrana doğrudan yazdırılan karakterler ve bağımsız değişkenlerin nasıl yazdırılacağını belirten biçim belirticileri.

    Printf() işlevi biçimlendirilmiş bir çıktı işlevidir. Bu, fonksiyon parametrelerinde çıktısı alınacak verilerin formatının belirtilmesi gerektiği anlamına gelir. Veri formatı, format belirleyiciler tarafından belirtilir. Format belirtici % karakteriyle başlar ve ardından format kodu gelir.

    Biçim belirticileri:

    %İle sembol
    %D tamsayı ondalık sayı
    %Ben tamsayı ondalık sayı
    %e x.xx e+xx formundaki ondalık sayı
    %E x.xx E+xx biçimindeki ondalık sayı
    %F
    %F ondalık kayan nokta sayısı xx.xxxx
    %G %f veya %e, hangisi daha kısaysa
    %G %F veya %E, hangisi daha kısaysa
    sekizlik sayı
    %S karakter dizesi
    %u işaretsiz ondalık sayı
    %X onaltılık sayı
    %X onaltılık sayı
    %% sembol %
    %P Işaretçi
    %N Işaretçi

    Ayrıca format komutlarına l ve h değiştiricileri uygulanabilir.

    %ld uzun int yazdır
    %hu damga kısa imzasız
    %Lf uzun çift damga

    Biçim belirticide, % sembolünden sonra kesinlik (ondalık noktadan sonraki basamak sayısı) belirtilebilir. Hassasiyet şu şekilde ayarlanır: %.n<код формата>. Burada n, virgülden sonraki basamak sayısıdır ve<код формата>- yukarıda verilen kodlardan biri.

    Örneğin, float tipinde x=10.3563 değişkenimiz varsa ve değerini 3 ondalık basamağa kadar doğru olarak görüntülemek istiyorsak şunu yazmalıyız:

    printf("Değişken x = %.3f",x);

    Sonuç:
    Değişken x = 10,356

    Yazdırma için ayrılan alanın minimum genişliğini de belirleyebilirsiniz. Satır veya sayı belirtilen alan genişliğinden büyükse satır veya sayı tam olarak yazdırılır.

    Örneğin şunu yazarsanız:

    printf("%5d",20);

    o zaman sonuç aşağıdaki gibi olacaktır:
    20

    Lütfen 20 sayısının satırın başından itibaren yazdırılmadığını unutmayın. Alanın kullanılmayan alanlarının sıfırlarla doldurulmasını istiyorsanız alan genişliğinin önüne 0 simgesini koymanız gerekir.

    Örneğin:

    printf("%05d",20);

    Sonuç:
    00020

    Veri formatı belirleyicilerine ek olarak kontrol satırı kontrol karakterleri içerebilir:

    \B BS, alt
    \F Yeni sayfa, sayfa değişikliği
    \N Yeni satır, satır besleme
    \R Satırbaşı
    \T Yatay tablolama
    \v Dikey sekme
    \" Çift tırnak
    \" Kesme işareti
    \\ Ters eğik çizgi
    \0 Boş karakter, boş bayt
    \A Sinyal
    \N Sekizli sabit
    \xN Onaltılık sabit
    \? Soru işareti

    Çoğu zaman \n karakterini kullanacaksınız. Bu kontrol karakteri ile yeni bir satıra geçebilirsiniz. Örnek programlara bakın, her şeyi anlayacaksınız.

    Program örnekleri.

    /* Örnek 1 */
    #katmak

    geçersiz ana (geçersiz)
    {
    int a,b,c; // a,b,c değişkenlerinin bildirimi
    a=5;
    b=6;
    c=9;
    printf("a=%d, b=%d, c=%d",a,b,c);
    }

    Programın sonucu:
    a=5, b=6, c=9

    /* Örnek 2 */
    #katmak

    geçersiz ana (geçersiz)
    {
    kayan nokta x,y,z;

    X=10.5;
    y=130.67;
    z=54;

    Printf("Nesne koordinatları: x:%.2f, y:%.2f, z:%.2f", x, y, z);
    }

    Programın sonucu:
    Nesne koordinatları: x:10,50, y:130,67, z:54,00

    /* Örnek 3 */
    #katmak

    geçersiz ana()
    {
    intx;

    X=5;
    printf("x=%d", x*2);
    }

    Programın sonucu:
    x=10

    /* Örnek 4 */
    #katmak

    geçersiz ana (geçersiz)
    {
    printf("\"Tırnak içindeki metin\"");
    printf("\nOksijen içeriği: %%100");
    }

    Programın sonucu:
    "Tırnak içindeki metin"
    Oksijen içeriği: %100

    /* Örnek 5 */
    #katmak

    geçersiz ana (geçersiz)
    {
    int a;

    bir=11; // Ondalık sistemde 11, onaltılık sistemde b'ye eşittir
    printf("a-dec=%d, a-hex=%X",a,a);
    }

    Programın sonucu:
    a-dec=11, a-hex=b

    /* Örnek 6 */
    #katmak

    geçersiz ana (geçersiz)
    {
    karakter ch1,ch2,ch3;

    Ch1 = "A";
    ch2 = "B";
    ch3 = "C";

    Printf("%c%c%c",ch1,ch2,ch3);
    }

    Programın sonucu:
    ABC

    /* Örnek 7 */
    #katmak

    geçersiz ana (geçersiz)
    {
    char *str=Dizem.";

    Printf("Bu %s",str);
    }

    Programın sonucu:
    Bu Benim çizgimdir.

    /* Örnek 8 */
    #katmak

    geçersiz ana (geçersiz)
    {
    printf("Merhaba!\n"); // Yazdırdıktan sonra yeni bir satıra geçiş olacak - \n
    printf("Benim adım Pavel."); // Bu yeni bir satıra yazdırılacak
    }

    Programın sonucu:
    Merhaba!
    Benim adım Pavel.

    Standart giriş işlevi scanf()

    scanf() işlevi biçimlendirilmiş bir giriş işlevidir. Onun yardımıyla standart bir giriş cihazından (klavye) veri girebilirsiniz. Giriş verileri tamsayılar, kayan nokta sayıları, karakterler, dizeler ve işaretçiler olabilir.

    scanf() işlevi stdio.h'de aşağıdaki prototipe sahiptir:
    int scanf(char *kontrol dizisi);

    Fonksiyon, bir değer atanmış değişkenlerin sayısını döndürür.

    Kontrol dizesi üç tür karakter içerir: biçim belirticileri, boşluklar ve diğer karakterler. Biçim belirticileri % karakteriyle başlar.

    Biçim belirticileri:

    scanf() işlevini (%s biçim belirtici) kullanarak bir dize girerken, dize ilk boşluktan önce girilir!! onlar. "Merhaba dünya!" dizesini girerseniz scanf() işlevini kullanma


    scanf("%s",str);

    daha sonra str dizisinde saklanacak olan sonuç dizesini girdikten sonra tek bir "Merhaba" sözcüğünden oluşacaktır. FONKSİYON İLK BOŞLUKTAN ÖNCE BİR DİZE GİRER! Dizeleri boşluklarla girmek istiyorsanız işlevi kullanın.

    char *alır(char *buf);

    Gets() işleviyle tam dizeler girebilirsiniz. Gets() işlevi, yeni satır karakteri (\n) görünene kadar klavyedeki karakterleri okur. Enter tuşuna bastığınızda yeni satır karakterinin kendisi görünür. Fonksiyon buf'a bir işaretçi döndürür. buf - giriş dizesi için arabellek (bellek).

    Her ne kadar bu yazının konusu get() olmasa da klavyeden bir satırın tamamını girip ekranda görüntülemenizi sağlayan örnek bir program yazalım.

    #katmak

    geçersiz ana (geçersiz)
    {
    karakter arabelleği; // giriş dizesi için dizi (tampon)

    Alır(tampon); // bir satır girin ve enter tuşuna basın
    printf("%s",tampon); // girilen stringin ekrana çıktısı
    }

    Bir önemli not daha! scanf() işlevini kullanarak veri girmek için değişkenlerin kendilerini değil, değişken adreslerini parametre olarak iletmesi gerekir. Bir değişkenin adresini almak için değişken adının önüne & (ve işareti) koymanız gerekir. & işareti adresi almak anlamına gelir.

    Adres ne anlama geliyor? Açıklamaya çalışacağım. Programda bir değişkenimiz var. Bir değişken, değerini bilgisayar belleğinde saklar. Yani bu, & kullanarak aldığımız adres, değişkenin değerinin saklandığı bilgisayar belleğindeki adrestir.

    Bize & komutunun nasıl kullanılacağını gösteren örnek bir programa bakalım.

    #katmak

    geçersiz ana (geçersiz)
    {
    intx;

    Printf("x değişkenini girin:");
    scanf("%d",&x);
    printf("Değişken x=%d",x);
    }

    Şimdi scanf() fonksiyonunun kontrol satırına dönelim. Tekrar:

    int scanf(char *kontrol dizisi);

    Kontrol dizesindeki boşluk karakteri, giriş akışında bir veya daha fazla boşluğun atlanması komutunu verir. Boşluğa ek olarak bir sekme veya yeni satır karakteri de algılanabilir. Boş olmayan bir karakter, karakterin okunduğunu ve atıldığını gösterir.

    Girdiğiniz iki sayı arasındaki ayırıcılar boşluk, sekme veya satırsonu ayırıcılarıdır. %'den sonra ve format kodundan (format belirtici) önce gelen * işareti, okunacak ancak o değere atanmamış veri tipine komut verir.

    Örneğin:

    scanf("%d%*c%d",&i,&j);

    50+20'nin girilmesi i değişkenini 50'ye, j değişkenini 20'ye ayarlayacaktır ve + karakteri okunacak ve göz ardı edilecektir.

    Format komutu okunacak en büyük alan genişliğini belirleyebilir.

    Örneğin:

    scanf("%5s",str);

    giriş akışından ilk 5 karakterin okunması gerektiğini belirtir. 1234567890ABC girerseniz, str dizisi yalnızca 12345'i içerecek, geri kalan karakterler göz ardı edilecektir. Ayırıcılar: boşluk, sekme ve yeni satır - bir sembol girerken diğer tüm karakterler gibi değerlendirilirler.

    Kontrol dizesinde başka karakterler varsa, bunların karşılık gelen karakteri tanımlaması ve atlaması amaçlanır. Karakter akışı 10plus20 operatörü

    scanf("%dplus%d",&x,&y);

    x değişkenine 10 değerini, y değişkenine 20 değerini atayacak ve artı karakterleri kontrol dizesinde yer aldığından atlayacaktır.

    scanf() işlevinin güçlü özelliklerinden biri, bir tarama kümesi belirleme yeteneğidir. Arama kümesi, scanf() işlevi tarafından okunan karakterlerin karşılaştırılacağı karakter kümesini tanımlar. scanf() işlevi, arama kümesinde göründükleri sürece karakterleri okur. Girilen karakter arama kümesinde bulunamadığı anda scanf() işlevi bir sonraki format belirticiye geçer. Arama kümesi köşeli parantez içine alınmış karakterlerin listesiyle tanımlanır. % işareti açılış parantezinin önüne yerleştirilir. Buna bir örnekle bakalım.

    #katmak

    geçersiz ana (geçersiz)
    {
    karakter str1, str2;
    scanf("%%s", str1, str2);
    printf("\n%s\n%s",str1,str2);
    }
    Bir karakter kümesi girelim:
    12345abcdefg456

    Program ekranda görüntülenecektir:
    12345
    abcdefg456

    Bir arama kümesi belirlerken, giriş alanının maksimum genişliğinin yanı sıra aralığı da belirtmek için kısa çizgi karakterini kullanabilirsiniz.

    scanf("%10",str1);

    Arama kümesinde yer almayan karakterleri de tanımlayabilirsiniz. Bu karakterlerden ilkinin önünde ^ işareti bulunur. Birçok karakter küçük ve büyük harfler arasında ayrım yapar.

    Scanf() fonksiyonunu kullanırken parametre olarak değişken adreslerini ona aktarmanız gerektiğini hatırlatayım. Yukarıdaki kod yazılmıştır:

    karakter dizisi; // 80 karakterlik dizi
    scanf("%s",str);

    str'nin önünde & işareti bulunmadığını unutmayın. Bunun yapılmasının nedeni str'nin bir dizi olması ve dizi adının - str dizinin ilk elemanını gösteren bir işaretçi olmasıdır. Bu nedenle & işareti kullanılmamalıdır. Adresi zaten scanf() fonksiyonuna aktarıyoruz. Basitçe söylemek gerekirse str, dizinin ilk öğesinin değerinin bilgisayar belleğinde saklanacağı adrestir.

    Program örnekleri.

    Örnek 1.
    Bu program "Kaç yaşındasın?:" isteğini görüntüler ve veri girişini bekler. Örneğin 20 sayısını girerseniz program “20 yaşındasınız” satırını görüntüleyecektir. scanf() işlevini çağırırken, scanf() işlevi değişken adreslerine ihtiyaç duyduğundan, yaş değişkeninin önüne & işaretini koyarız. scanf() işlevi girilen değeri belirtilen adrese yazacaktır. Bizim durumumuzda yaş değişkeninin adresine girilen değer 20 yazılacaktır.

    /* Örnek 1 */

    #katmak

    geçersiz ana (geçersiz)
    {
    int yaş;

    Printf("\nKaç yaşındasınız?:");
    scanf("%d",&yaş);
    printf("%d yaşındasınız.", yaş);
    }

    Örnek 2.
    Hesap makinesi programı. Bu hesap makinesi yalnızca sayı ekleyebilir. 100+34 girildiğinde program şu sonucu verecektir: 100+34=134.

    /* Örnek 2 */

    #katmak

    geçersiz ana (geçersiz)
    {
    int x, y;

    Printf("\nHesap Makinesi:");
    scanf("%d+%d", &x, &y);
    printf("\n%d+%d=%d", x, y, x+y);
    }

    Örnek 3.
    Bu örnek, okuma alanı genişliğinin nasıl ayarlanacağını gösterir. Örneğimizde alan genişliği beş karakterdir. Çok sayıda karakter içeren bir dize girerseniz, 5. karakterden sonraki tüm karakterler atılacaktır. scanf() işlev çağrısına dikkat edin. Dizi adı adı dizinin ilk öğesinin adresi olduğundan & işareti dizi adı adından önce gelmez.

    /* Örnek 3 */

    #katmak

    geçersiz ana (geçersiz)
    {
    karakter ismi;

    Printf("\nKullanıcı adınızı giriniz (en fazla 5 karakter):");
    scanf("%5s", isim);
    printf("\n%s girdiniz", isim);
    }

    Örnek 4.
    Bu makaledeki son örnek, bir arama kümesinin nasıl kullanılabileceğini göstermektedir. Programı başlattıktan sonra 2'den 5'e kadar bir sayı girin.

    /* Örnek 4 */

    #katmak

    geçersiz ana (geçersiz)
    {
    karakter bal;

    Printf("Dereceniz 2,3,4,5:");
    scanf("%", &bal);
    printf("\nDerecelendirme %c", bal);
    }

    C++ programlama dili

    Son güncelleme: 28.08.2017

    C++ programlama dili, çok çeşitli uygulamalar oluşturmaya uygun, yüksek seviyeli, statik olarak yazılmış, derlenmiş, genel amaçlı bir programlama dilidir. Günümüzde C++ en popüler ve yaygın dillerden biridir.

    Kökleri 1969-1973'te programcı Dennis Ritchie tarafından Bell Laboratuvarlarında geliştirilen C diline dayanmaktadır. 1980'lerin başında, o zamanlar Bell Laboratuarlarında çalışan Danimarkalı programcı Bjarne Stroustrup, C dilinin bir uzantısı olarak C++'ı geliştirdi. Aslında başlangıçta C++, C dilini bazı nesne yönelimli programlama yetenekleriyle destekledi. Stroustrup'un başlangıçta buna "sınıflarla birlikte C" adını vermesinin nedeni de budur.

    Daha sonra yeni dil popülerlik kazanmaya başladı. Onu yalnızca C'ye ek olarak değil, tamamen yeni bir programlama dili haline getiren yeni özellikler eklendi. Sonuç olarak “Sınıflı C”nin adı C++ olarak değiştirildi. Ve o andan itibaren her iki dil de birbirinden bağımsız olarak gelişmeye başladı.

    C++, zengin bellek özelliklerini C'den devralan güçlü bir dildir. Bu nedenle, C++ sıklıkla sistem programlamada, özellikle işletim sistemleri, sürücüler, çeşitli yardımcı programlar, antivirüsler vb. oluştururken kullanım alanı bulur. Bu arada, Windows işletim sistemi çoğunlukla C++ ile yazılmıştır. Ancak bu dilin kullanımı sistem programlamayla sınırlı değildir. C++, hızın ve performansın önemli olduğu her düzeydeki programda kullanılabilir. Genellikle grafiksel uygulamalar ve çeşitli uygulama programları oluşturmak için kullanılır. Ayrıca özellikle zengin, zengin görselleştirmeye sahip oyunlar oluşturmak için sıklıkla kullanılır. Ek olarak, son zamanlarda C++'ın da uygulama alanı bulduğu mobil yön ivme kazanıyor. Web geliştirmede bile, web uygulamaları veya web uygulamalarına hizmet eden bazı destekleyici hizmetler oluşturmak için C++ kullanabilirsiniz. Genel olarak C++, hemen hemen her türde programı oluşturabileceğiniz, yaygın olarak kullanılan bir dildir.

    C++ derlenmiş bir dildir; bu, derleyicinin C++ kaynak kodunu bir dizi makine talimatı içeren yürütülebilir bir dosyaya çevirdiği anlamına gelir. Ancak farklı platformların kendine has özellikleri vardır, dolayısıyla derlenmiş programlar bir platformdan diğerine kolayca aktarılıp orada çalıştırılamaz. Bununla birlikte, kaynak kodu düzeyinde, bazı işletim sistemine özgü işlevler kullanılmadığı sürece C++ programları büyük ölçüde taşınabilirdir. Hemen hemen tüm yaygın platformlar için derleyicilerin, kitaplıkların ve geliştirme araçlarının bulunması, aynı C++ kaynak kodunu bu platformlara yönelik uygulamalarda derlemenize olanak tanır.

    C'den farklı olarak C++ dili, uygulamaları birbiriyle etkileşim halindeki sınıfların ve nesnelerin bir koleksiyonu olarak temsil eden nesne yönelimli bir tarzda yazmanıza olanak tanır. Bu da büyük uygulamaların oluşturulmasını kolaylaştırır.

    Gelişimin ana aşamaları

    1979-80'de Bjarne Stroustrup, C dilinin bir uzantısı olan "Sınıflarla C"yi geliştirdi. 1983 yılında dilin adı C++ olarak değiştirildi.

    1985 yılında C++ dilinin ilk ticari versiyonu ve resmi bir standardın yokluğunda bu dilin ilk tanımını temsil eden "C++ Programlama Dili" kitabının ilk baskısı yayınlandı.

    1989 yılında C++ 2.0 dilinin bir dizi yeni özellik içeren yeni bir sürümü yayımlandı. Bundan sonra dil 2011 yılına kadar nispeten yavaş bir şekilde gelişti. Ancak aynı zamanda 1998 yılında ISO organizasyonu (Uluslararası Standardizasyon Örgütü) tarafından dilin standartlaştırılmasına yönelik ilk girişimde bulunuldu. İlk standarda ISO/IEC 14882:1998 veya kısaca C++98 adı verildi. Daha sonra 2003 yılında C++03 standardının yeni bir versiyonu yayınlandı.

    2011 yılında birçok eklemeyi içeren ve C++ dilini çok sayıda yeni işlevsellikle zenginleştiren yeni C++ 11 standardı yayınlandı. Bunu takiben 2014 yılında standarda C++14 olarak da bilinen küçük bir ekleme yayınlandı. Ve dilin bir başka önemli sürümünün de 2017 yılında yayınlanması planlanıyor.

    Derleyiciler ve geliştirme ortamları

    C++'da programlar geliştirmek için bir derleyiciye ihtiyacınız vardır; derleyici, C++'daki kaynak kodunu daha sonra çalıştırabileceğiniz yürütülebilir bir dosyaya çevirir. Ancak şu anda birçok farklı derleyici var. Başta standartların uygulanması olmak üzere çeşitli yönlerden farklılık gösterebilirler. C++ için derleyicilerin temel bir listesi Wikipedia'da bulunabilir. Geliştirme için en son standartları geliştiren ve uygulayan derleyicilerin seçilmesi önerilir. Bu nedenle, bu eğitim boyunca öncelikle GNU projesi tarafından geliştirilen ücretsiz olarak kullanılabilen g++ derleyicisini kullanacağız.

    Program oluşturmak için Visual Studio, Netbeans, Eclipse, Qt vb. IDE'leri de kullanabilirsiniz.

    1. Giriş

    Programlama, yeni evrensel algoritmik modeller gerektirir ve donanım, algoritmaları yalnızca farklı bir biçimde değil, aynı zamanda farklı bir algoritmik modele (otomatlara) dayanarak uygular. Donanım geliştirmeden teknoloji ödünç almak, otomata programlamanın arkasındaki temel fikirdir. Ancak dijital cihaz sentezi programlamadan farklıdır. Ancak bir modeli ödünç alırken, bir yandan onu önemli ölçüde değiştirmeniz tavsiye edilmez, diğer yandan zaten var olan programlama teorisi ve pratiğini göz ardı edemezsiniz.

    Daha sonra, her zaman benzer süreçlerle karşılaştığınız otomata programları tasarlamak için SWITCH teknolojisine bakacağız. Bir yandan sonlu durum makinesi modelini o kadar değiştirdi ki, aslında onu otomat teorisinin kapsamının ötesine taşıdı. Öte yandan, programcıların algılaması zor olan ve bazen de gereksiz olan kavramları programlamaya sokar, çünkü program teorisi ve programlama pratiğinden daha tanıdık analoglar vardır.

    Otomatik programlamanın sorunlarını tartışmak için temel olarak Shalyto A.A.'nın son dersini ele alacağız. ve otomatik programlama paradigmasının tanımına yönelik “programlama” makaleleri.

    C++ (okuma c-plus-plus), herhangi bir karmaşıklık düzeyinde programlar oluşturabileceğiniz, derlenmiş, statik olarak yazılan genel amaçlı bir programlama dilidir.
    20 yıldan fazla bir süredir bu dil en popüler ve en çok talep gören üç programlama dili arasında yer almaktadır. (Bunu TIOBE web sitesini ziyaret ederek doğrulayabilirsiniz).
    Dil, 1980'lerin başında Bell Labs çalışanı Björn Stroustrup'un kendi ihtiyaçları için C dilinde bir dizi iyileştirme ortaya koymasıyla ortaya çıktı.

    Bjarne Stroustrup – C++ dilinin yaratıcısı

    Stroustrup, C dilini Simula dilinde bulunan yeteneklerle genişletmeye karar verdi. Bell bilgisayarların üzerinde çalıştığı UNIX sisteminin temel dili olan C, hızlı, zengin özelliklere sahip ve taşınabilirdir. Stroustrup, sınıflar ve nesnelerle çalışma yeteneğini ekledi. Sonuç olarak, pratik modelleme problemlerinin hem geliştirme süresi (Simula benzeri sınıfların kullanımı sayesinde) hem de hesaplama süresi (C hızı sayesinde) açısından çözülmesinin kolay olduğu ortaya çıktı.
    Dil geliştiricisinin kendisi bu konuda şöyle konuşuyor:



    1998 yılında C++98 olarak bilinen ilk dil standardı bir standartlar komitesi tarafından yayımlandı. C++ günümüzün taleplerini karşılamak için gelişmeye devam ediyor. C++ dilini geliştiren ve iyileştirilmesi için C++ Standartlar Komitesine teklif sunan gruplardan biri: Artırmak, diğer şeylerin yanı sıra, metaprogramlama özellikleri ekleyerek dilin yeteneklerini geliştirmekle meşgul. En son standart 2017 yılında yayımlandı ve şu şekilde adlandırıldı: C++17. Bir sonraki standardın gelmesi uzun sürmeyecek ve 2020'de ortaya çıkması bekleniyor.
    Hiç kimse C++ dilinin haklarına sahip değildir; ücretsizdir. Mart 2016'da Rusya'da bir WP21 C++ çalışma grubu oluşturuldu. Grup, C++ standardına yönelik teklifleri toplamak, bunları bir komiteye göndermek ve bunları Uluslararası Standardizasyon Örgütü'nün genel toplantılarında savunmak üzere organize edildi.
    C++, çok çeşitli farklı programlama stillerini ve teknolojilerini içeren çok paradigmalı bir dildir (paradigma kelimesinden - bilgisayar programları yazma stili). Genellikle nesne yönelimli bir dil olarak sınıflandırılır, ancak kesin olarak konuşursak durum böyle değildir. Çalışma süreci sırasında geliştirici, belirli bir yaklaşım kullanılarak çözülen sorunun mümkün olduğu kadar verimli bir şekilde çözülmesi için araç seçiminde mutlak özgürlüğe sahip olur. Başka bir deyişle, C++ programcıyı yalnızca tek bir program geliştirme stiline (örneğin, nesne yönelimli) uymaya zorlamaz.
    C++, ortak kapsayıcılar ve algoritmalar, G/Ç, düzenli ifadeler, çoklu iş parçacığı desteği ve diğer özellikleri içeren zengin bir standart kitaplığa sahiptir. C++, Java, C#, D dahil olmak üzere birçok programlama dilini etkilemiştir. C++, C dilinin sözdizimini temel alan bir dil ailesine ait olduğundan, bu ailenin diğer programlama dillerinde kolayca uzmanlaşabilirsiniz: JavaScript, PHP , Perl, Objective-C ve diğerleri. vb., ana dilin kendisi dahil - C. ()
    C++ dili, var olduğu süre boyunca kolayca çürütülebilecek kalıcı mitler edindi (buraya bakın: Bölüm 1 ve Bölüm 2)

    Dilin tarihi ve standartlar sürümü

    1983

    Dilin yaratıcısı Björn Stroustrup'tur. Bir Bell Laboratuvarı çalışanı olan C++ dilinin (“Sınıflı C”) ilk versiyonunu tanıttı.

    1985

    C++'ın ilk ticari sürümü, dil modern adını alıyor

    1986

    Björn Stroustrup tarafından yazılan, C++'a adanmış bir kitap olan C++ Programlama Dili'nin ilk baskısı yayınlandı

    1998

    C++ dilinin uluslararası standardı onaylandı: ISO/IEC 14882:1998 “C++ Programlama Dili Standardı”

    2003
    2005

    Kütüphane Teknik Raporu 1 (TR1) yayımlandı. Resmi olarak standardın bir parçası olmasa da rapor, C++ dilinin bir sonraki sürümüne dahil edilmesi gereken standart kitaplık uzantılarını açıkladı.

    2011

    Yeni bir standardın yayımlanması – C++11 veya ISO/IEC 14882:2011; yeni standart, TR1'in çoğu dahil olmak üzere dil çekirdeğine eklemeler ve standart kütüphanenin genişletilmesini içeriyordu.

    2014

    C++14 standardının yayınlanması (“Uluslararası Standart ISO/IEC 14882:2014(E) Programlama Dili C++”); C++14, çoğunlukla hata düzeltmeleri ve küçük iyileştirmeler içeren, C++11'in küçük bir uzantısı olarak görülebilir.

    2017

    Yeni bir standardın piyasaya sürülmesi – C++1z (C++17). Bu standart birçok değişiklik ve eklemeler getirmiştir. Örneğin STD, C11 standardının kitaplıklarını, boost::filesystem tabanlı bir dosya sistemini ve deneysel TS I kitaplığının çoğunu içeriyordu.

    2020

    C++20, C++ programlama dili için ISO/IEC standardının resmi olmayan adıdır ve C++17'yi takip etmesi beklenmektedir. Taslak N4800 standardı.

    C++ Felsefesi

    Björn Stroustrup, The Design and Evolution of C++ (2007) adlı kitabında C++'ı (kısaltılmış haliyle) tasarlarken takip ettiği ilkeleri şöyle anlatıyor:

    • Statik veri türlerine, C dilinin verimliliğine ve taşınabilirliğine sahip genel amaçlı bir dil elde edin.
    • Çeşitli programlama stillerini doğrudan ve kapsamlı bir şekilde destekler.
    • Yanlış seçim yapma fırsatı verse bile programcıya seçim özgürlüğü verin.
    • C ile uyumluluğu mümkün olduğu kadar koruyun, böylece C programlamadan kolay geçişi mümkün kılın.
    • C ve C++ arasındaki tutarsızlıklardan kaçının: Her iki dilde de geçerli olan herhangi bir yapı, her birinde aynı anlama gelmeli ve aynı program davranışına yol açmalıdır.
    • Platforma bağlı veya evrensel olmayan özelliklerden kaçının.
    • “Kullanmadığınız şey için ödeme yapmayın” - hiçbir dil özelliği, onu kullanmayan programların performansında düşüşe yol açmamalıdır.
    • Aşırı karmaşık bir programlama ortamı gerektirmez.

    C ve C++

    C++ sözdizimi C dilinden miras alınmıştır. Her ne kadar resmi olarak C++ ilkelerinden biri C diliyle uyumluluğu sürdürmeye devam etse de, aslında bu diller için standardizasyon grupları etkileşimde bulunmaz ve yaptıkları değişiklikler sadece birbiriyle ilişkili değildir, ancak çoğu zaman ideolojik olarak birbirleriyle temelde çelişir. Dolayısıyla yeni C standartlarının çekirdeğe eklediği öğeler, standart kütüphanenin C++ standart öğelerinde yer alır ve çekirdekte hiç yer almaz; örneğin dinamik diziler, sabit sınırları olan diziler, paralel işlem olanakları. Stroustrup'a göre bu iki dilin gelişimini birleştirmek büyük fayda sağlayacak ancak siyasi nedenlerden dolayı bunun mümkün olması pek mümkün değil. Dolayısıyla C ve C++ arasındaki pratik uyumluluk yavaş yavaş kaybolacak.
    Bu örnekte, kullanılan derleyiciye bağlı olarak “C++” veya “C” çıktısı alınacaktır:

    Program 9.1

    #katmak int main() ( printf("%s\n", (sizeof("a") == sizeof(char)) ? "C++" : "C"); return 0; )

    Bunun nedeni, C'deki karakter sabitlerinin int türünde, C++'da ise char türünde olması, ancak bu türlerin boyutlarının farklı olmasıdır.

    Uygulama Yaşam Döngüsü Modelleri

    Yaşam döngüsü yazılım, bir yazılım ürününün oluşturulmasının gerekliliğine karar verildiği andan itibaren başlayan ve tamamen hizmetten kaldırıldığı anda sona eren bir süredir. Bu döngü yazılım oluşturma ve geliştirme sürecidir. Birkaç yaşam döngüsü modeli vardır.
    Kademeli model yaşam döngüsü (İngiliz şelale modeli) 1970 yılında Winston Royce tarafından önerildi. Projenin tüm aşamalarının kesin olarak sabit bir sırayla sıralı olarak uygulanmasını sağlar. Bir sonraki aşamaya geçiş, bir önceki aşamadaki işin tamamen tamamlanması anlamına gelir. Gereksinimlerin oluşturulması aşamasında belirlenen gereksinimler, teknik şartname şeklinde sıkı bir şekilde belgelenir ve projenin tüm gelişimi boyunca kayıt altına alınır. Her aşama, geliştirmenin başka bir geliştirme ekibi tarafından sürdürülmesine izin vermeye yetecek eksiksiz bir belge setinin yayınlanmasıyla sonuçlanır.
    Şelale modeline göre proje aşamaları:

    1. Gereksinimlerin oluşumu;
    2. Tasarım;
    3. Uygulama;
    4. Test yapmak;
    5. Uygulama;
    6. Operasyon ve bakım.

    Kademeli modelde bir proje aşamasından diğerine geçiş, önceki aşamanın sonucunun tamamen doğru olduğunu varsayar. Büyük projelerde bunu başarmak neredeyse imkansızdır. Bu nedenle bu model yalnızca küçük bir proje geliştirmek için uygundur. (W. Royce'un kendisi bu modele bağlı kalmadı ve yinelenen bir model kullandı).
    Yinelemeli model
    Kademeli modele bir alternatif, 70'lerde T. Gilb'den alınan yinelemeli ve artımlı geliştirme (IID) modelidir. evrimsel modelin adı. IID modeli, proje yaşam döngüsünü, bir bütün olarak projeyle karşılaştırıldığında daha küçük işlevsellik parçalarının oluşturulmasına uygulanan tüm geliştirme süreçlerini içeren, her biri bir "mini projeye" benzeyen bir yineleme dizisine bölmeyi içerir. Her yinelemenin amacı, tüm önceki ve mevcut yinelemelerin entegre içeriği tarafından tanımlanan işlevsellik de dahil olmak üzere, yazılım sisteminin çalışan bir sürümünü elde etmektir. Son yinelemenin sonucu, ürünün gerekli tüm işlevlerini içerir. Böylece, her yinelemenin tamamlanmasıyla birlikte ürün, yeteneklerinde bir artış - bir artış - alır ve bu nedenle, evrimsel olarak gelişir.


    Yinelemeli yaklaşımın çeşitli varyantları çoğu modern geliştirme metodolojisinde uygulanmaktadır:

    Geliştirme Süreci - Rasyonel Birleşik Süreç (RUP)

    Rasyonel Birleşik Süreç (RUP)(rasyonel birleşik süreç), Rational Software (IBM) tarafından sağlanan bir yazılım geliştirme metodolojisidir. Metodoloji, geliştirmenin tüm aşamaları için öneriler sağlar: iş modellemeden bitmiş programın test edilmesine ve devreye alınmasına kadar. Birleşik Modelleme Dili (UML) modelleme dili olarak kullanılır.
    Ürün geliştirme yaşam döngüsünün tamamı, her biri bir veya daha fazla yineleme içeren dört aşamadan oluşur.

    • Başlangıç ​​aşaması (Başlangıç)
    • Proje kapsamının ve gerekli kaynak miktarının belirlenmesi. Ürünün temel gereksinimleri, sınırlamaları ve temel işlevleri belirlenir. Riskler değerlendirilir. Eylem planlaması. İlk aşamanın sonunda, paydaşlar arasında projeye devam etmek için bir anlaşma yapılmasını gerektiren Yaşam Döngüsü Hedefi Kilometre Taşına ulaşılıp ulaşılmadığı değerlendirilir.

    • Açıklama
    • Gereksinimlerin belgelenmesi. Yürütülebilir mimarinin tasarımı, uygulanması ve test edilmesi. Şartların ve maliyetlerin açıklanması. Temel risklerin azaltılması. Geliştirme aşamasının başarıyla tamamlanması, Yaşam Döngüsü Mimarisi Dönüm Noktasına ulaşmak anlamına gelir.

    • Yapı
    • "Oluşturma" aşamasında ürünün işlevlerinin çoğu uygulanır: uygulama tasarımı tamamlanır, kaynak kodu yazılır. Oluşturma aşaması, sistemin ilk harici sürümü ve İlk Operasyonel Yetenek kilometre taşıyla sona erer.

    • giriiş
    • “Uygulama” aşamasında ürünün son hali oluşturularak geliştiriciden müşteriye aktarılır. Buna bir beta test programı, kullanıcı eğitimi ve ürünün kalitesinin belirlenmesi dahildir. Kalitenin kullanıcı beklentilerini veya Başlangıç ​​aşamasında belirlenen kriterleri karşılamaması durumunda Uygulama aşaması tekrar tekrarlanır. Tüm hedefleri tamamlamak, Ürün Sürümü kilometre taşına ulaşmak ve geliştirme döngüsünün tamamını tamamlamak anlamına gelir.



    "Bilgi Teknolojisi. Sistem ve yazılım mühendisliği. Yazılım yaşam döngüsü süreçleri". Bu standart, Rusya Federasyonu Federal Teknik Düzenleme ve Metroloji Ajansı tarafından benimsenmiştir ve uluslararası ISO/IEC 12207:2008 standardına benzer. Bu standart, yazılım sektöründe takip edilebilecek yazılım yaşam döngüsü süreçlerinin genel yapısını oluşturur. Standart belirli bir yaşam döngüsü modeli önermemektedir. Hükümleri, yazılım oluşturmaya yönelik tüm yaşam döngüsü modelleri, yöntemleri ve teknolojileri için ortaktır. Yaşam döngüsü süreçlerinin yapısını, bu süreçlerde yer alan faaliyetlerin ve görevlerin nasıl uygulanacağını veya tamamlanacağını belirtmeden açıklar.

    Ders için sunum
    Mesaj konuları
    • Özgür Yazılım Vakfı (FSF)
    • Özgür yazılım lisansları
    • Ücretsiz Yazılım ve Açık Kaynak
    • Programlama dillerinin gelişim tarihi
    • C dilinin tarihi: C ve C++
    • Hikaye
    • C++'a yönelik eleştiri
    • UNIX'in Tarihi
    • Spiral yazılım yaşam döngüsü modeli
    • UML (Birleşik Modelleme Dili)
    • Microsoft Çözüm Çerçevesi
    • Windows'ta C/C++ programlama için IDE
    • C/C++ derleyicileri
    • Windows'ta Konsol Uygulaması Oluşturma
    Sorular
    1. Yazılım geliştirmede şelale modeli neden büyük projelerde kullanılmıyor?
    2. Şelale ve yinelemeli geliştirme modelleri arasındaki fark nedir?
    3. Rational Unified Process (RUP) metodolojisinde yazılım geliştirmenin aşamalarını listeleyin