11 Şubat 2016 Perşembe

Sizden Gelen Sorular : Yıldızlar ile dik üçgen algoritması ve kodlaması Java, C, C#

Merhabalar yazılımcı arkadaşlarım. Bir soru aldım. Arkadaşımızın sorusu bir algoritma sorusu ve java yazılım dili ile ilgili ama unutmayın ki bizim sayfamızda bir algoritma birden çok yazılım dili ile çözülür ve anlatılır.

Arkadaşımız aşağıya yazdığım konsol çıktısını kod ile konsola yazdırmak için for döngüsü kullanmamızı istedi. 

Biliyorsunuz ki ben yakın zamanda for döngüsüyle ilgili bu makalede yazacağımız koda oldukça benzeyen bir kod yazıp açıklamıştık. Bahsettiğim makaleye buraya tıklayarak ulaşabilirsiniz. Bahsettiğim makaledeki kodun daha kolaylaştırılmış ( Sadeleştirilmiş ) halini ise bu makalemde yapmayı planlıyorum.

Hadi başlayalım.
Arkadaşımızın istediği konsol çıktısı :
*
**
***
****
*****

İşte bu çıktının algoritması :

Başta algoritma çıktısı 5 satırdan oluşuyor bu yüzden 5 satır konsol çıktısı verecek algoritma ve kod yazıp açıklayalım :
  • Algoritma :
Uygulama Başlar > Bir for döngüsü oluşturulur > Bu döngünün 5 kere dönmesi sağlanılır > Uygulama biter.
  • Kod ve açıklaması :

// Arda Mavi

for(int i = 0; i<=5;i++){
// i bir tamsayı ve 0 değerine eşit.
// Döngü i, 5'e eşit ya da 5'den küçük olana kadar devam edecek.
// i sayısı her tekrarda 1 arttırılacak.

}
Daha sonra her satır için, bulunduğu satır sayısı kadar yıldız  atacağız.
Örneğin kodun okunma sırası 2. satırda ise iki tane yıldız atılacak :

  • Algoritma :

Uygulama Başlar > Bir for döngüsü oluşturulur > Bu döngünün 5 kere dönmesi sağlanılır > Her döngüde satır sayısı kadar tekrarlanacak bir döngü daha oluşturulur. > Uygulama biter.

Ve yazdığımız algoritmanın ve kodun anlatımıyla birlikte son hali :



// Arda Mavi

public class javaİleDikÜçgenYapımı {

public static void main(String[] args) {

for(int a=0;a<5;a++){
// Döngünün beşkere dönmesini sağlayan döngü.
// a bir tamsayı ve 0 değerine eşit.
// Döngü a, 5'den küçük olduğu sürece döngü tekrar edecek.
// a sayısı her tekrarda 1 arttırılacak.

for(int b=0;b<=a;b++){
// Kaçıncı satır ise o kadar dönen döngü.
// Örneğin : ikinci satırda ikikere dönecek.
// b bir tamsayı ve 0 değerine eşit.
// Döngü b, a'ya eşit ya da a'dan küçük olduğu sürece döngü tekrar edecek.
// b sayısı her tekrarda 1 arttırılacak.

System.out.print("*");
// Ekrana " * " işareti yazdırılacak.

}
System.out.print("\n");
// Yeni bir satıra geçilecek

}
}
}


Algoritma, kod ve açıklamaların C yazılım dili ile yazılmış hali :

//
// main.c
// javaİleDikÜçgenYapımı
//
// Created by Arda Mavi on 11.02.2016.
// Copyright © 2016 Arda Mavi. All rights reserved.
//

#include

int main(int argc, const char * argv[]) {

for(int a=0;a<5;a++){
// Döngünün beşkere dönmesini sağlayan döngü.
// a bir tamsayı ve 0 değerine eşit.
// Döngü a, 5'den küçük olduğu sürece döngü tekrar edecek.
// a sayısı her tekrarda 1 arttırılacak.

for(int b=0;b<=a;b++){
// Kaçıncı satır ise o kadar dönen döngü.
// Örneğin : ikinci satırda ikikere dönecek.
// b bir tamsayı ve 0 değerine eşit.
// Döngü b, a'ya eşit ya da a'dan küçük olduğu sürece döngü tekrar edecek.
// b sayısı her tekrarda 1 arttırılacak.

printf("*");
// Ekrana " * " işareti yazdırılacak.

}
printf("\n");
// Yeni bir satıra geçilecek

}


return 0;
}


Algoritma, kod ve açıklamaların C# yazılım dili ile yazılmış hali :


// Arda Mavi

using System;

namespace javaİleDikÜçgenYapımı
{
class MainClass
{
public static void Main (string[] args)
{

for(int a=0;a<5;a++){
// Döngünün beşkere dönmesini sağlayan döngü.
// a bir tamsayı ve 0 değerine eşit.
// Döngü a, 5'den küçük olduğu sürece döngü tekrar edecek.
// a sayısı her tekrarda 1 arttırılacak.

for(int b=0;b<=a;b++){
// Kaçıncı satır ise o kadar dönen döngü.
// Örneğin : ikinci satırda ikikere dönecek.
// b bir tamsayı ve 0 değerine eşit.
// Döngü b, a'ya eşit ya da a'dan küçük olduğu sürece döngü tekrar edecek.
// b sayısı her tekrarda 1 arttırılacak.

Console.Write("*");
// Ekrana " * " işareti yazdırılacak.

}
Console.Write("\n");
// Yeni bir satıra geçilecek

}

}
}
}


Kodların konsol çıktıları :
*
**
***
****
*****

Sizlerde sorularınızı sayfamızdaki iletişim bölümünden sorabilirsiniz. Değerli yorumlarınızı bekliyorum.

Share this

1 Response to "Sizden Gelen Sorular : Yıldızlar ile dik üçgen algoritması ve kodlaması Java, C, C#"