تالار گفتمان مانشت
بررسی سوالات PL مهندسی کامپیوتر ۹۲ - نسخه‌ی قابل چاپ

صفحه‌ها: ۱ ۲ ۳ ۴ ۵
RE: بررسی سوالات PL مهندسی کامپیوتر ۹۲ - prosperous - 20 بهمن ۱۳۹۱ ۰۵:۳۲ ب.ظ

(۲۰ بهمن ۱۳۹۱ ۰۴:۴۲ ب.ظ)Payam92 نوشته شده توسط:  من میگم نحوی .
چه سوالی بود با سه تا از دوستام هر کدوم یه گزینه رو زدیم همه هم مطمئن ، که درسته!!

منم زدم نحوی

RE: بررسی سوالات PL مهندسی کامپیوتر ۹۲ - ariazad - 20 بهمن ۱۳۹۱ ۰۵:۳۷ ب.ظ

(۲۰ بهمن ۱۳۹۱ ۰۴:۵۵ ب.ظ)svk7 نوشته شده توسط:  تو سوال قید شده بو در زبان C:

به نظرم:
اگه خطایه لغوی یا نحوی و یا معنایی باشه کامپایلر سی ایراد میگیره
ولی این دستور تو سی مشکلی نداره در واقع دستوره انتسابه که بعد از انتساب بررسی میشه اگه مقداریکه منتسب میشه مخالف صفر بود
بعنوان true در نظر گرفته میشه
پس این خطا منطقیه
منم نظرم همینه.

بررسی سوالات PL مهندسی کامپیوتر ۹۲ - fsi2013 - 20 بهمن ۱۳۹۱ ۰۵:۴۱ ب.ظ


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.
بچه ها معماری رو هم جواب بدین چیکا میکنین؟! D:

یا معنایی یا منطقی اگه کامپایلر c ارور بده معنایی اگه نده هم منطقی !حالا کسی هست با اطمینان بگه تو کامپایلر سی چک کرده و قبلا این خطا رو دیده/.


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

بچه ها سیسم عامل هم فراموش نشه

بررسی سوالات PL مهندسی کامپیوتر ۹۲ - damavand_kellap - 20 بهمن ۱۳۹۱ ۰۶:۳۴ ب.ظ

بچه ها میشه نحوی آخه پارسر با توجه به رشته ورودی اینو وقتی if میاد تنها زمانی انتقال میده که ۲ تا = باد و اگه یه مساوی بیاد خطا اعلام میکنه یعنی ساختار گرامرو طوری در نظر میگیره که با چنین ساختاری به صورت خطا برخورد کنه اشتباه میکنم؟

بررسی سوالات PL مهندسی کامپیوتر ۹۲ - teacherpc - 20 بهمن ۱۳۹۱ ۰۶:۳۹ ب.ظ

راستی یکی تو سی اینو بنویسه ببینه نوع خطا رو چی میگه

RE: بررسی سوالات PL مهندسی کامپیوتر ۹۲ - mammad - 20 بهمن ۱۳۹۱ ۰۶:۵۰ ب.ظ

من خودم کنکور نداشتم، ولی باورم نمی شه همچین سؤال ساده ای بدن و جالبتر اینکه این همه هم غلط بزنن!
در زبان C، در جاهایی که باید ارزیابی منطقی صورت بگیره، مثلا داخل if، اگه مقدارش ۰ باشه، با اون به صورت false و در غیر این صورت به صورت true رفتار می شه.
همچنین، وقتی یک انتساب x = a داریم، علاوه بر این که مقدار a به x نسبت داده می شه، کل عبارت x = a هم به صورت a ارزیابی می شه.
یعنی برای if (x=3) هیچ گونه خطای لغوی، نحوی و معنایی نداریم و فقط خطای منطقی داریم.

این هم یه مثال:
کد:
#include "stdio.h"

int main()
{
    int x = 0;
    if (x = 0)
        printf("x = 0");
    else
        printf("x != 0");
        
    return 0;
}
این هم کامپایل و اجراش:
gcc test.c
a.exe

خروجی:
کد:
x != 0

البته تو #C این یه خطای نحوی به حساب میاد.

بررسی سوالات PL مهندسی کامپیوتر ۹۲ - mostafa8026 - 20 بهمن ۱۳۹۱ ۰۷:۰۵ ب.ظ

(۲۰ بهمن ۱۳۹۱ ۰۶:۵۰ ب.ظ)mammad نوشته شده توسط:  در زبان C، در جاهایی که باید ارزیابی منطقی صورت بگیره، مثلا داخل if، اگه مقدارش ۰ باشه، با اون به صورت false و در غیر این صورت به صورت true رفتار می شه.
همچنین، وقتی یک انتساب x = a داریم، علاوه بر این که مقدار a به x نسبت داده می شه، کل عبارت x = a هم به صورت a ارزیابی می شه.
یعنی برای if (x=3) هیچ گونه خطای لغوی، نحوی و معنایی نداریم و فقط خطای منطقی داریم.
منم شدیدا موافقم!!! من قبلا امتحان کردم و مطمئنم

بررسی سوالات PL مهندسی کامپیوتر ۹۲ - saminpro - 20 بهمن ۱۳۹۱ ۰۷:۴۶ ب.ظ

بچه ها امتحان کردم! همنطور که دوستان گفتند برنامه خطا نمیده! و عمل مقدار دهی خواهد بود، و بسته به مقدار دهی انجام شده اگر صفر => غلط در غیر اینصورت درست می باشد.

کامپایلر خطا نمیده بنابراین لغوی یا نحوی نیست! ولی کدوم یک از معنایی یا منطقی می تونه باشه؟

بررسی سوالات PL مهندسی کامپیوتر ۹۲ - admin - 20 بهمن ۱۳۹۱ ۰۷:۵۲ ب.ظ

در اینکه خطا منطقی هست شکی نیست Smile

بررسی سوالات PL مهندسی کامپیوتر ۹۲ - sunboymn - 20 بهمن ۱۳۹۱ ۰۸:۵۷ ب.ظ

به نظر من خطای نحوی بود اگه کتاب پارسه رو خونده باشی یه جاش نوشته که این نوع خطاها خطای نحوی هستش و برای اون چندتا روش گفته مثلا روش حذف کاراکتر اضافه یا روش جایگزینی و ...
سوال refeat(?!!!?? :| ) until که غلط املایی هم داشت که دیگه تابلو بود اصا فقط گزینه هارو چک میکردی و سوالو نمی خوندی میشد بفهمی که کدوم درسته :|

بررسی سوالات PL مهندسی کامپیوتر ۹۲ - younes - 20 بهمن ۱۳۹۱ ۰۸:۵۸ ب.ظ

به نظر من همون منطقی درسته . چون خطای نحوی برنامه رو اجرا نمیکنه بعدشم اصلا تو گزینه ها نحوی نبود !
اما من الان این کد رو نوشتم و تو زبان C اجرا کردم اجرا شد اما جواب منطقی نمیده . یعنی باید چاپ بشه No ولی Yes چاپ میشه . میتونید امتحان کنید( رو سیستم اجرا کنید.)
#include <stdio.h>
#include <conio.h>

main() {

int a=3,b=2;
if(a=b)
printf("yes");
else
printf("NO");
getch();
return(0);
}


بررسی سوالات PL مهندسی کامپیوتر ۹۲ - freidoony - 20 بهمن ۱۳۹۱ ۱۰:۰۶ ب.ظ

تو کتاب پرات تو بخش نحو یه مثال اینطوری داده یعنی به جای == یه دونه = گذاشته و گفته کامپایلر ها بهتر است این جور خطا ها را خطای نحوی در نظر بگیرن
ولی چون گفته بهتر است یعنی خطای نحوی نیست

بررسی سوالات PL مهندسی کامپیوتر ۹۲ - hananeh2 - 20 بهمن ۱۳۹۱ ۱۰:۴۳ ب.ظ

جواب سوال که گفته = بزاریم به جای == خطای منطقی داره چون شرط همیشه درست میشه به جای مقایسه انتساب انجام می ده

بررسی سوالات PL مهندسی کامپیوتر ۹۲ - fsi2013 - 20 بهمن ۱۳۹۱ ۱۱:۰۳ ب.ظ

بچه ها وقتی اجرا کردین خطا نداده یعنی منطقیه دیگ! خطای منطقی یعنی برنامه درست کار میکنه و کامپایلر یا مفسر یا هرچی ارور نمی ده ولی از نظر منطق و فکر برنامه نویس ایراد داره واسه همینه که میگن خطاهای منطقی بدترین نوع خطاست چون واقعا ادم گیج میشه تا خودش بفهمه چه اشتباهی کرده Smile اینم دومین اشتباه خودم تو درس پی ال Sad

بررسی سوالات PL مهندسی کامپیوتر ۹۲ - arta.66 - 21 بهمن ۱۳۹۱ ۱۲:۰۰ ق.ظ

من همه نظراتو خوندم و تعجب خاصی که کردم این بود که حتی بچه هایی که توو هنرستان دارن دیپلم کام می گیرن میدونن این نوع خطا هم توو پاسکال هم توو سی خطای منطقی هستش