cemkaraca

Yetkin
Katılım
26 Temmuz 2024
Mesajlar
2.709
Çözümler
11
Beğeniler
1.485

Dik kenar uzunlukları verilen dik üçgende hipotenüsü bulan programın algoritmasını yazar mısınız?
 
Son düzenleyen: Moderatör:
Hangi dille? Veya ne kadar detaylı? En basit bu şekilde olur.
C++:
#include <iostream>
#include <cmath>
using namespace std;

int main() {
    float kenarA, kenarB;
    int kareToplam;
    
    cout << "Birinci dik kenar: ";
    cin >> kenarA;
    cout << "İkinci dik kenar: ";
    cin >> kenarB;
    
    kareToplam = kenarA * kenarA + kenarB * kenarB;
    float hipo = sqrt(kareToplam);
    
    // Tam kare mi bakmak için değilse koklu olarak ta gostersin
    if (hipo == (int)hipo) {
        cout << "Hipotenus: " << (int)hipo << endl;
    } else {
        cout << "Hipotenus: √" << kareToplam << " = " << hipo << endl;
    }
    
    return 0;
}
 
Çok temel ve hocadan hocaya yüzlerce cevabı olabilecek bir soru. Derste ne gördüyseniz öyle yapın. Algoritma deyip pseudo code bekleyen oluyor, akış şeması bekleyen oluyor, sözlü açıklama bekleyen oluyor.

Dümdüz kod yazan bile oluyormuş.
Sözlü algoritma olacak hocam. Adım 1: Başla Adım 2: gir sayi1 gir gibi. Ama bir türlü hipotenüsü hesaplamayı yazdıramadı algoritma dilinde. Karekök al diyor algoritma dilinde nasıl alacağım.

Hangi dille? Veya ne kadar detaylı? En basit bu şekilde olur.
C++:
#include <iostream>
#include <cmath>
using namespace std;

int main() {
    float kenarA, kenarB;
    int kareToplam;
   
    cout << "Birinci dik kenar: ";
    cin >> kenarA;
    cout << "İkinci dik kenar: ";
    cin >> kenarB;
   
    kareToplam = kenarA * kenarA + kenarB * kenarB;
    float hipo = sqrt(kareToplam);
   
    // Tam kare mi bakmak için değilse koklu olarak ta gostersin
    if (hipo == (int)hipo) {
        cout << "Hipotenus: " << (int)hipo << endl;
    } else {
        cout << "Hipotenus: √" << kareToplam << " = " << hipo << endl;
    }
   
    return 0;
}
Bu şekilde değildi maalesef algoritma dedim sözlü olarak.
 
Yarısını yazdınız zaten.
  1. Başla.
  2. Birinci dik kenar uzunluğunu a olarak al.
  3. İkinci dik kenar uzunluğunu b olarak al.
  4. a'nın karesini hesapla (a^2).
  5. b'nin karesini hesapla (b^2).
  6. a^2 ile b^2'yi topla.
  7. Elde edilen toplamın karekökünü al ve sonucu c olarak adlandır.
  8. c'yi ekrana yazdır.
  9. Bitir.
Çok takmayın, derste gösterdiğine uygun olacak şekilde yazın bir şey gitsin. Gerçek hayatta hiçbir işinize yaramayacak. Anca Scratch öğrenen çocuklara yarar. Göreceğiniz algoritma pseudocode şeklinde olur.
 
Yarısını yazdınız zaten.
  1. Başla.
  2. Birinci dik kenar uzunluğunu a olarak al.
  3. İkinci dik kenar uzunluğunu b olarak al.
  4. a'nın karesini hesapla (a^2).
  5. b'nin karesini hesapla (b^2).
  6. a^2 ile b^2'yi topla.
  7. Elde edilen toplamın karekökünü al ve sonucu c olarak adlandır.
  8. c'yi ekrana yazdır.
  9. Bitir.
Çok takmayın, derste gösterdiğine uygun olacak şekilde yazın bir şey gitsin. Gerçek hayatta hiçbir işinize yaramayacak. Anca Scratch öğrenen çocuklara yarar. Göreceğiniz algoritma pseudocode şeklinde olur.
İşte hocaya anlatamıyorsunuz. Bende biliyorum bunların birde "akış şemasının" işe yaramayacağını. Ama bunları vize de soracakmış o yüzden çalışıyorum.

Teşekkür ederim bu arada.