- ارسال ها
- 199
- لایک ها
- 268
- امتیاز
- 0
سلام
از امروز تا مرحله 3، یک ماراتن برنامه نویسی خلاقانه با یک زبان بسیار ساده خواهیم داشت. این زبان بسیار ساده است و نیازی به دانستن برنامه نویسی ندارد. برنامه های این زبان بسیار خلاقانه هستند و مهمترین چیز در این زبان نوشتن تا حد ممکن کوتاه است. در دوره های 5 و 7 مرحله 2 کامپیوتر از این زبان (به شکلی دیگر) استفاده شده است. این زبان مخصوصا برای کسانی که می خواهند برنامه نویسی را شروع کنند، بسیار مفید است. در این ماراتن هر روز من یک یا چند سوال می دهم و شما برنامه هایتان را در کم ترین خط ممکن بنویسید.
در یک زبان برنامه نویسی 4 حافظه داریم. این حافظه ها تنها مقدارهای صحیح نامنفی را قبول می کنند. هرگاه مقدار یکی از این حافظه ها منفی شود، برنامه نادرست خواهد بود. این زبان فقط 4 دستور زیر را دارد:
D
I
J[r, d]
j[r-, d]
دستور اول به معنای آن است که از مقدار حافظه ی i ام، 1 واحد کم کن. دستور دوم به حافظه ی i ام 1 واحد زیاد می کند. در دستور سوم اگر حافظه ی iام 0 نباشد، d خط جلو می رویم. (ممکن است d منفی باشد و عقب برویم). در دستور چهارم اگر حافظه ی i ام 0 باشد، d خط جلو می رویم.
مثلا فرض کنید در ابتدا مقدار تمام حافظه ها به جز حافظه ی اول، 0 باشد و در حافظه ی اول n باشد. فرض کنید بخواهیم مقدار حافظه ی اول را 0 کنیم. می توان به صورت زیر برنامه را نوشت:
I[1]
D[1]
j[1, -1];
حال برای دست گرمی 3 برنامه ی زیر را بنویسید:
1. در ابتدا مقدار تمام حافظه ها به جز اولی 0 باشد. مقدار حافظه ی اول نیز n باشد. حال می خواهیم به حالتی برسیم که تمام حافظه ها به جز دومی 0 باشد و مقدار حافظه ی دوم n باشد.
2. در ابتدا مقدار تمام حافظه ها به جز اولی و دومی 0 باشد. مقدار حافظه ی اول و دوم نیز به ترتیب m و n باشد. حال می خواهیم به حالتی برسیم که در حافظه ی سوم، مقدار mn قرار بگیرد.
3. در ابتدا مقدار تمام حافظه ها به جز اولی و دومی 0 باشد. مقدار حافظه ی اول و دوم نیز به ترتیب m و n باشد. n برابر با 0 نیست. حال می خواهیم به حالتی برسیم که در حافظه ی سوم، جزء صحیح m / n قرار بگیرد و در حافظه ی چهارم باقیمانده ی m در تقسیم بر n قرار بگیرد.
از امروز تا مرحله 3، یک ماراتن برنامه نویسی خلاقانه با یک زبان بسیار ساده خواهیم داشت. این زبان بسیار ساده است و نیازی به دانستن برنامه نویسی ندارد. برنامه های این زبان بسیار خلاقانه هستند و مهمترین چیز در این زبان نوشتن تا حد ممکن کوتاه است. در دوره های 5 و 7 مرحله 2 کامپیوتر از این زبان (به شکلی دیگر) استفاده شده است. این زبان مخصوصا برای کسانی که می خواهند برنامه نویسی را شروع کنند، بسیار مفید است. در این ماراتن هر روز من یک یا چند سوال می دهم و شما برنامه هایتان را در کم ترین خط ممکن بنویسید.
در یک زبان برنامه نویسی 4 حافظه داریم. این حافظه ها تنها مقدارهای صحیح نامنفی را قبول می کنند. هرگاه مقدار یکی از این حافظه ها منفی شود، برنامه نادرست خواهد بود. این زبان فقط 4 دستور زیر را دارد:
D
I
J[r, d]
j[r-, d]
دستور اول به معنای آن است که از مقدار حافظه ی i ام، 1 واحد کم کن. دستور دوم به حافظه ی i ام 1 واحد زیاد می کند. در دستور سوم اگر حافظه ی iام 0 نباشد، d خط جلو می رویم. (ممکن است d منفی باشد و عقب برویم). در دستور چهارم اگر حافظه ی i ام 0 باشد، d خط جلو می رویم.
مثلا فرض کنید در ابتدا مقدار تمام حافظه ها به جز حافظه ی اول، 0 باشد و در حافظه ی اول n باشد. فرض کنید بخواهیم مقدار حافظه ی اول را 0 کنیم. می توان به صورت زیر برنامه را نوشت:
I[1]
D[1]
j[1, -1];
حال برای دست گرمی 3 برنامه ی زیر را بنویسید:
1. در ابتدا مقدار تمام حافظه ها به جز اولی 0 باشد. مقدار حافظه ی اول نیز n باشد. حال می خواهیم به حالتی برسیم که تمام حافظه ها به جز دومی 0 باشد و مقدار حافظه ی دوم n باشد.
2. در ابتدا مقدار تمام حافظه ها به جز اولی و دومی 0 باشد. مقدار حافظه ی اول و دوم نیز به ترتیب m و n باشد. حال می خواهیم به حالتی برسیم که در حافظه ی سوم، مقدار mn قرار بگیرد.
3. در ابتدا مقدار تمام حافظه ها به جز اولی و دومی 0 باشد. مقدار حافظه ی اول و دوم نیز به ترتیب m و n باشد. n برابر با 0 نیست. حال می خواهیم به حالتی برسیم که در حافظه ی سوم، جزء صحیح m / n قرار بگیرد و در حافظه ی چهارم باقیمانده ی m در تقسیم بر n قرار بگیرد.
آخرین ویرایش توسط مدیر