فهرست مطالب:

پروژه Sandbox: محاسبه و تفسیر BAC: 6 مرحله
پروژه Sandbox: محاسبه و تفسیر BAC: 6 مرحله

تصویری: پروژه Sandbox: محاسبه و تفسیر BAC: 6 مرحله

تصویری: پروژه Sandbox: محاسبه و تفسیر BAC: 6 مرحله
تصویری: CS50 2014 - Week 9, continued 2024, جولای
Anonim
پروژه Sandbox: محاسبه و تفسیر BAC
پروژه Sandbox: محاسبه و تفسیر BAC

نویسنده: Haarika Gogineni ، Hana Schlosser و Benedict Uiseco

در این پروژه ، ما سعی می کنیم غلظت الکل خون (BAC) را بر اساس تعداد نوشیدنی ها ، وزن و جنسیت افراد محاسبه کنیم. پس از خروج BAC محاسبه شده ، ما اثرات آن سطح BAC خاص بر اندام ها و سیستم های اصلی بدن و ویژگی های فیزیکی آن را بیان می کنیم. ما همچنین BAC را مجدداً تنظیم می کنیم تا تعداد ساعات مورد نظر برای تجزیه الکل و هوشیاری کامل را محاسبه کند.

مرحله 1: شناسایی تعداد نوشیدنی ها (برای حلقه)

شناسایی تعداد نوشیدنی ها (برای حلقه)
شناسایی تعداد نوشیدنی ها (برای حلقه)
  1. کد را با استفاده از توابع "clear" و "clc" برای پاکسازی پنجره فرمان و فضای کاری از کارهای قبلی شروع کنید
  2. از عملکرد "ورودی" برای چاپ در پنجره فرمان استفاده کنید ، و باعث می شود سوژه تعداد نوشیدنی های مختلف مصرف شده را وارد کند.
  3. اگر متغیر "NumberofDrinks" بزرگتر از 1 است ، از "for loop" برای سوژه استفاده کنید تا درصد الکل و انس الکل را در هر نوع نوشیدنی وارد کنید. سپس از این متغیرها برای محاسبه کل مصرف الکل توسط آزمودنی استفاده می شود.

مرحله 2: تعریف متغیرهای دیگر (ورودی ، اگر/دیگری)

تعریف متغیرهای دیگر (ورودی ، اگر/دیگری)
تعریف متغیرهای دیگر (ورودی ، اگر/دیگری)
  1. دوباره از عملکرد "ورودی" استفاده کنید تا سوژه را وادار به وارد کردن وزن (پوند) و تعداد ساعات سپری شده از زمان نوشیدن کنید. هر دو عامل بر تجزیه الکل در خون تأثیر می گذارد.
  2. از تابع "ورودی" استفاده کنید تا به سوژه اجازه دهید جنسیت خود را وارد کند.
  3. این تابع را با یک عبارت "if/elseif" که یک ثابت خاص به هر جنسیت اختصاص می دهد ، تکمیل کنید. تابع "strcmp" متغیر را با رشته مقایسه می کند و اگر متغیر وارد شده "مرد" یا "زن" نباشد ، یک عبارت "else" ایجاد می کند که ERROR را خروجی می دهد.

مشکلی که ما داشتیم: یکی از مشکلاتی که ما داشتیم این بود که سعی کردیم یک اپراتور منطقی برای متغیر "جنسیت" ایجاد کنیم. اگر "جنسیت =" مرد "یا" جنس = "زن" را بنویسیم ، کد به درستی کار نخواهد کرد. بدون در نظر گرفتن این که جنسیت صحیح بود یا خیر ، به مرد باز می گردد. مشکل این بود که در عبارات "else" امکان وجود یک متغیر برابر یک رشته وجود نداشت. در نتیجه ما مجبور شدیم تابع را به "strcmp" - تابع مقایسه رشته - که باعث پیشرفت کد می شود ، تغییر دهیم.

مرحله 3: معادله ای برای محاسبه BAC تعریف کنید

معادله ای برای محاسبه BAC تعریف کنید
معادله ای برای محاسبه BAC تعریف کنید

از فرمول موجود در تحقیقات برای ایجاد معادله برای یافتن BAC با توجه به متغیرهای ایجاد شده در مراحل قبلی استفاده کنید

مرحله 4: تفسیر BAC به نتایج آشکار در بدن انسان (در صورت/elseif)

تفسیر BAC به نتایج آشکار در بدن انسان (در صورت/elseif)
تفسیر BAC به نتایج آشکار در بدن انسان (در صورت/elseif)
تفسیر BAC به نتایج آشکار در بدن انسان (در صورت/elseif)
تفسیر BAC به نتایج آشکار در بدن انسان (در صورت/elseif)
تفسیر BAC به نتایج آشکار در بدن انسان (در صورت/elseif)
تفسیر BAC به نتایج آشکار در بدن انسان (در صورت/elseif)
  1. یک عبارت "if/elseif" ایجاد کنید که از عملگرهای لجستیک (> ، <، == ، ~ ، &) برای نمایش resut مربوطه با توجه به مقدار BAC محاسبه شده که متناسب با دستور لجستیک انتخاب شده است ، استفاده کنید.
  2. از تابع "fprintf" برای چاپ مقدار BAC و اثرات ناشی از آن سطح بر بدن بر اساس تحقیقات بر روی پنجره فرمان استفاده کنید.
  3. این مراحل را برای همه محدوده های اصلی BAC با اثرات متفاوت تکرار کنید

مرحله 5: تعداد ساعات قبل از هوشیاری موضوع را محاسبه کنید

تعداد ساعات قبل از هوشیاری موضوع را محاسبه کنید
تعداد ساعات قبل از هوشیاری موضوع را محاسبه کنید
  1. تنظیم مجدد فرمول BAC از مرحله 2 برای یافتن تعداد ساعت ها تا زمان هوشیاری موضوع (BAC = 0)
  2. با توجه به فرمول ، تعداد ساعت ها را محاسبه کرده و با استفاده از تابع "fprintf" این داده ها را در پنجره فرمان چاپ کنید

مرحله 6: نتایج و تفسیر

نتایج و تفسیر
نتایج و تفسیر

پس از نوشتن کد و وارد کردن مقادیر مربوط به سوالات ، تعداد نوشیدنی ها ، درصد الکل ، وزن ، جنسیت و غیره ، روی "اجرا" کلیک کنید و نتایج خود را بدست آورید. BAC همراه با یک پاراگراف که اثرات BAC محاسبه شده را توضیح می دهد ، نشان داده می شود. یک بیانیه چاپ شده دیگر به شما ساعت های مورد نیاز را می دهد تا به متانت کامل برسید

* توجه: از آنجا که پاراگراف تفسیرها طولانی است ، برای خواندن کل پیام باید به سمت راست حرکت کنید.

توصیه شده: