چگونگی ساخت ستون (مقاطع مرکب)

ستون‌ها ممکن است بر حسب نیاز با ترکیب و اتصالات متنوع از انواع پروفیلهای مختلف ساخته شوند. اما رایجترین اتصال برای ساخت ستون‌ها سه نوع است





اتصال دو پروفیل به یکدیگر به طریقه دوبله کردن: ابتدا دو تیرآهن را در کنار یکدیگر و بر روی سطح صاف به هم چسبیده گردند؛ سپس دو سر و وسط ستون را جوش داده و ستون برگردانده شده و مانند قبل جوشکاری صورت می‌گیرد؛ آن گاه ستون معکوس و در قسمت وسط، جوشکاری می‌شود. همین کار را در سوی دیگر ستون انجام می‌دهند و به ترتیب جوشکاری ادامه می‌یابد تا جوش مورد نیاز ستون تامین گردد. این شیوه جوشکاری برای جلوگیری از پیچش ستون در اثر حرارت زیاد جوشکازی ممتد می‌باشد. در صورتیکه در سرتاسر ستون به جوش نیازی نباشد، دست کم جوشها باید به این ترتیب اجرا گردد:

الف) حداکثر فاصله بین طولهای جوش در طول ستون به صورت غیر ممتد از ۶۰ سانتیمتر تجاوز نکند.
ب) طول جوش ابتدایی و انتهایی ستون باید برابر بزرگترین عرض مقطع باشد و به طور یکسره انجام گیرد.
ج) طول موثر هر قطعه از جوش منقطع نباید از ۴ برابر بعد جوش یا ۴۰ میلیمتر کمتر باشد.
د) تماس میان بدنه دو پروفیل نباید از یک شکاف ۵/۱ میلیمتری بیشتر، اما از ۶ میلیمتر کمتر باسد؛ ضمنا بررسیهای فنی نشان دهد مه مساحت کافی برای تماس وجود ندارد؛ در آن صورت، این بادخور باید با مصالح پر کننده مناسب شامل تیغه‌های فولادی با ضخامت ثابت پر شود.

۲- اتصال دو پروفیل با یک ورق سراسری روی بالها: در مقاطع مرکبی که ورق اتصال بر روی دو نیمرخ متصل می‌شود تا مقاطع مرکب تشکیل بدهد؛ فاصله جوشهای مقطع (غیر ممتد) که ورق را به نیمرخها متصل می‌کند، نباید از ۳۰ سانتیمتر بیشتر شود. اندازه حداکثر فاصله فوق‌الذکر در مورد فولاد معمولی به صورت t22 که t در آن ضخامت ورق است در می‌آید.
۳- اتصال دو پروفیل با بستهای فلزی (تسمه): متداولترین نوع ستون در ایران ستون‌های مرکبی است که دو تیرآهن به فاصله معین از یکدیگر قرار می‌گیرد و قیدهای افقی یا چپ و راست این دو نیمرخ را به هم متصل می‌کند؛ البته بستهای چپ و راست که شکلهای مثلثی را به وجود می‌آورند، دارای مقاومت بهتری نسبت به قیدهای موازی می‌باشند. در مورد اینگونه ستون‌ها، بویژه ستون با قید موازی مسائل زیر را بایستی رعایت کرد:

الف) ابعاد بست (وصله) افقی ستون کمتر از این مقادیر نباشد:
L: طول وصله حداقل به فاصله مرکز تا مرکز دو نیمرخ باشد.
B: عرض وصله از ۴۲ درصد طول آن کمتر نباشد.
T: ضخامت وصله از ۳۵/۱ طول آن کمتر نباشد.
ب) در اطراف کلیه وصله‌ها و در سطح تماس با بال نیمرخها عمل جوشکاری انجام گیرد (مجموع طول خط جوش در هر طرف صفحه نباید از طول صفحه کمتر شود).
ج) فاصله قیدها و ابعاد آن بر اساس محاسبات فنی تعیین می‌شود.
د) در قسمت انتهایی ستون، باید حتما از ورق با طول حداقل برابر عرض ستون استفاده کرد تا علاوه بر تقویت پایه، محل مناسبی برای اتصال بادبندها به ستون به وجود آید.
ه) در محل اتصال تیر یا پل به ستون لازم است قبلا ورق تقویتی به ابعاد کافی روی بالهای ستون جوش شده باشد.

روش نصب نبشی بر روی کف ستون‌ها (بیس پلیت) برای استقرار ستون هنگام محاسبه ابعاد کف ستون‌ها باید حداقل فاصله میله مهاری از لبه کف ستون و محل جاگذاری نبشی با ضخامت جوش لازم برای نگه داشتن ستون، همچنین ضخامت پلیت انتهایی ستون و ابعاد ستون را با دقت بررسی کرد؛ سپس با توجه به موارد یاد شده، به نصب نبشی و استقرار ستون به این صورت اقدام نمود. بر روی بیس پلیت‌ها محل کف ستون و محل آکس را کنترل می‌کنیم؛ سپس نبشیهای اتصال را به صورت عمود برهم بر روی بیس پلیت جوش داده، آنگاه ستون را مستقر و اقدام به نصب دگر نبشیهای لازم کرده و آنها را به بیس پلیت جوش می‌دهیم. از مزایای عمود برهم بودن دو نبشی روی بیس پلیت علاوه بر سرعت عمل و استقرار بهتر به علت تماس مستقیم ستون به بال نبشی، اتصال جوشکاری به گونه‌ای درست تر و اصولی تر صورت می‌گیرد. روشن است که قبل از جوشکاری باید ستون‌ها را هم محور و قائم نموده و عمود بودن در دو جهت کنترل گردد. پس از نصب ستون‌ها با توجه به ارتفاع ستون و آزاد بودن سر ستون ممکن است تا زمان نصب پلها، ستون‌ها در اثر شدت باد و وزن خود حرکتهایی داشته باشند که احتمالا تاثیر نا مطلوب و ایجاد ضعف در جوشکاری و اتصالات کف ستون‌ها خواهد داشت. به این سبب، باید پس از نصب، فورا به مهاربندی موقت ستون‌ها به وسیله میلگرد یا نبشی بصورت ضربدری اقدام کرد.




طویل کردن ستون‌ها

سازهای فلزی را اغلب در چندین طبقه احداث می‌کنند، طول پروفیلها برای ساخت ستون محدود است. با در نظر گرفتن بار وارده و دهانه بین ستون‌ها و نحوه قرار گرفتن ستون‌های کناری، مقاطع مختلفی برای ساخت ستون‌ها به دست می اید. ممکن است در هر طبقه، ابعاد مقطع ستون با طبقه دیگر تفاوت داشته باشد؛ بنابراین، باید اتصال مقاطع با ابعاد مختلف برای طویل کردن با دقت زیادی انجام شود. محل مناسب برای وصله ستون‌ها به هنگام طویل کردن آنها حداقل در ازتفاع ۴۵ تا ۶۰ سانتی‌متر بالاتر از کف هر طبقه یا ۶/۱ ارتفاع طبقه می‌باشد. این ارتفاع اندازه حداقلی است که از نظر دسترسی به محل اجرای جوش و نصب اتصالات مورد نیاز برای ادامه ستون یا اتصال بادبند لازم است.




نحوه طویل کردن ستون‌ها

ابتدا سطح تماس دو ستون را به خوبی گونیا می‌کنند و با سنگ زدن صاف می‌نمایند تا کاملا در تماس با یکدیگر یا صفحه وصله قرار گیرد. در صورتی که پروفیل دو ستون یکسان نباسد، باید اختلاف دو نمره ستون را با گذاردن صفحات لقمه (همسو کننده) بر ستون فوقانی را پر نمود؛ سپس صفحه وصله را نصب کرد و جوش لازم لازم را انجام داد. اگر ابعاد مقطع دو نیمرخ که به یکدیگر متصل می‌شوند، تفاوت زیاد داشته باشند، به طوری که قسمت بزرگی از سطح آن دو در تماس با یکدیگر قرار نگیرد، در این صورت باید یک صفحه تقسیم فشار افقی بین دو نیمرخ به کار برد. این صفحه معمولا باید ضخیم انتخاب شود تا بتواند بدون تغییر شکل زیاد، عمل تقسیم فشار را انجام دهد. کلیه ابعاد و ضخامت صفحه و مقدار جوش لازم را باید طبق محاسبه و بر اساس نقشه‌های اجرایی انجام داد.





ستون‌ها با مقاطع دایره‌ای

معمولا مقاطع لوله‌ای (دایره‌ای) از قطر ۲ تا ۱۲ اینچ برای ستون‌ها بیشتر مورد استفاده قرار می‌گیرند. مقطع لوله در مواقعی که بوسیله اتصال جوش باشد، آسانتر به کار می‌رود. کاربرد لوله بیشتر در پایه‌های بعضی منابع هوایی، دکل‌های مختلف و خرپاهای سبک است. این مقطع‌ها به طور کلی مقاومترند برای اینکه ممان انرسی انها در تمام جهات یکسان است. با تغییر ضخامت مقاطع لوله‌ای می‌توان اینرسی‌های مختلف را به دست‌آورد.




طراحی اعضای خمشی

تنش مجاز برای اعضای خمشی بدون نیروی فشاری مطابق زیر است

الف) برای بال‌ها.

ب) برای اعضای جان ساخته شده از میلگرد و یا مقاطع غیر میلگرد.

د) برای ورق‌های نشیمن.

طراحی اعضای فشاری – خمشی

در صورتیکه فاصله بین گره‌ها مساوی ویا بیشتر از ۶۰ سانتی‌متر باشد، اعضای فوقانی تیرچه‌ها باید به نحوی طراحی شوند که رابطه زیر در گره‌ها برقرار شود و همچنین باید رابطه زیر دربین دو گره برقرارگردد:

برای اعضای میانی تیرچه‌ها

برای اعضای کناری تیرچه‌ها

Fe تنش مجاز اولر و L فاصله بین گره‌ها می‌باشد.




محدودیت‌های لاغری اعضا

ضریب لاغری(L/r) در اعضای میانی وکناری بال‌ها، همچنین در اعضا ی فشاری وکششی جان تیرچه نباید از مقادیر زیر تجاوز نماید:

در اعضای میانی بال فوقانی ۹۰

در اعضای کناری بال فوقانی ۱۲۰

در اعضای فشاری جان ۲۰۰

دراعضای کششی ۲۴۰




ضوابط ویژه اعضای جان تیرچه‌ها (کنترل برش)

حداقل نیروی برشی قائم که برای اعضاء باید در نظر گرفته شود. نباید از ۲۵ درصد عکس العمل تکیه گاهی کمتر باشد.

در مواردیکه اعضای جان تیرچه‌ها تحت اثر ترکیب تنش‌های فشاری وخمشی قرار گیرند. باید بر اساس ضوابط اعضای فشاری – خمشی طراحی گردند. در حالتی که خمش در این اعضا، موجب انحنای دو طرفه آنها گردد، ضریب Cm معادل ۰٫۴ در نظر گرفته می‌شود.




مقاومت جوش

اتصالات جوش اعضا باید بتواند حداقل دوبرابر بار طراحی تیرچه‌ها را تحمل نماید.




وصله

اتصال دوپروفیل بصورت وصله درهر نقطه ازبال مجاز است. وصله بصورت جوش سربه سر در اعضای کششی باید بتواند حداقل مقاومتی معادل 1.14Fy.A را از خود نشان دهد که درآن A کل سطح مقطع عضو وصله شده می‌باشد.

۲-طراحی مرحله دوم بعد از گرفتن بتن:

در این مرحله مقطع مرکب شامل تیرچه فولادی وبتن باید تلاشهای ناشی ازتمام بارهای وارده به سقف (قبل و بعد از گرفتن بتن) راتحمل کند .






اسکلت فولادی
اسکلت فولادی یا قاب فولادی اصطلاحی است که در ساختمان‌سازی به کار می‌رود. ساختمان‌هایی با اسکلت فولادی، از ستون‌های عمودی و تیرهای I-شکل افقی که به شکل شبکه‌های مستطیلی به هم وصل شده‌اند، تشکیل گردیده‌اند. این شبکهٔ مستطیل-شکل، وظیفهٔ نگه‌داری طبقات، سقف‌ها و دیوارهایی را که به اسکلت ساختمان وصل شده‌اند، برعهده دارد. توسعهٔ این فناوری، امکان ساخت آسمان‌خراش‌ها را فراهم کرده‌است.




مفهوم کلی

پروفیل یا نیمرخ یا سطح مقطع یک ستون فولادی نورد شده، مانند حرف H در زبان انگلیسی است. جهت فراهم کردن مقاومت مناسب در برابر تنش‌های فشاری، فلنج‌های ستون‌ها دارای ضخامت و گستردگی بیشتری نسبت به فلنج‌های تیرها است. فولادهایی با مقاطع مربعی و دایره‌ای توخالی نیز به طور معمول جهت پر شدن توسط خمیر بتن استفاده می شوند. تیرهای فولادی توسط پیچ و مهره و سایر اتصالات به ستون‌ها وصل می شوند. در گذشته نیز از پرچ برای اتصال استفاده می شد. به دلیل بیشتر بودن لنگر خمشی در تیرها، معمولا جان مقطع فولادی تیرهای I-شکل دارای عرض بیشتری نسبت به جان ستون‌ها است.

از عرشه‌های فولادی، می توان به عنوان قالب‌های راه‌راه در زیر لایهٔ ضخیمی از بتن مسلح، برای پوشش قسمت بالایی قاب فولادی استفاده کرد. استفاده از قطعات بتنی پیش‌ساخته نیز روش متداول دیگری است. معمولا در آخرین طبقهٔ ساختمان‌های تجاری، از فضای خالی بین سطح بیرونی و قطعات سازه‌ای کف طبقه به عنوان محلی برای کابل‌ها و یا کانال‌های هوا استفاده می شود.

اسکلت ساختمان باید از نفوذ حرارت بالا محافظت شود. زیرا نرم شدن فولاد در دمای زیاد، می تواند موجب فروپاشیدن ساختمان گردد. در ستون‌ها می توان با پوشانده شدن توسط مواد مقاومی در برابر آتش همچون مصالح بنایی، بتن و یا لایهٔ گچی این مشکل را برطرف کرد. تیرها را نیز می توان با بتن، لایهٔ گچی و یا اسپری‌های مخصوص عایق‌کاری در برابر حرارت، پوشش داد. همچنین از پوشش‌های سقفی مقاوم در برابر آتش نیز می توان بهره برد.

لایه‌ٔ بیرونی ساختمان با استفاده از تکنیک‌های ساخت‌وساز و یا سبک‌های معماری مختلف به اسکلت ساختمان متصل می شود. از آجر‌ها، سنگ‌ها، قطعات بتنی، شیشه، صفحات فلزی و رنگ، برای محافظت از فولاد در برابر تغییرات آب‌و‌هوایی استفاده می شوند.





در ایران

سازه فلزی با دیوار برشی فولادی: که وزن آهن آلات مصرفی در آن ۴۵تا۵۵ کیلوگرم برای هر مترمربع است که نسبت به سازه‌های متداول ۴۰ درصد کمتر است.

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

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

بطور کلی منظور از ساختمان فلزی ساختمانی است که ستونها و تیرهای اصلی آن از پروفیل‌های مختلف فلزی بوده و بار سقفها و دیوارها و جدا کننده‌ها (پارتیشن‌ها) بوسیله تیرهای اصلی به ستون منتقل شده و وسیله ستونها به زمین منتقل گردد.




روشهای طراحی سازه های فولادی ساختمانی

ابعاد پروفیل های مورد استفاده در سازه های فلزی را می توان با یکی از روشهای زیر محاسبه کرد. از روشهای زیر دو روش تنش مجاز و روش حدی در مقررات ملی ساختمان مبحث ۱۰ ایران آورده شده است.

روش تنش مجاز

روش طرح پلاستیک

روش حالت حدی






تکیه‌گاه (سازه)

برای این که یک سازه، تحت تأثیر نیروهای خارجی حرکت نکند، باید توسط قیدهایی به محیط (زمین یا هر جسم دیگر) متصل گردد. به این قیدها، تکیه‌گاه (به انگلیسی: Support) می‌گویند.

تکیه‌گاه‌ها بر حسب قیدی که در مقابل حرکت به وجود می‌آورند، به انواع زیر دسته‌بندی می‌شوند:




تکیه‌گاه مفصلی ثابت (لولایی)

تکیه‌گاه مفصلی ثابت یا تکیه‌گاه لولایی (به انگلیسی: Hinged Support) نوعی از تکیه‌گاه‌است که از تغییر مکان نقطهٔ تکیه‌گاهی (در فضا و یا در صفحه) جلوگیری به عمل می‌آورد، ولی هیچ گونه مقاومتی در برابر دوران سازه، حول محورهای تکیه‌گاه ندارد. بنابر این چنانچه سازه‌ای به این نوع تکیه‌گاه متکی باشد، در مقابل چرخش آن حول محورهای پایه، هیچ گونه لنگر واکنشی ایجاد نمی‌شود و به علت محدود شدن سه امتداد حرکت در فضا و دو امتداد حرکت در صفحه، درحالت کلی سه مؤلفهٔ واکنش تکیه‌گاهی در فضا و در حالت خاص دو مؤلفهٔ واکنش تکیه‌گاهی در صفحه ایجاد می‌شود.




تکیه‌گاه مفصلی متحرک (غلتکی)

تکیه‌گاه غلتکی (به انگلیسی: Roller Support) یا تکیه‌گاه مفصلی متحرک (به انگلیسی: Movable Support) کاملاً شبیه تکیه‌گاه لولایی است، با این تفاوت که نسبت به آن درجهٔ آزادی بیشتری دارد. این درجهٔ آزادی، همان حرکت پایه در امتداد حرکت غلتک‌هاست. در واقع در این نوع تکیه‌گاه‌ها تنها یک امتداد حرکت محدود می‌شود و در نتیجه واکنش تکیه‌گاهی ایجاد شده، در امتدادی است که از حرکت پایه در آن امتداد جلوگیری شده‌است. این واکنش تکیه‌گاهی، عمود بر امتداد قابل حرکت تکیه‌گاه‌است که از مرکز مفصل هم می‌گذرد.




تکیه‌گاه گیردار

در صفحه، تکیه‌گاه گیردار (به انگلیسی: Fixed Support) از حرکت نقطهٔ تکیه‌گاهی در امتداد محورهای x و y و همچنین از دوران جسم حول نقطهٔ تکیه‌گاهی جلوگیری می‌کند. بنابر این سه مؤلفهٔ واکنش تکیه‌گاهی در این نوع تکیه‌گاه ایجاد می‌شود.




تکیه‌گاه ارتجاعی (فنری)

در تکیه‌گاه ارتجاعی یا تکیه‌گاه فنری (به انگلیسی: Elastaic Support)، واکنش‌های تکیه‌گاهی مؤثر به جسم، متناسب با سختی (قابلیت تغییر مکان و دوران) محیط تکیه‌گاهی در محل اتکا هستند. به عبارت دیگر اگر به جای تکیه‌گاه ساده، فنری با ضریب سختی K قرار داده شده و در محل اتکا تغییر مکانی برابر Δ در امتداد فنر ایجاد گردد، مقدار واکنش تکیه‌گاهی از رابطهٔ R=KΔ به دست می‌آید که در آن K ضریب ثابت فنر می‌باشد. به همین نحو اگر به جای تکیه‌گاه گیردار، سیستمی از فنرها با ضریب سختی K قرار داشته و چرخش و یا دوران معادل θ در محل اتکا ایجاد گردد، مقدار کوپل مقاوم، از رابطهٔ M=Kθ به دست خواهد آمد.




تکیه‌گاه رابط (میله‌ای)

تکیه‌گاه رابط یا تکیه‌گاه میله‌ای (به انگلیسی: Link Support)، نوعی تکیه‌گاه‌است که از یک میله کوتاه که دو انتهای آن مفصل می‌باشد، تشکیل گردیده‌است. در نتیجه، واکنش تکیه‌گاه، نیرویی است که در امتداد محور میله باشد.





مهندسی سازه

مهندسی سازه (به انگلیسی: Structural engineering) بخشی از مهندسی عمران و مهندسی هوافضا است. در مهندسی عمران، مهندسی سازه در مورد ساختارهای انتقال بار از اجزاء یک ساختمان یا بنا به محل تکیه‌گاهی آن مانند پی سازه صحبت می‌کند.

اگر مهندسی سازه را متشکل از دو بخش تحلیل و طراحی بدانیم، سرسلسله‌ی روابط تحلیلی تئوری الاستیسیته و مرجع بخش طراحی استانداردها و قضاوت‌های مهندسی است. درتئوری الاستیسیته از جبر تانسورها استفاده می‌شودو با استفاده از قانون هوک، دستگاه معادلات دیفرانسیل جزئی تعادل و سازگاری تشکیل می‌شوند. مشهورترین روش حل عددی این دستگاه معادلات، روشی است به نام اجزا محدود.

مهندسی سازه گرایشی از مهندسی است که با طراحی سیستم‌های سازه‌ای به هدف باربری و مقاومت در برابر نیروهای گوناگون وارد بر سازه سروکار دارد.

مهندسی سازه عمدتاً با طراحی ساختمان‌ها و سازه‌های غیر ساختمانی سر و کار دارد و همچنین نقش ضروری در طراحی ماشین آلات در جاهایی که یکپارچگی سازه‌ای بر روی ایمنی و اطمینان پذیری ماشین تأثیر دارد بازی می‌کند. ساخته‌های دست بشر، از مبلمان تا تجهیزات پزشکی، از خودرو و ... نیاز به حضور مهندس سازه دارد.

یک مهندس سازه باید در هنگام طرح یک سازه به دو مسئله توجه کند: مسئلهٔ اول بررسی مقاومت سازه در برابر بارها ی وارد بر سازه که شامل بارهای زنده، بار باد، برف، انسان، اشیا و بار مرده و بار زمین لرزه و... است که با طراحی سیستم باربر ومحاسبه و کنترل مقاومت کافی اعضای سازه در برابر این بارها است. مسئلهٔ دوم بررسی کارایی سازه است یعنی سازه باید فاقد مواردی مانند لرزش و تغییر شکل‌های خارج از اندازهٔ مجاز آیین نامه باشد. زیرا این موارد در کاربری سازه مشکل زا هستند و باعث مشکلی مانند ترس در کاربران سازه و یا مواردی مانند ترک خوردن دیوارها و نازک کاری‌ها می‌شوند.




تاریخچه مهندسی سازه

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




سازه‌های مهندسی سازه

پل، سد، پی، سازه‌های دریایی، خطوط لوله، نیروگاه، دیوارهای حائل و سازه‌های نگهبان، راه، تونل، آبرو
مهندسی سازه در ایران

در ایران گرایش سازه به عنوان زیر مجموعهٔ مهندسی عمران -عمران شناخته می‌شود.




مهندسی عمران

داوطلبان برای ورود به دورهٔ کارشناسی ارشد مورد سنجش قرار می‌گیرند. امکان ادامهٔ تحصیل در سطح کارشناسی ارشد و دکترا برای تمام کسانی که موفق به دریافت مدرک کارشناسی ولو از هر رشته ای هستند در دانشگاه‌های سراسری و آزاد وجود دارد:قوانین آموزش عالی کشور ایران

حداقل مدت زمان لازم برای اتمام این دوره 4ترم و حداکثر مجاز برای اتمام این دوره مطابق آئین نامه دوره کارشناسی ارشد3 سال می‌باشد.

در حال حاضر در مقطع کارشناسی ارشد مهندسی سازه در دانشگاه‌های ایران دروس زیر به تایید وزارت آموزش عالی رسیده است • استاتیک و مقاومت مصالح




تحلیل سازه‌ها
طراحی سازه‌های فولادی
طراحی سازه‌های بتنی
مبانی مکانیک خاک
بارگذاری
تحلیل ماتریسی سازه‌ها
ریاضیات عالی مهندسی
دینامیک سازه‌ها
تئوری الاستیسیته و پلاستیسیته
روش اجزاء محدود
سمینار
پایان نامه تز
پایداری سازه‌ها
سازه‌های فلزی پیشرفته
سازه‌های بتن آرمه پیشرفته:




چارت دروس کارشناسی ارشد ناپیوسته- سازه



دروس جبرانی (22 واحد)

استاتیک و مقاومت مصالح
تحلیل سازه‌ها
طراحی سازه‌های فولادی
طراحی سازه‌های بتنی
مبانی مکانیک خاک
بارگذاری
تحلیل ماتریسی سازه‌ها





دروس اصلی و تخصصی الزامی (15واحد)

ریاضیات عالی مهندسی
دینامیک سازه‌ها
تئوری الاستیسیته و پلاستیسیته
روش اجزاء محدود
سمینار
پایان نامه تز




یکی از دروس زیر: (توضیح در شماره 3)

پایداری سازه‌ها
سازه‌های فلزی پیشرفته
سازه‌های بتن آرمه پیشرفته




دروس تخصصی اختیاری (9واحد)

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





مهندس سازه

مهندس سازه(به انگلیسی: Structural engineer)، وظیفه تحلیل، طراحی، برنامه‌ریزی و پژوهش دربارهٔ اجزاء و سیستم‌های سازه‌ای را برعهده دارد تا به اهدافی همچون تضمین امنیت و آسایش کاربران وساکنان دست یابد. وظایف مهندس سازه، در حوزهٔ ایمنی، فنی، اقتصادی و محیط زیست بوده و ممکن است شامل عوامل زیبایی‌شناسی و اجتماعی نیز باشد.

امور مربوط به مهندسی سازه معمولاً در حوزهٔ مهندسی عمران نیز مطرح است. هم‌اکنون در ایالات متحده، مهندسان سازه، دارای مجوز مهندسی عمران هستند، البته این شرایط، در ایالت‌های مختلف متفاوت است. در بریتانیا، بیشتر مهندسان سازه در صنعت ساختمان اکثراً عضو مؤسسهٔ مهندسان سازه هستند تا مؤسسهٔ مهندسان عمران.

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

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




تحصیلات

تحصیلات مهندس سازه معمولاً از طریق مقطع کارشناسی مهندسی عمران و کارشناسی ارشد مهندسی سازه به دست می‌آید. هستهٔ اصلی موضوعات مهندسی سازه عبارتند از مقاومت مصالح، مکانیک جامدات، استاتیک، دینامیک، علم مواد، محاسبات عددی و طراحی سازه‌ها. دروس عمومی این رشته نیز عبارتند از طراحی سازه‌های بتن آرمه، سازه‌های مرکب، چوبی، بنائی و فولادی که در سطوح بالاتر تحصیلات مهندسی سازه تدریس می‌شوند. درس تحلیل سازه‌ها که شامل تحلیل مکانیک سازه، دینامیک سازه و شکست سازه می‌شود برای بالا بردن مهارت‌های بنیادین طراحی سازه‌ها برای دانشجویان در نظر گرفته شده‌است. در سطوح بالاتر یا در برنامه فارغ التحصیلی، طراحی بتن پیش تنیده، طراحی قاب فضایی برای ساختمان و هواپیما، مهندسی پل، نوسازی سازه‌های شهری و هوافضا و تخصص‌های پیشرفته دیگر مهندسی سازه معمولاً تدریس می‌شوند.

اخیراً در ایالات متحده، در انجمن مهندسی سازه دربارهٔ آموخته‌های فارغ‌التحصیلان مهندسی سازه صحبت‌هایی شده‌است. بعضی از این صحبت‌ها دربارهٔ مدرک کارشناسی ارشد و به عنوان حداقل استانداردها برای صدور مجوز به عنوان مهندس عمران هستند. در دانشگاه کالیفرنیا، سن دییگو مدرک جداگانه‌ای برای دوره لیسانس مهندسی سازه ارائه می‌شود. بسیاری از دانشجویانی که به عنوان مهندس سازه فارغ‌التحصیل می‌شوند، در زمینهٔ مهندسی عمران، مکانیک و یا هوافضا نیز با تاکید بر مهندسی سازه کسب تخصص می‌کنند. برنامه‌های درسی رشتهٔ مهندسی معماری نیز بر سازه تاکید داشته و معمولاً به همراه مهندسی عمران در یک دانشکدهٔ مشترک، استقرار دارند.
7:20 pm
برنامه‌نویسی

برنامه‌نویسی رایانه در فرهنگ واژه غیر متخصّصین ممکن است به تمام پروژه ساخت نرم‌افزار یا برنامهٔ رایانه‌ای گفته شود. با این همه برنامه‌نویسی تنها بخشی از فرایند توسعهٔ نرم‌افزار یا برنامه رایانه‌ای است. اهمیت، توجه و منابع اختصاص داده شده به برنامه‌نویسی، بسته به ویژگی‌های مشخص شده محصول و خواست افراد درگیر در پروژه و کاربران و در نهایت شیوهٔ انتخاب شده مهندسی نرم‌افزار متغیر است.

برنامه‌نویسی کامپیوتر (که اغلب در انگلیسی programming یا coding گفته می‌شود) فرایند نوشتن، اشکال زدایی(debug) و نگهداری کد منبع (source code) برنامه کامپیوتر می‌باشد. این کد منبع با یک زبان برنامه نویسی نوشته شده است. این کد منبع ممکن است تغییر داده شده یک کد قبلی و یا یک کد کاملاً جدید باشد. هدف برنامه نویسی ساختن یک برنامه می‌باشد که یک رفتار خواسته شده را به نمایش بگذارد.






تاریخچه
موضوع دستگاه‌هایی که به دنباله‌ای از دستورالعمل‌های از قبل تعریف شده عمل می‌کند بر می‌گردد به Greek Mythology.

برنامه نویسی مدرن
اندازه گیری کاربرد زبان

تعیین اینکه محبوب‌ترین زبان برنامه نویسی مدرن کدام است کار بسیار مشکلی است. بعضی از زبان‌ها در کاربردهای خاصی محبوب است و بعضی دیگر مرتباً در نوشتن کاربردهای گوناگون استفاده می‌شود. روش‌های اندازه گیری محبوبیت زبان شامل موارد زیر می‌باشد: شمردن تعداد آگهی‌های اشتغال و توجه به یک زبان، تعداد کتاب‌های آموزشی فروخته شده در مورد یک زبان، تخمین تعداد خطوط کد نوشته شده در یک زبان


پارادایم‌ها
زبان‌های برنامه‌نویسی گوناگون براساس قابلیت‌های درنظر گرفته شده از شیوهٔ خط‌های مختلف استفاده می‌کنند. موارد ریزتری مانند چگونگی برخورد با نیازهای پشت پردهٔ ماشین مانند مدیریت حافظه و مدیریت زباله نیز در زبان‌های مختلف متفاوت است. علاوه بر این‌ها، مفاهیمی متفاوت از (اجرای) یک برنامه تصور شده‌اند که پارادایم یا الگو نام دارند.



برنامه‌نویسی دستوری

برنامه‌نویسی دستوری (به انگلیسی: Imperative programming) در علوم رایانه یکی از شیوه‌های برنامه‌نویسی است که در آن مراحل اجرای یک برنامه کامپیوتری قدم به قدم توسط برنامه نویس بیان می‌شود. این بر خلاف زبانهای اعلانی است که در آنها تنها نتیجه انجام دستورات بیان می‌شود. به بیان دیگر در زبانهای دستوری چگونگی اجرای برنامه بیان می‌شود اما در زبانهای اعلانی چیستی نتیجه بیان می‌شود.

به عنوان مثال اگر قصد باز کردن دری را داشته باشیم و با زبان اعلانی این را بخواهیم بیان کنیم خواهیم گفت در را باز کن اما اگر با زبان دستوری بیان کنیم خواهیم گفت بلند شو، به طرف در نردیک شو، دستگیره را بگیر و در را به طرف بیرون هل بده.





زبان برنامه‌نویسی

زبان‌های برنامه‌نویسی ساختارهای زبانی دستورمداری در رایانه‌ها هستند که به‌وسیلهٔ آنها می‌توان یک الگوریتم را به‌وسیلهٔ ساختارهای دستوری متفاوت برای اجرای رایانه توصیف کرد و با این روش امکان نوشتن برنامه جهت تولید نرم‌افزارهای جدید بوجود می‌آید. معمولاً هر زبان برنامه‌نویسی دارای یک محیط نرم‌افزاری برای وارد کردن متن برنامه، اجرا، همگردانی و رفع اشکال آن هستند. عموماً زبانهای برنامه نویسی را به پنج نسل تقسیم می‌کنند:

نسل اول زبان ماشین - زبان صفرو یک
نسل دوم زبانهایی مانند اسمبلی -قابل فهم تر برای انسان
نسل سوم زبانهایی مانند کوبول و پی ال وان و... -دستورات قابل فهم تر برای انسان و نیاز به کمپایلرها
نسل چهارم مثل زبانهای اوراکل و فاکس پرو و اس کیو الها - نزدیک به محاوره‌های انسانی
نسل پنج زبانهایی مانند prolog , ops5 - تمرکز بر حل مسئله و استفاده از الگوریتمهای نوشته شده توسط

برنامه نویس

یک زبان برنامه نویسی یک زبان مصنوعی است که برای بیان محاسباتی که توسط یک ماشین (مخصوصا رایانه) قابل انجام است، طراحی شده‌است.زبان‌های برنامه نویسی برای ایجاد برنامه‌هایی به کار می‌روند که رفتار یک ماشین را مشخص می‌کنند، الگوریتم دقیق را بیان می‌کنند، و یا روشی برای ارتباط انسانند. بسیاری از زبان‌های برنامه نویسی تعدادی قالب از ویژگی‌های نوشته شده دستوری(syntax) و معناشناسی (semantics) دارند، چرا که رایانه‌ها دستورات دقیقاً مشخص نیاز دارند. برخی توسط سند خصوصیات (specification document) تعیین شده‌اند. (برای مثال یک استاندارد ISO)، در حالی که برخی دیگر دارای پیاده سازی غالبی می‌باشند.(مانند Perl) اولین زبان برنامه نویسی به قبل از اختراع رایانه باز می‌گردد، و برای هدایت رفتار ماشین‌هایی مانند دستگاه‌های نساجی اتوماتیک و نوازنده‌های پیانو به کار می‌رفت. هزاران زبان برنامه نویسی خلق شده‌اند، بیشتر در زمینهٔ رایانه، زمینه‌ای که هر ساله بسیاری دیگر ایجاد می‌شوند.


تقسیم‌بندی
زبان‌های برنامه نویسی را می‌توان از چهار دیدگاه متفاوت مورد بررسی قرار داده و تقسیم بندی کرد: الف)روش‌های برنامه نویسی ۱-زیر روالی ۲-ساخت یافته ۳-مدولار ۴-شئ گرا ب)نزدیکی به زبان ماشین ۱-سطح پایین ۲-سطح میانی ۳-سطح بالا ج)نوع ترجمه ۱-مفسری ۲-کامپایلری د)رابط برنامه نویسی ۱-مبتنی بر متن ۲-مبتنی بر گرافیک (ویژوال)



تعاریف

ویژگی‌هایی که غالباً برای تشکیل یک زبان برنامه نویسی مهم شمرده می‌شوند:

تابع :یک زبان برنامه نویسی، زبانی است که برای نوشتن برنامه‌های رایانه‌ای به کار می‌رود که رایانه‌ای را برای انجام محاسبات یا اجرای الگوریتم و یا احتمالاً کنترل دستگاه‌های خارجی مثل چاپگر، ربات و... درگیر می‌کنند.





هدف: زبان‌های برنامه نویسی با زبان‌های طبیعی تفاوت دارند و آن اینکه زبان‌های طبیعی فقط برای فعل و انفعالات بین مردم به کار می‌روند، در حالیکه زبان‌های برنامه نویسی همچنین به انسانها اجازه می‌دهد که از طریق دستورات با ماشین‌ها ارتباط برقرار کنند. برخی زبان‌های برنامه نویسی بوسیله یک دستگاه استفاده می‌شوند تا دستگاه دیگری را کنترل کند. برای مثال برنامه‌های پست اسکریپت(post script) غالباً توسط برنامه دیگری برای کنترل یک چاپگر و یا نمایشگر ایجاد می‌شوند.
ساختارها: زبان‌های برنامه نویسی ممکن است ساختارهایی برای تعریف و تغییر داده ساختارها یا کنترل جریان اجرا داشته باشند.
توان بیانگر: نظریه محاسبات، زبان‌ها را بوسیله محاسباتی که توان بیان آنها را دارند طبقه بندی می‌کند. تمام زبان‌های "کامل تورینگ" می‌توانند مجموعه یکسانی از الگوریتم‌ها را پیاده سازی کنند.ANSI/ISO SQL و Charity مثال‌هایی هستند از زبان‌هایی که کامل تورینگ نیستند، ولی غالباً زبان برنامه نویسی نامیده می‌شوند.

برخی مولفین اصطلاح" زبان برنامه نویسی" را محدود به آنهایی می‌کنند که می‌توانند تمام الگوریتم‌های ممکن را پیاده سازی کنند، گاهی اوقات اصطلاح" زبان رایانه" برای زبان‌های برنامه نویسی محدودتر به کار می‌رود. زبان‌های غیر محاسباتی، مانند زبان‌های مارک آپ(markup) HTML یا گرامرهای قراردادی مثل BNF، معمولاً زبان برنامه نویسی محسوب نمی‌شوند. یک زبان برنامه نویسی(که می‌تواند کامل تورینگ نباشد) ممکن است در این زبان‌های غیر محاسباتی (میزبان) تعبیه شوند.


کاربرد

زبان برنامه نویسی یک مکانیزم ساخت یافته برای تعریف داده‌ها، و عملیات یا تبدیل‌هایی که ممکن است بطور اتوماتیک روی آن داده انجام شوند، فراهم می‌کند. یک برنامه نویس از انتزاعات آماده در زبان استفاده می‌کند تا مفاهیم به کار رفته در محاسبات را بیان کند. این مفاهیم به عنوان یک مجموعه از ساده‌ترین عناصر موجود بیان می‌شوند(مفاهیم ابتدایی نامیده می‌شوند). زبان‌های برنامه نویسی با غالب زبان‌های انسانی تفاوتی دارد و آن این است که نیاز به بیان دقیق تر و کامل تری دارد. هنگام استفاده از زبان‌های طبیعی برای ارتباط با دیگر انسان‌ها، نویسندگان و گویندگان می‌توانند مبهم باشند و اشتباهات کوچک داشته باشند، و همچنان انتظار داشته باشند که مخاطب آنها متوجه شده باشد. اگرچه، مجازا، رایانه‌ها "دقیقاً آنچه که به آنها گفته شده را انجام می‌دهند." و نمی‌توانند "بفهمند" که نویسنده دقیقاً چه کدی مد نظر نویسنده بوده‌است] البته امروزه برنامه‌هایی برای انجام این کار تولید شده‌اند و تلاش‌های بسیاری در این زمینه انجام شده ولی هنوز به نتیجهٔ رضایت بخشی نرسیده است[. ترکیب تعریف زبان، یک برنامه، و ورودی برنامه بطور کامل رفتار خروجی را به هنگام اجرای برنامه (در محدوده کنترل آن برنامه) مشخص می‌کند. برنامه‌های یک رایانه ممکن است در یک فرایند ناپیوسته بدون دخالت انسان اجرا شوند، یا یک کاربر ممکن است دستورات را در یک مرحله فعل و انفعال مفسر تایپ کند.در این حالت "دستور"ها همان برنامه‌ها هستند، که اجرای آنها زنجیروار به هم مرتبطند.به زبانی که برای دستور دادن به برنامه‌ای استفاده می‌شود، زبان اسکریپت می‌گویند. بسیاری از زبان‌ها کنار گذاشته شده‌اند، برای رفع نیازهای جدید جایگزین شده‌اند، با برنامه‌های دیگر ترکیب شده‌اند و در نهایت استعمال آنها متوقف شده‌است. با وجود اینکه تلاش‌هایی برای طراحی یک زبان رایانه" کامل" شده‌است که تمام اهداف را تحت پوشش قرار دهد، هیچ یک نتوانستند بطور کلی این جایگاه را پر کنند. نیاز به زبان‌های رایانه‌ای گسترده از گستردگی زمینه‌هایی که زبان‌ها استفاده می‌شوند، ناشی می‌شود:

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

یک سیر رایج در گسترش زبان‌های برنامه نویسی این است که قابلیت حل مسائلی با درجات انتزاعی بالاتری را اضافه کنند. زبان‌های برنامه نویسی اولیه به سخت‌افزار رایانه گره خورده بودند. همانطور که زبان‌های برنامه نویسی جدید گسترش پیدا کرده‌اند، ویژگی‌هایی به برنامه‌ها افزوده شده که به برنامه نویس اجازه دهد که ایده‌هایی که از ترجمه ساده به دستورات سخت‌افزار دورتر هستند نیز استفاده کند. چون برنامه نویس‌ها کمتر به پیچیدگی رایانه محدود شده‌اند، برنامه‌های آنها می‌تواند محاسبات بیشتری با تلاش کمتر از سوی برنامه نویس انجام دهند. این به آنها این امکان را می‌دهد که کارایی بیشتردر واحد زمان داشته باشند. "پردازنده‌های زبان طبیعی" به عنوان راهی برای ازبین بردن نیاز به زبان‌های اختصاصی برنامه نویسی پیشنهاد شده‌اند. هرچند، این هدف دور است و فواید آن قابل بحث است. "ادسگر دیجسترا" موافق بود که استفاده از یک زبان رسمی برای جلوگیری از مقدمه سازی ساختارهای بی معنی واجب است، و زبان برنامه نویسی طبیعی را با عنوان "احمقانه" رد کرد، "آلن پرلیس" نیز مشابها این ایده را رد کرد. مطابق با متدولوژی نامتجانس استفاده شده توسط langpop.com در سال ۲۰۰۸، ۱۲ زبان پرکاربرد عبارتند از: C, C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby, Shell, SQL, and Visual Basic.




معناشناسی ایستا
معناشناسی ایستا محدودیت‌هایی بر روی ساختار مجاز متن‌ها تعیین می‌کند که بیان آنها در فرمول دستوری استاندارد مشکل و یا غیر ممکن است. مهمترین این محدودیت‌ها به وسیله سیستم نوع گذاری انجام می‌شود.


سیستم نوع گذاری
یک سیستم نوع گذاری مشخص می‌کند که یک زبان برنامه نویسی چگونه مقادیر و عبارات را در نوع(type) دسته بندی می‌کند، چگونه می‌تواند آن نوع‌ها را تغییر دهد و رفتار متقابل آن‌ها چگونه‌است. این کارعموما توضیح داده ساختارهایی که می‌توانند در آن زبان ایجاد شوند را شامل می‌شود. طراحی و مطالعه سیستم‌های نوع گذاری بوسیله ریاضیات قراردادی را تئوری نوع گذاری گویند.
زبان‌های نوع گذاری شده و بدون نوع گذاری

یک زبان نوع گذاری شده‌است اگر مشخصات هر عملیات، نوع داده‌های قابل اجرا توسط آن را با نشان دادن نوع‌هایی که برای آنها قابل اجرا نیست، تعیین کند. برای مثال، "این متن درون گیومه قرار دارد" یک رشته‌است. در غالب زبان‌های برنامه نویسی، تقسیم یک رشته با یک عدد معنایی ندارد. در نتیجه غالب زبان‌های برنامه نویسی مدرن ممکن است اجرای این عملیات را توسط برنامه‌ها رد کنند. در برخی زبان‌ها، عبارات بی معنی ممکن است هنگام ترجمه(compile) پیدا شود(چک کننده نوع ایستا)، و توسط کامپایلر رد شود، در حالی که در سایر برنامه‌ها، هنگام اجرا پیدا شود.(چک کننده نوع دینامیک) که به استثنای در حال اجرا منتج شود(runtime exception). حالت خاص زبان‌های نوع دار زبان‌های تک نوعند. این زبان‌ها غالباً اسکریپتی و یا مارک آپ هستند، مانند rexx وSGML و فقط یک داده گونه دارند—غالباً رشته‌های کاراکتری که هم برای داده‌های عددی و هم برای داده‌های سمبلی کاربرد دارند. در مقابل، یک زبان بدون نوع گذاری، مثل اکثر زبان‌های اسمبلی، این امکان را می‌دهد که هر عملیاتی روی هر داده‌ای انجام شود، که معمولاً دنباله‌ای از بیت‌ها با طول‌های متفاوت در نظر گرفته می‌شوند. زبان‌های سطح بالا که بی نوع هستند شامل زبان‌های ساده رایانه‌ای و برخی از انواع زبان‌های نسل چهارم.

در عمل، در حالیکه تعداد بسیار کمی از دیدگاه نظریه نوع، نوع گذاری شده تلقی می‌شوند(چک کردن یا رد کردن تمام عملیات‌ها)، غالب زبان‌های امروزی درجه‌ای از نوع گذاری را فراهم می‌کنند. بسیاری از زبان‌های تولیدکننده راهی را برای گذشتن یا موقوف کردن سیستم نوع فراهم می‌کنند.



نوع گذاری قوی و ضعیف

نوع گذاری ضعیف این امکان را ایجاد می‌کند که با متغیری به جای متغیری دیگر برخورد شود، برای مثال رفتار با یک رشته به عنوان یک عدد. این ویژگی بعضی اوقات ممکن است مفید باشد، اما ممکن است باعث ایجاد برخی مشکلات برنامه شود که موقع کامپایل و حتی اجرا پنهان بمانند.

نوع گذاری قوی مانع رخ دادن مشکل فوق می‌شود. تلاش برای انجام عملیات روی نوع نادرست متغیر منجر به رخ دادن خطا می‌شود. زبان‌هایی که نوع گذاری قوی دارند غالباً با نام "نوع-امن" و یا امن شناخته می‌شوند. تمام تعاریف جایگزین برای "ضعیف نوع گذاری شده" به زبان‌ها اشاره می‌کند، مثل perl, JavaScript, C++، که اجازه تعداد زیادی تبدیل نوع داخلی را می‌دهند. در جاوااسکریپت، برای مثال، عبارت ۲*x به صورت ضمنی x را به عدد تبدیل می‌کند، و این تبدیل موفقیت آمیز خواهد بود حتی اگر x خالی، تعریف نشده، یک آرایه، و یا رشته‌ای از حروف باشد. چنین تبدیلات ضمنی غالباً مفیدند، اما خطاهای برنامه نویسی را پنهان می‌کنند.

قوی و ایستا در حال حاضر عموماً دو مفهوم متعامد فرض می‌شوند، اما استفاده در ادبیات تفاوت دارد، برخی عبارت "قوی نوع گذاری شده" را به کار می‌برند و منظورشان قوی، ایستایی نوع گذاری شده‌است، و یا، حتی گیچ کننده تر، منظورشان همان ایستایی نوع گذاری شده‌است. بنابراین C هم قوی نوع گذاری شده و هم ضعیف و ایستایی نوع گذاری شده نامیده می‌شود.



معناشناسی اجرا

وقتی که داده مشخص شد، ماشین باید هدایت شود تا عملیات‌ها را روی داده انجام دهد. معناشناسی اجرا ی یک زبان تعیین می‌کند که چگونه و چه زمانی ساختارهای گوناگون یک زبان باید رفتار برنامه را ایجاد کنند.

برای مثال، معناشناسی ممکن است استراتژی را که بویسله آن عبارات ارزیابی می‌شوند را تعریف کند و یا حالتی را که ساختارهای کنترلی تحت شرایطی دستورها را اجرا می‌کنند.


کتابخانه هسته
اغلب زبان‌های برنامه نویسی یک کتابخانه هسته مرتبط دارند(گاهی اوقات "کتابخانه استاندارد" نامیده می‌شوند، مخصوصا وقتی که به عنوان قسمتی از یک زبان استاندارد ارائه شده باشد)، که به طور قراردادی توسط تمام پیاده سازی‌های زبان در دسترس قرار گرفته باشند. کتابخانه هسته معمولاً تعریف الگوریتم‌ها، داده ساختارها و مکانیزم‌های ورودی و خروجی پرکاربرد را در خود دارد. کاربران یک زبان، غالباً با کتابخانه هسته به عنوان قسمتی از آن رفتار می‌کنند، اگرچه طراحان ممکن است با آن به صورت یک مفهوم مجزا رفتار کرده باشند. بسیاری از خصوصیات زبان هسته‌ای را مشخص می‌کنند که باید در تمام پیاده سازی‌ها موجود باشند، و در زبان‌های استاندارد شده این کتابخانه هسته ممکن است نیاز باشد. بنابراین خط بین زبان و کتابخانه هسته آن از زبانی به زبان دیگر متفاوت است. درواقع، برخی زبان‌ها به گونه‌ای تعریف شده‌اند که برخی از ساختارهای دستوری بدون اشاره به کتابخانه هسته قابل استفاده نیستند. برای مثالف در جاوا، یک رشته به عنوان نمونه‌ای از کلاس “java.lang.String” تعریف شده است؛ مشابها، در سمال تاک(smalltalk) یک تابع بی نام(یک "بلاک") نمونه‌ای از کلاس BlockContext کتابخانه می‌سازد. بطور معکوس، Scheme دارای چندین زیرمجموعه مرتبط برای ایجاد سایر ماکروهای زبان می‌باشد، و در نتیجه طراحان زبان حتی این زحمت را نیز تحمل نمی‌کنند که بگویند کدام قسمت زبان به عنوان ساختارهای زبان باید پیاده سازی شوند، و کدام یک به عنوان بخشی ازکتابخانه.


عمل
طراحان زبان و کاربران باید مصنوعاتی ایجاد کنند تا برنامه نویسی را در عمل ممکن سازند و کنترل کنند. مهمترین این مصنوعات خصوصیات و پیاده سازی‌های زبان هستند.



خصوصیات

یک زبان برنامه نویسی باید تعریفی فراهم کند که کاربران و پیاده کننده‌های زبان می‌توانند از آن استفاده کنند تا مشخص کنند که رفتار یک برنامه درست است. با داشتن کد منبع: خصوصیات یک زبان برنامه نویسی چندین قالب می‌تواند بگیرد، مانند مثال‌های زیر:

تعریف صریح دستور، معناشناسی ایستا، ومعناشناسی اجرای زبان. درحالیکه دستور معمولاً با یک معناشناسی قراردادی مشخص می‌شود، تعاریف معناشناسی ممکن است در زبان طبیعی نوشته شده باشند (مثل زبان C)، یا معناشناسی قراردادی(مثل StandardML ,Scheme)
توضیح رفتار یک مترجم برای زبان(مثل C,fortran). دستور و معناشناسی یک زبان باید از این توضیح استنتاج شوند، که ممکن است به زبان طبیعی یا قراردادی نوشته شود.
پیاده سازی منبع یا مدل. گاهی اوقات در زبان‌های مشخص شده(مثل: prolog,ANSI REXX).دستور و معناشناسی صریحاً در رفتار پیاده سازی مدل موجودند.


پیاده سازی

پیاده سازی یک زبان برنامه نویسی امکان اجرای آن برنامه را روی پیکربندی مشخصی از سخت‌افزار و نرم‌افزار را فراهم می‌کند. بطور وسیع، دو راه رسیدن به پیاده سازی زبان برنامه نویسی وجود دارد. کامپایل کردن و تفسیر کردن. بطور کلی با هر بک از ابن دو روش می‌توان یک زبان را پیاده سازی کرد.

خروجی یک کامپایلر ممکن است با سخت‌افزار و یا برنامه‌ای به نام مفسر اجرا شود. در برخی پیاده سازی‌ها که از مفسر استفاده می‌شود، مرز مشخصی بین کامپایل و تفسیر وجود ندارد. برای مثال، برخی پیاده سازی‌های زبان برنامه نویسی بیسیک کامپایل می‌کنند و سپس کد را خط به خط اجرا می‌کنند.

برنامه‌هایی که مستقیماً روی سخت‌افزار اجرا می‌شوند چندین برابر سریعتر از برنامه‌هایی که با کمک نرم‌افزار اجرا می‌شوند، انجام می‌شوند.

یک تکنیک برای بهبود عملکرد برنامه‌های تفسیر شده کامپایل در لحظه آن است. در این روش ماشین مجازی، دقیقاً قبل از اجرا، بلوک‌های کدهای بایتی که قرار است استفاده شوند را برای اجرای مستقیم روی سخت‌افزار ترجمه می‌کند.



تاریخچه
پیشرفت‌های اولیه

اولین زبان برنامه نویسی به قبل از رایانه‌های مدرن باز می‌گردد. قرن ۱۹ دستگاه‌های نساجی و متون نوازنده پیانو قابل برنامه نویسی داشت که امروزه به عنوان مثال‌هایی از زبان‌های برنامه نویسی با حوزه مشخص شناخته می‌شوند. با شروع قرن بیستم، پانچ کارت‌ها داده را کد گذاری کردند و پردازش مکانیکی را هدایت کردند. در دهه ۱۹۳۰ و ۱۹۴۰، صورت گرایی حساب لاندای آلونزو چرچ و ماشین تورینگ آلن تورینگ مفاهیم ریاضی بیان الگوریتم‌ها را فراهم کردند؛ حساب لاندا همچنان در طراحی زبان موثر است.

در دهه ۴۰، اولین رایانه‌های دیجیتال که توسط برق تغذیه می‌شدند ایجاد شدند. اولین زبان برنامه نویسی سطح بالا طراحی شده برای کامپیوتر پلانکالکول بود، که بین سال‌های ۱۹۴۵ و ۱۹۴۳ توسط کنراد زوس برای ز۳ آلمان طراحی شد.

کامپیوترهای اوایل ۱۹۵۰، بطور خاص ÜNIVAC ۱ و IBM ۷۰۱ از برنامه‌های زبان ماشین استفاده می‌کردند. برنامه نویسی زبان ماشین نسل اول توسط نسل دومی که زبان اسمبلی نامیده می‌شوند جایگزین شد. در سال‌های بعد دهه ۵۰، زبان برنامه نویسی اسمبلی، که برای استفاده از دستورات ماکرو تکامل یافته بود، توسط سه زبان برنامه نویسی سطح بالا دیگر: FORTRAN,LISP , COBOL مورد استفاده قرار گرفت. نسخه‌های به روز شده این برنامه‌ها همچنان مورد استفاده قرار می‌گیرند، و هر کدام قویا توسعه زبان‌های بعد را تحت تاثیر قرار دادند. در پایان دهه ۵۰ زبان algol ۶۰ معرفی شد، و بسیاری از زبان‌های برنامه نویسی بعد، با ملاحظه بسیار، از نسل algol هستند. قالب و استفاده از زبان‌های برنامه نویسی به شدت متاثر از محدودیت‌های رابط بودند.



پالایش

دوره دهه ۶۰ تا اواخر دهه ۷۰ گسترش مثال‌های عمده زبان پرکاربرد امروز را به همراه داشت. با این حال بسیاری از جنبه‌های آن بهینه سازی ایده‌های اولیه نسل سوم زبان برنامه نویسی بود:

APL برنامه نویسی آرایه‌ای را معرفی کرد و برنامه نویسی کاربردی را تحت تاثیر قرار داد.
PL/i(NPL) دراوایل دهه ۶۰ طراحی شده بود تا ایده‌های خوب فورترن و کوبول را بهم پیوند دهد.
در دهه ۶۰، Simula اولین زبانی بود که برنامه نویسی شئ گرا را پشتیبانی می‌کرد، در اواسط دهه۷۰. Smalltalk به دنبال آن به

عنوان اولین زبان کاملاً شئ گرا معرفی شد.

C بین سال‌های ۱۹۶۹ تا ۱۹۷۳ به عنوان زبان برنامه نویسی سیستمی طراحی شد و همچنان محبوب است.
Prolog، طراحی شده در ۱۹۷۲، اولین زبان برنامه نویسی منطقی بود.
در ۱۹۷۸ ML سیستم نوع چند ریخت روی لیسپ ایجاد کرد، و در زبان‌های برنامه نویسی کاربردی ایستا نوع گذاری شده پیشگام شد.

هر یک از این زبان‌ها یک خانواده بزرگ از وارثین از خود به جای گذاشت، و مدرنترین زبان‌ها از تبار حداقل یکی از زبان‌های فوق به شمار می‌آیند.

دهه‌های ۶۰ و ۷۰ مناقشات بسیاری روی برنامه نویسی ساخت یافته به خود دیدند، و اینکه آیا زبان‌های برنامه نویسی باید طوری طراحی شوند که آنها را پشتیبانی کنند.

"ادسگر دیکسترا" در نامه‌ای معروف در ۱۹۶۸ که در ارتباطات ACM منتشر شد، استدلال کرد که دستورgoto باید از تمام زبان‌های سطح بالا حذف شود.

در دهه‌های ۶۰ و ۷۰ توسعهٔ تکنیک‌هایی صورت گرفت که اثر یک برنامه را کاهش می‌داد و در عین حال بهره وری برنامه نویس و کاربر را بهبود بخشید. دسته کارت برای ۴GL اولیه بسیار کوچکتر از برنامهٔ هم سطح بود که با ۳GL deck نوشته شده بود.




یکپارچگی و رشد

دهه ۸۰ سال‌های یکپارچگی نسبی بود. C++ برنامه نویسی شئ گرا و برنامه نویسی سیستمی را ترکیب کرده بود. ایالات متحده ایدا(زبان برنامه نویسی سیستمی که بیشتر برای استفاده توسط پیمان کاران دفاعی بود) را استاندارد سازی کرد. در ژاپن و جاهای دیگر، هزینه‌های گزافی صرف تحقیق در مورد زبان نسل پنجم می‌شد که دارای ساختارهای برنامه نویسی منطقی بود. انجمن زبان کاربردی به سمت استانداردسازی ML و Lisp حرکت کرد. به جای ایجاد مثال‌های جدید، تمام این تلاش‌ها ایده‌هایی که در دهه‌های قبل حلق شده بودند را بهتر کرد.

یک گرایش مهم در طراحی زبان در دهه ۸۰ تمرکز بیشتر روی برنامه نویسی برای سیستم‌های بزرگ از طریق مدول‌ها، و یا واحدهای کدهای سازمانی بزرگ مقیاس بود. مدول-۲، ایدا. و ML همگی سیستم‌های مدولی برجسته‌ای را در دهه ۸۰ توسعه دادند. با وجود اینکه زبان‌های دیگر، مثل PL/i، پشتیبانی بسیار خوبی برای برنامه نویسی مدولی داشتند. سیستم‌های مدولی غالباً با ساختارهای برنامه نویسی عام همراه شده‌اند.

رشد سریع اینترنت در میانه دهه ۹۰ فرصت‌های ایجاد زبان‌های جدید را فراهم کرد. Perl، در اصل یک ابزار نوشتن یونیکس بود که اولین بار در سال ۱۹۸۷ منتشر شد، در وب‌گاه‌های دینامیک متداول شد. جاوا برای برنامه نویسی جنب سروری مورد استفاده قرار گرفت. این توسعه‌ها اساساً نو نبودند، بلکه بیشتر بهینه سازی شده زبان و مثال‌های موجود بودند، و بیشتر بر اساس خانواده زبان برنامه نویسی C بودند. پیشرفت زبان برنامه نویسی همچنان ادامه پیدا می‌کند، هم در تحقیقات و هم در صنعت. جهت‌های فعلی شامل امنیت و وارسی قابلیت اعتماد است، گونه‌های جدید مدولی(mixin، نماینده‌ها، جنبه‌ها) و تجمع پایگاه داده.

۴GLها نمونه‌ای از زبان‌هایی هستند که محدوده استفاده آنها مشخص است، مثل SQL. که به جای اینکه داده‌های اسکالر را برگردانند، مجموعه‌هایی را تغییر داده و بر می‌گردانند که برای اکثر زبان‌ها متعارفند. Perl برای مثال، با "مدرک اینجا" خود می‌تواند چندین برنامه ۴GL را نگه دارد، مانند چند برنامه جاوا سکریبت، در قسمتی از کد پرل خود و برای پشتیبانی از چندین زبان برنامه نویسی با تناسب متغیر در "مدرک اینجا" استفاده کند.
ساعت : 7:20 pm | نویسنده : admin | کاکاپو | مطلب قبلی
کاکاپو | next page | next page