İçindekiler:
- Adım 1: İçecek Sayısının Belirlenmesi (döngü için)
- Adım 2: Diğer Değişkenleri Tanımlayın (giriş, If/else)
- Adım 3: BAC'yi Hesaplamak için Bir Denklem Tanımlayın
- Adım 4: BAC'yi İnsan Vücudunda Açıklanan Sonuçlara Yorumlayın (if/elseif)
- Adım 5: Deneğin Ayık Olmadan Önce Geçen Saat Sayısını Hesaplayın
- Adım 6: Sonuçlar ve Yorumlama
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Haarika Gogineni, Hana Schlosser ve Benedict Uiseco tarafından
Bu projede, bir kişinin içki sayısı, kilosu ve cinsiyetine göre Kan Alkol Konsantrasyonunu (BAC) hesaplamaya çalışacağız. Hesaplanan BAC'yi çıktıktan sonra, o belirli BAC seviyesinin vücuttaki ana organlar ve sistemler ve fiziksel özellikleri üzerindeki etkilerini belirteceğiz. Ayrıca, deneğin alkolü parçalaması ve tamamen ayık olması için saat sayısını hesaplamak için BAC'yi yeniden düzenleyeceğiz.
Adım 1: İçecek Sayısının Belirlenmesi (döngü için)
- Komut penceresini ve çalışma alanını önceki çalışmadan temizlemek için "temizle" ve "clc" işlevlerini kullanarak kodu başlatın.
- Konudan tüketilen farklı içecek sayısını girmesini isteyen komut penceresine yazdırmak için "giriş" işlevini kullanın.
- "NumberofDrinks" değişkeni 1'den büyükse, denekten her içecek türündeki alkol içeriği yüzdesini ve ons alkol miktarını girmesini istemek için bir "for döngüsü" kullanın. Bu değişkenler daha sonra denek tarafından toplam alkol tüketimini hesaplamak için kullanılır.
Adım 2: Diğer Değişkenleri Tanımlayın (giriş, If/else)
- Özneden ağırlığını (lbs) ve içtikten sonra geçen saat sayısını girmesini istemek için "giriş" işlevini tekrar kullanın; her iki faktör de kandaki alkolün parçalanmasını etkiler.
- Öznenin cinsiyetini girmesine izin vermek için "giriş" işlevini kullanın.
- Bu işlevi, her bir cinsiyete belirli bir sabit atayan bir "if/elseif" ifadesi ile tamamlayın. "strcmp" işlevi, değişkeni dizeyle karşılaştırır ve girilen değişken 'male' veya 'female' değilse, ERROR veren bir "else" ifadesi oluşturun.
Karşılaştığımız sorun: "Cinsiyet" değişkeni için mantıksal bir operatör oluşturmaya çalıştığımızda karşılaştığımız sorunlardan biri oldu. "gender = 'male'" veya "gender = 'female'" yazarsak kod düzgün çalışmayacaktır; doğru cinsiyet olup olmadığına bakılmaksızın erkeğe dönecekti. Sorun, "else" ifadelerinde bir dizgeye eşit bir değişkene sahip olmanın mümkün olmamasıydı. Sonuç olarak, işlevi "strcmp" - dize karşılaştırma işlevi - olarak revize etmek zorunda kaldık, bu da kodun ilerlemesine izin verdi.
Adım 3: BAC'yi Hesaplamak için Bir Denklem Tanımlayın
Önceki adımlarda oluşturulan değişkenler için verilen BAC'yi bulmak için bir denklem geliştirmek için araştırmada bulunan formülü kullanın
Adım 4: BAC'yi İnsan Vücudunda Açıklanan Sonuçlara Yorumlayın (if/elseif)
- Seçilen lojistik ifadeye uyan hesaplanmış BAC değerine göre karşılık gelen sonucu görüntülemek için lojistik operatörleri (>, <, ==, ~, &) kullanan bir "if/elseif" ifadesi oluşturun.
- "fprintf" işlevini komut penceresine BAC değerini ve bu düzeyin vücut üzerindeki sonuç etkilerini ve araştırmaya dayalı tezahürlerini yazdırmak için kullanın.
- Değişken efektlerle tüm ana BAC aralıkları için bu adımları tekrarlamaya devam edin
Adım 5: Deneğin Ayık Olmadan Önce Geçen Saat Sayısını Hesaplayın
- Konunun ayık olmasına kadar geçen saat sayısını bulmak için 2. Adımdaki BAC Formülünü yeniden düzenleyin (BAC = 0)
- Bu formül göz önüne alındığında, saat sayısını hesaplayın ve bu verileri "fprintf" işlevini kullanarak komut penceresine yazdırın.
Adım 6: Sonuçlar ve Yorumlama
Kodu yazıp sorulan sorular, içki sayısı, alkol yüzdesi, kilo, cinsiyet vb. değerleri girdikten sonra "Çalıştır"a tıklayın ve sonuçlarınızı alın. BAC, hesaplanan BAC'nin etkilerini açıklayan bir paragrafla birlikte gösterilecektir. Basılı başka bir ifade, tam ayıklığa ulaşana kadar size gereken saat sayısını verecektir
* NOT: Yorum paragrafı uzun olduğu için mesajın tamamını okumak için sağa kaydırmanız gerekecektir.