برنامهنویسی رایانه فرایند سوق دادن ساختار اصلی یک مسئله محاسباتی به برنامهای قابل اجرا است. این کار مستلزم فعالیتهایی همچون تحلیل و درک مسئله است و عموماً حل چنین مسائلی به ایجاد یک الگوریتم منجر میشود. الگوریتم اغلب تنها به شکل قابل تجزیه و تحلیل برای انسان و قابل استدلال با منطق نمایش داده میشود.
کد منبع به یک یا چند زبان برنامهنویسی، مانند جاوا اسکریپت، اسمالتاک، پایتون، جاوا، سی شارپ، سی پلاسپلاس و سی نوشته میشود.
برنامهنویسی کامپیوتری فرآیند ایجاد توالی یک دستوالعمل است تا کامپیوتر را به انجام کاری وادار کند. شما میتوانید به برنامههای خود به عنوان رشتهای از دستوالعملها نگاه کنید. برنامهنویسی یک راه برای دادن دستوالعمل به کامپیوتر است. در داخل یک کامپیوتر این دستورالعملها را به عنوان یک سری از اعداد (به عنوان کد ماشین معروفاند) کدگذاری میکند. دستورالعملهای قابل خواند انسان (برنامههای نوشته شده)، یک کد منبع (Source Code) نامیده میشوند و کامپیوتر این دستورالعمل ها را به کد ماشین تبدیل میکند و پس از آن می تواند آن را بخواند و اجرا کند. یک رشتهای از دستورالعملهایی (کد) که برای انجام یک کار خاص نوشته شده است، یک برنامه نامیده میشود و مجموعهای از این برنامهها و دادههای مربوط به آن نرم افزار است.
در سرفصل دروس کارشناسی مهندسی عمران، درس برنامهنویسی گنجانده شده است که بسته به نوع دانشگاه یکی از زبانهای ++C، فورترن یا QBasic به دانشجویان آموزش داده میشود که این امر بیانگر اهمیت این علم در مهندسی عمران میباشد.
و اما این علم در چه حیطهای از دایرهی فعالیتهای یک مهندس عمران کاربرد دارد؟ در ادامه به پاسخ این سوال میپردازیم.
کاربرد برنامه نویسی در عمران
تهیه نرمافزارهای طراحی و محاسبات
تهیه نرمافزارهای تخصصی
تهیه اپلیکیشنهای تخصصی تلفن همراه و تبلت
تهیه برنامههای ماشین حساب
حل مسائل درسی
حل مدلهای عددی
در مجموع کاربرد عمده برنامه نویسی در حل مسائل عددی پیچیده ایست که حل دستی آنها بسیار پیچیده و یا در مواردی بدون کدهای برنامه نویسی غیر ممکن میباشد و به عنوان یک ابزار کارآمد به کمک متخصصین بویژه محققین در این حوزه میآید.
نرم افزارهای کاربردی در حل مسائل مهندسی عمران
نرم افزار ++C، عمومیت زبان C++ در میان زبانهای برنامهنویسی بسیار بالا است و میتواند به عنوان اولین زبان نیز یاد گرفته شود و به پیش نیاز دیگر احتیاج نباشد. ++C (سی پلاسپلاس) یک زبان برنامهنویسی رایانهای همهمنظوره، شیءگرا، عمومی و با قابلیتهای سطح بالا و سطح پایین میباشد. ++C به همراه جد خود C از پرطرفدارترین زبانهای برنامهنویسی تجاری هستند.
نرم افزار FORTRAN، زبان برنامهنویسی مفسری است این زبان برنامه نویسی، زبانی ساده و محاسباتی است و پروژههای بسیاری از رشتههای فنی مهندسی به کمک این زبان نوشته و اجرا شدهاست.
این زبان در دهه۱۹۵۰ در شرکت آیبیام توسط ۲۵ نفر از دانشمندان برجستهٔ رایانه به سرپرستی جان بکوس طراحی شد. فورترن اولین زبان برنامه نویسی سطح بالا است. نسخههای اخیر فورترن بر خلاف نسخههای قدیمی دارای قابلیتهای شیگرایی هستند. فورترن دومین زبانی بود که از سوی انسی (ANSI) استاندارد شد.
نرم افزار QBasic، توسعه یافته basic میباشد. این زبان برنامه نویسی که زبانی ساده و در عین حال قدرتمند برای آموزش مفاهیم برنامه نویسی است. این زبان برای برنامههای ساده طراحی شده است و از آنجا که کار با این زبان ساده و آسان بود بسیار مورد توجه دانشآموزان و دانشجویان قرار گرفت. سالها پس از عرضه این زبان، با سرمایهگذاری مایکروسافت بیسیک به کیو بیسیک ارتقا پیدا کرد. کلمه BASIC مخفف عبارت Beginner’s All-purpose Symbolic Instruction Code به معنای “کد حاوی دستورات نمادین همه منظوره مخصوص نوآموزان” میباشد و علت اصلی ایجاد این زبان را میتوان در پیچیدگیهای زبانهای متداول از قبیل Fortran ، Assembly و غیره جستجو کرد. در واقع میتوان گفت نرم افزار برنامه نویسی Microsoft Qbasic، برای برنامهنویسی با زبان بیسیک طراحی و ساخته شده است.
نرم افزار #C (سیشارپ)، زبانی شیءگرا و سطح بالا (high level) از خانواده زبانهای چارچوب داتنت شرکت مایکروسافت است و برپایه سادگی، مدرن بودن، همه منظوره و شی گرا بودن ساخته شد. زبان #C، یک زبان برنامه نویسی چند الگویی است و منظم شده مدلهای تابعی، امری، عمومی، شی گرا و جز گرا میباشد. این زبان توسط ماکروسافت و جزئی از دات نت به وجود آمد و #C یکی از ۴۴ زبان برنامهنویسیای است که توسط Common Language Runtime از .NET Framework پشتیبانی میشوند و در همه جا به وسیله مایکروسافت ویژوال استودیو شناخته میشود.
نرم افزار Matlab (متلب)، یک نرم افزار قوی جهت دانشجویان و محققین رشتههای ریاضی و مهندسی است که اولین نگارش آن در دانشگاه نیومکزیکو و استانفورد در سال ١٩٧٠ در جهت حل مسائل تئوری ماتریسها، جبر خطی و آنالیز عددی بوجود آمد و امروزه صدها هزار کاربر دانشگاهی، آکادمیک، صنعتی و … در زمینههای بسیار متنوع مهندسی نظیر ریاضیات پیشرفته، جبر خطی، مخابرات، مهندسی سیستم و … با MATLAB بعنوان یکی از اولین محیطهای محاسباتی و تکنیکی که قادر به حل مسائل آنهاست، آشنا میشوند. ریاضیات، زبان مشترک بسیاری از علوم مهندسی است. ماتریسها، معادلات دیفرانسیل، رشتههای عددی اطلاعات، ترسیمات و گرافها از لوازم اصلی بکار گرفته در ریاضیات و نیز در MATLAB هستند. MATLAB اکنون یک سیستم مؤثر و زبان برنامهنویسی بسیاری از محاسبات علمی و مهندسی است.
نرم افزار JavaScript، جاوا اسکریپت زبانی است که توسط NetScape تولید شده است. این زبان اسکریپت نویسی مبتنی بر اشیاء است که بر اساس استاندارد ECMA-262 Edition 3 نوشته شده است. علیرغم اشتباه عمومی زبان جاوا اسکریت با زبان جاوا ارتباطی ندارد، اگر چه ساختار این زبان به سی پلاس پلاس(C++) و جاوا شباهت دارد؛ که این امر برای سهولت یادگیری در نظر گرفته شده است. از همین رو دستورهای متداول مانند if, for, try..catch و … در این زبان هم موجود میباشد.این زبان میتواند هم به صورت ساخت یافته و هم به صورت شی گرا مورد استفاده قرار گیرد. در این زبان اشیاء با اضافه شدن متدها و خصوصیات پویا به اشیای خالی ساخته میشوند، بر خلاف جاوا. بعد از ساخته شدن یک شی به روش فوق، این شی میتواند به عنوان نمونهای برای ساخته شدن اشیای مشابه مورد استفاده قرار گیرد. به علت این قابلیت زبان جاوا اسکریپت برای ساختن نمونه از سیستم مناسب است. کاربرد گسترده این زبان در سایتها و صفحات اینترنی است و به کمک این زبان میتوان به اشیاء داخل صفحات HTML دسترسی پیدا کرد و آنها را تغییر داد. به همین علت برای پویانمایی در سمت کاربر از این زبان استفاده میشود.
در مجموع، قبل از انتخاب زبان برنامهنویسی باید هدف خود را از برنامهنویسی مشخص کنید. برنامهنویسی جنبههای مختلف داره که میتوان به جنبههای تجاری و علمی اشاره کرد. اگر هدف شما فقط جهت انجام محاسبات، انجام تحقیقات و پروژههای علمی را دارد و نیازی به تجاری سازی آن نیست، بهترین گزینه همان زبان MATLAB هست زیرا حاوی جعبه ابزار قدرتمندی است. زبان C++ یکی از قویترین و محبوبترین زبانهای برنامهنویسی است که یک زبان سطح میانی محسوب میشود. زبان سی شارپ که زبان کامل شیگرای و مدیریت شده است، با استفاده از قابلیتهای این زبان میتوان نرمافزاهای فوقالعاده قدرتمندی ساخت.