حل تمرین بازی minesweeper  با c++

بازی minesweeper  سورس کد با c++

 

حل تمرین بازی mine sweeper با برنامه نویسی c++

 برنامه ای مشابه  minesweeper ویندوز بنویسید که یک جدول m*n را در نظر بگیرد، تعدادی از خانه های جدول بمب هستند و در بقیه خانه ها اعدادی وجود دارد که نشانه گر تعداد بمب هایی است که در  8 طرف آن خانه قرار دارد.

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

 

اگر با این بازی آشنایی ندارید بهتر است قبل از شروع به کد نویسی  ابتدا خود بازی را یاد بگیرید تا سوال بهتر مفهوم بشه. اگه این بازی را بلد باشین سوال خیلی سادس. باید یه آرایه n*m درست کنید که تعداد بمب ها را بگیره و بمب ها را جایگذاری کنید( در آرایه) و سپس اعداد محاسبه و در آرایه قرار بگیرند. وقتی یک خانه عدد 5 هست یعنی دور تا دور آن خانه اندیسهای چسبیده بهش(8خانه دور تا دورش) 5 تا بمب هست.

 

دانلود بازی مین سویپر minesweeper

 

الگوریتم:

 اول اینکه آرایه به صورت عددی هست و * نمیشه توی آرایه عددی گذاشت پس ما اینجا بجای* عدد منفی یک را در نظر میگیریم. چون هیچوقت جمع بمب ها منفی یک نمیشه.

اولین کاری که میکنیم اینه که 2 ورودی برای متغیر های m و n میگیریم تا تعداد سطر و ستون مشخص بشه

دومین کار اینکه تعداد بمب ها را از ورودی میگیریم تا به تعدادش با یک حلقه for اندیس x,y بمب ها را دریافت کنیم.

بعد از اینکه بمب ها دریافت شد و بجاش توی آرایه -1 قرار دادیم حالا باید اعداد را بسازیم.

آرایه را از اول تا آخر پیمایش میکنیم هر خانه ای که بمب نبود یعنی بزرگتر از منفی کی بود را اندیس xوy اون خانه رو میفرستیم به تابع bombcalculator تا بمبهای دور تا دور اون اندیس را محاسبه کنه و در اندیس قرار دهد.

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

 در نهایت هم که اعداد محاسبه و جای گذاری شد از ابتدا و انتها آرایه دو بعدی خودمون رو چاپ میکنیم فقط هرجا منفی یک دیدیم بجاش * چاپ میکنیم.

 

ورودی برنامه mine sweeper و خروجی آن:

سورس کد بازی mine sweeper

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

خط بعد تعداد بمب ها و خط های بعد هم به صورت زوج عدد سطر و ستون بمب ها را دریافت میکنند.

 

سورس کد برنامه:

//start----

 # include < stdio.h >

int n,m;

int x[100][100];

int i,j,k;

int bombcalculator(int a,int b){

int sum=0;

int y,z;

for(y=a-1;y<=a+1;y++)

{

for(z=b-1;z<=b+1;z++)

{

if(y<=n && z<=m && (y!=a || b!=z))

if(x[y][z]==-1)

sum++;

}

}

return sum;

}

int main(){

int bomb=0; 

scanf("%d %d",&n,&m);

scanf("%d",&bomb);

for(k=1;k<=bomb;k++){

scanf("%d %d",&i,&j); 

x[i][j]=-1;

int a=2;

int b=4;

int y,z;

for(y=1;y<=n;y++){

for(z=1;z<=m;z++){

if(x[y][z]!=-1)

x[y][z]= bombcalculator(y,z); 

}

for(y=1;y<=n;y++){

printf("\n");

for(z=1;z<=m;z++){

if(x[y][z]==-1){

printf("* ");

}else{

printf("%d ",x[y][z]); 

}

}

}

return 0;

}

//end--

دانلود سورس کد حل تمرین بازی minesweeper

انواع سلکتور در css

انواع سلکتورها در css:

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

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

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

 

همونطور که در فیلم جلسه قبل نشون دادم و توی متن هم توضیح دادم میشه با استفاده از نام تگ تمام تگهای اون نام را انتخاب کرد مثلا میشه گفت تمام تگ های a یا تمام تگ های h1 یا تگهای p و...

به شکل زیر مینویسیم:

p {

color : red;

}

در دستور css بالا تمام تگ های p نوشته هاشون به رنگ قرمز در می آید.

مثال بعدی:

.active {

background:green;

}

#ali {

color:yellow;

}

در مثال بالا هم یک id و یک کلاس تعریف کردیم که رنگهای متفاوتی به آنها نسبت دادیم.

اگر جلسه قبل را فراموش کردید یکبار دیگه مطالعه کنید. ولی برای نسبت دادن id و class به تگ به شکل زیر کد نویسی میکنیم.

< div id = " ali " >

< / div >

< span class = "active" >

< / span >

 علامت , بین نام سلکتورها:

با استفاده از این علامت بین دو آیدی یا دو کلاس و .. میتوان دستورات css را به چند کلاس یا id و... نسبت داد.

با مثال بیشتر قضیه روشن میشود:

span,div{

}

.active,#ali,p{

}

همونطور که در کدها بالا میبینید میتوان از علامت , هم استفاده کرد تا نیاز نباشد دستورات css برای هر تگ جدا نوشته شود.

 

علامت بعدی علامت فاصله هست

اگر دو سلکتور بنویسید و بین آنها فاصله باشد منظور اینه که دومی داخل اولی هست

مثال:

.active #ali{

}

کدهای بالا به تگی که آیدی ali دارد و داخل تگی قرار دارد که کلاس active دارد اشاره میکند

 

مثال2:

.active div{

}

مثال بالا به تگهای دیو داخل تگهایی که کلاس active دارند اشاره میکند

 

یک نکته:

//start-----

< div class = " active " >

< span >

 < div >

    < div >

   < / div >

< / div >

< / span >

< / div >

//end----

به کدهای بالا دقت کنید وقتی میگیم تگ های دیوی که داخل تگی با کلاس active هست یعنی برو توی تگی که کلاس active داره و تمام زیر مجموعه هاش هر جا تگ div دیدی.

دقت کنید که دیو های داخل active داخل تگ span هستند و باز کدهای css روی آنها اعمال می شود.

بعضی وقتها میخوایم بگیم مثلا تگهای div که مستقیما داخل تگی که کلاس active داره. در اون زمان باید از علامت < استفاده کنیم.

مثال:

 .active > div{

background:red;

}

< div class=" active" >

 < p >

 < div id="dv1" >

salam

< / div >

< / p >

< div id="dv2" >

hello

< / div >

< / div >

به کدهای css و تگ های html بالا نگاه کنید. فقط تگ با آیدی dv2 تغییر رنگ می دهد چون تگ با آیدی dv1 مستقیما داخل تگ با کلاس active نیست و خودش داخل تگ p هست

علامت فاصله در بین سلکتورها:

وقتی 2 سلکتور را با فاصله مینویسیم یعنی سلکتور دوم در سلکتور اول قرار دارد. خب این یعنی چی؟

به مثال دقت کنید

< style >

div .active

 

کد بالا به معنی این هست که داخل تمام دیوها بره و تگهایی که کلاس active دارند.

 

حالا اگر سلکتورها را بدون فاصله بنویسیم:

< style >

div.active{

 

}

< / style >

 

معنی کد بالا میشه تمام تگهای دیوی که کلاس active را دارند.

مثال 2:

< style >

div.btn.active{

}

< /style>

کد css بالا یعنی تمام تگ های دیوی که هم کلاس btn و هم کلاس active را دارند.

صفحه قبلیصفحه بعدی

ساخت کلاس در css

کلاس ها در css:

مفهوم کلاس در css:

فرض کنید با دستورات css یک دکمه ساختیم که مثلا پس زمینه سبز و سایه داشته باشه و نوشته سفید و... حالا اگه بخوایم این استایلی که به دکمه دادیم به تمام دکمه هامون اعمال کنیم. به عبارتی میخوایم چندین بار از این دستورات استفاده کنیم از کلاس استفاده میکنیم.

به این صورت که در تگ استایل یک نام برای کلاس نوشته و قبلش نقطه میگذاریم و بعد یک آکولاد باز و بسته و دستورات را مینویسیم. سپس برای اعمال کلاس به هر تگی با پروپرتی class آن را به تگ ها اعمال میکنیم.

به مثال زیر دقت کنید:

 < style >

.ali{

color:white;

background:green;

border:1px solid #ccc;

box-shadow:1px 2px 3px #ccc;

width:90px;

height:30px;

border-radius:10px 0 10px 0;

text-align:center;

line-height:30px;

}

< / style >

  

< div class = " ali " >

Button1

< / div >

< div class = " ali " >

Button2

< / div >

< div class = " ali " >

Button3

< / div >

 

همونطور که در کدها میبینید کلاس ali را یک بار تعریف کردیم و سه بار استفاده کردیم.

پروپرتی id:

بعضی وقتها وقتی یک استایل را مینویسیم فقط یک بار میخوایم ازش استفاده کنیم میتونیم بجای کلاس از id استفاده کنیم.

تفاوت id و class در css:

id اشاره میکنه به یک تگ ولی class اشاره میکنه به یک گروه تگ که از کلاس استفاده کرده اند.

از کلاس میتوان بارها استفاده کرد ولی از id فقط یک بار میتوان استفاده کرد.

هر دو برای select کردن تگ هستند

صفحه قبلیصفحه بعدی

قالب بندی صفحه با html و css

قالب بندی صفحه وب

تگ div

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

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

 

مثال:

 < div > 

 در این قسمت هرچی بنویسیم اندازه تگ دیو بزرگتر میشه

 < / div >

 

شروع کار با css

 

کدهای css در تگ style نوشته می شوند.

برای اینکه به یک تگ کدهای css نسبت بدهیم میتوان از چند روش اشتفاده کرد.

کدهای css دو قسمت دارند یکی propertiy یا مشخصه ای که قراره تغییر کنه و یکی مقدار مشخصه یا value هست. پروپرتی و value با علامت : از هم متمایز میشوند.

1- استایل دهی inline در html

:مثال

 

< div style = "color : red; background : black; "  >

    hello world

< / div >

 

 همونطور که در کدهای بالا مشاهده میکنید یک پروپرتی style هست که ما کدهای css را در آن نوشتیم و color رنگ نوشته های داخل تگ را تغییر میدهد و bachground هم پس زمینه تگ div را.

حالا میخواهیم به تگ div  حاشیه بدیم دورش مثلا خط سیاه بکشیم که محدوده اش مشخص بشه.

مثال:

 

< div style = "  color : red ; background : black ; border: 2px solid blue " > 

< / div >

 

دستور border در css سه مقدار میگیرد اولی تعداد پیکسل برای حاشیه هست و دومی نوع حاشیه که خط صاف باشه ( solid) و یا خط چین باشه (dash) و یا نقطه باشه. و سومین مقدار رنگ حاشیه هست.

رنگ میتواند به صورت عددی وارد شود که دو رقم اول رنگ قرمر و دو رقم بعد رنگ سبز و دو رقم بعدی رنگ آبی هست که سیستم رنگ rgb را پیاده سازی میکند.

مثلا این رنگ قرمز هست:

#ff0000 قرمز

#00ff00 سبز

#0000ff آبی

شماره رنگ ها را میشه از برنامه فتوشاپ یا paint ویندوز هم در آورد.

که در css به این شکل نوشته میشود

color : #12fb45;

2- استایل دهی internal:

در این روش یک تگ style باز میکنیم و کدهای css را در آن مینویسیم و استایل را توسط یکی از selectorها به تگ اعمال میکنیم.

selector ها:

1- نام تگ:

با نوشتن نام تگ و باز کردن براکت {} میتوان کدهای css را به مجموعه ای از تگها اعمال کرد مثلا تمام تگهای div را بهشون یک border میدهیم.

مثال:

//start---

< style >

  div{

     border:1px solid #000000;

   }

< / style >

< div >

hello world...

< / div >

//end----

در کد بالا تمامی تگ های div یک حاشیه 1 پیکسلی سیاه میگیرند

دانلود ویدئو آموزش مطالب این صفحه

صفحه قبلیصفحه بعدی

فیلم آموزش طراحی سایت از صفر تا صد رایگان html css

فیلم آموزش طراحی سایت از صفر تا صد رایگان html css

فیلم آموزش بوت استرپ bootstrap رایگان

فیلم آموزش html css رایگان

فیلم آموزش javascript رایگان

فیلم آموزش php رایگان

فیلم آموزش mvc رایگان

در این قسمت سعی میکنم فیلم های آموزشی بگذارم که اگه به ترتیب دنبال کنید از صفرم اگه شروع کرده باشید میتونید طراحی وب یاد بگیرید. طراحی وب با php هستش و آنهایی که به دنبال php نیستند و زبانهایی مثل asp و python میخونند بازم میتونن جلسات زیادی رو ببینند چون اولش از html و css و bootstrap و javascript شروع میشه که خیلی خوب هست و بدردتون میخوره.

ویدئوهای زیر همگی مربوط به آموزش تصویری html و css هستند. و مطالب bootstrap و php را در صفحات بعدی قرار می دهم تا مطالب دسته بندی شوند.

 

 

فیلم آموزش طراحی سایت  از صفر تا صد جلسه 25-1 (html css)

 

 

فیلم آموزش طراحی سایت  از صفر تا صد جلسه 25-2 (html css)

 

 

 

فیلم آموزش طراحی سایت  از صفر تا صد جلسه 25-3 (html css)

 

 

فیلم آموزش طراحی سایت  از صفر تا صد جلسه 25-4 (html css)

 

 

 

فیلم آموزش طراحی سایت  از صفر تا صد جلسه 25-5 (html css)

 

 

فیلم آموزش طراحی سایت  از صفر تا صد جلسه 25-6 (html css)

 

 

 

فیلم آموزش طراحی سایت  از صفر تا صد جلسه 25-7 (html css)

 

 

فیلم آموزش طراحی سایت  از صفر تا صد جلسه 25-8 (html css)

 

 

 

فیلم آموزش طراحی سایت  از صفر تا صد جلسه 25-9 (html css)

 

 

فیلم آموزش طراحی سایت  از صفر تا صد جلسه 25-10 (html css)

 

 

 

صفحه قبلیصفحه بعدی

طراحی سایت با php و mvc

فرم ها در html:

تگ form

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

جلوتر بیشتر با فرم ها آشنا میشویم.

تگ input:

تگ input برای گرفتن اطلاعات از کاربر به کار می رود. این تگ میتواند به شکل های مختلفی خود را در صفحه نشان دهد.

برای ساخت یک text box در صفحه html به شکل زیر عمل میکنیم:

 

< form action = " " method = " "  >

< input  type = " text "  name = " txt1 "  placeholder="پسورد را وارد کنید" /> 

< br >

< br >

< input  type = " password "  name = " pass1 " placeholder = " پسورد را وارد کنید "  / > 

< br >

< br >

< input type = "radio" name =" radio1">

< input type = "radio" name =" radio1">

< input  type = " button " name = " btn1 " value = " ثبت اطلاعات "  / >

< / form  >

 

 

پروپرتی action در تگ form تعیین میکنه که اطلاعات به چه صفحه ای ارسال شوند. در جلسات آینده زیاد با فرم سر و کار داریم. همچنین تگ form یک پروپرتی به نام method دارد که باز در آینده در موردش صحبت میکنیم.

همونطور که میبینید سه بار از تگ input استفاده شده ولی با تایپ های مختلف. وقتی ویژگی type برابر با text باشه تگ input یک باکس برای نوشتن متن نمایش میدهد و اگر از نوع password باشه بازم یک باکس برای نوشتن متن هست فقط هرچی داخل باکس تایپ کنیم به ما به صورت ستاره نمایش داده میشوند. و اگر از نوع button باشد یک دکمه ایجاد می شود.

تگ br هم برای رفتن به خط بعدی استفاده میشه. که البته کسی این تگ رو تو صفحه استفاده نمیکنه معمولا برای فاصله دادن و مرتب کردن از دستورات css استفاده میشود. ولی خب بد نبود که بدونید.

پروپرتی name هم برای نام دادن به تگ ها هست. وقتی یک فرم ارسال میشه برای گرفتن مقدارهای باکس هایی که پر شدن پروپرتی name مهم میشه. چرا؟ چون ما میگیم تگ input ای رو مقدارشو بگیر که نامش مثلا pass1 هست. 

پروپرتی placeholder برای نوشتن یک متن در باکس های متنی هست. که به کاربر راهنمایی میکنیم مثلا شماره تلفنشو با چه قالبی وارد کنه. به محض اینکه داخل باکس چیزی بنویسیم placeholder از بین میره و نوشته اش دیگه نمایش داده نمیشه.

پروپرتی radio در تگ input باعث میشود تگ به یک دکمه رادیویی تبدیل شود. دکمه های رادیویی برای انتخاب یک گزینه از بین چند گزینه استفاده میشوند.

دقت داشته باشید که فقط radio هایی در یک دسته قرار میگیرند که هم نام باشند. اگر هم نام نباشند هر کدوم در دسته ای جدا در نظر گرفته می شوند و میشه تمامشونو انتخاب کرد.

 

برای فهم بهتر مطالب این صفحه به فیلم آموزشی زیر نگاهی بندازید:

 ویدئو آموزشی مباحث این صفحه

صفحه قبلیصفحه بعدی

طراحی سایت با php و mvc

تدریس خصوصی طراحی سایت با php mvc

 

درس دوم طراحی سایت با php و mvc

تگ b:

برای برجسته کردن یک نوشته میتوان آن را در تگ < b > نوشت ولی معمولا این کار را نمیکنن چون استایل دادن به تگ ها توسط css انجام میشود و ما با css میتوانیم هر استایل خاصی به متن و تگ خودمون بدیم

مثال:

< b > Hello < / b >

تگ a در html

برای ساخت یک لینک ( ابر متن ) از تگ a استفاده میشود. البته از تگ a استفاده های دیگه ای از جمله لنگر سازی میشه که بعدا درباره اش صحبت میکنیم.

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

مثال:

< a   href = " http : / / www.google.com " > گوگل < / a >

همونجور که در کدهای بالا مشاهده میکنید آدرس لینک را در جلوی href مینویسیم دقت کنید که عبارت http هم باید بنویسید وگرنه لینک درست کار نمیکند.

تگ img

برای نمایش یک عکس از تگ img استفاده میشود. 

هر تگ شامل یه سری ویژگی هایی میشود که بهشون میگن property در تگ a ما یک property به نام href داشتیم.

هر تگ میتواند پروپرتی های خاص خود را داشته باشد ولی پروپرتی هایی هم هستند مانند width , height , name , onclick و ... که عمومی هستند و تمام تگ ها میتوانند از آن پروپرتی ها استفاده کنند.

پروپرتیها ی تگ img:

برای اینکه یک عکس در صفحه نمایش داده شود از تگ img استفاده میکنیم و آدرس عکس را در ویژگی ای به نام src مخفف source مینویسیم.

پروپرتی alt:

این ویژگی خیلی خیلی مهمه در واقع وقتی تو گوگل عکس سرچ میکنن گوگل به قسمت alt عکس نگاه میکنه پس حتما به پروپرتی alt هم مقداری بدهید.

مثال: یک عکس در صفحه با اندازه 50 پیکسل در 50 پیکسل نمایش دهید که با کلیک بر روی آن به صفحه گوگل هدایت شویم.

< a href = " http : / / www.google.com " >

< img src = " 01.jpg "   width = " 50 "   height = " 50 " alt = "  نمایش عکس در صفحه وب" / >

<  / a >

همونطور که در کدها مشاهده میکنید تگ img تگ بسته ندارد.

 

تگ title:

با استفاده از این تگ میتوان برای صفحه وب عنوانی در نظر گرفت.

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

کمی از سئو بدانیم:

سئو(seo) امروزه شده یک علم جدا. علم اینکه چکار کنیم اولا توی صفحه گوگل اول باشیم و دوما تمام کسایی که تو سایت میان به مشتری تبدیل بشن و برای ما سود آور باشند.

طبق تجربه شخصی سه چیز خیلی مهم در سئو اینها هستند:

1- قدیمی بودن سایت: پس دلسرد نشید که با ماه اول حتی در صفحات دهم گوگل و توی آلکسا پیدا نمیشید.

2- آپدیت کردن سایت و به روز بودن

3- موندگاری کاربران در سایت: چکار کنیم کاربر تا وارد شد خارج نشه و چند دقیقه تو سایت بمونه؟ یا چت آنلاین بذارید و یا مطالب مفید و عکسها و چیزهای جالب که نظر کاربرا رو جلب کنه

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

و اما عنوان سایت:

چجور برای سایت عنوان بذاریم؟

معمولا عنوان سایت را در تگ head قرار میدهند. با یک مثال به راحتی متوجه میشوید که چجور عنوان برای سایت بذاریم:

مثال:

< html >

 < head >

 < title > تدریس خصوصی طراحی سایت در تهران  < / title >

< / head >

< / html >

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

تگ H1,H2,H3:

این تگ ها باعث میشند که متن ما بزرگتر نمایش داده بشوند که البته میتوان با css حتی فونتشم تغییر داد. ولی در کل h1 برای سر تیتر صفحه استفاده میشه و h2 میتونه برای مواردی که اولویت کمتری دارند مثل مثلا بخش های یک مقاله و h3  میتونه برای تیتر هر پاراگراف هم قرار بگیره.

نکته مهمی که اینجاست اینه که مطلبی که داخل تگ h1 نوشته میشه اولویت بالایی داره. و اینکه به هیچ عنوان نباید 2 بار توی یک صفحه استفاده بشه وگرنه اولویت رو بهتر که نمیکنه رنکینگ سایتتم پایین میاره. ولی تگهای h2وh3 میتونه بیش از یک بار استفاده بشه.

مثال:

 

< h1 > تدریس طراحی سایت در تهران < / h1 >

< h2 > طراحی سایت با  داینامیک فصل 1 < / h2 >

< h3 > امنیت در طراحی وب سایت < / h3 >

تگ p:

از این تگ برای نوشتن یک پاراگراف استفاده میشود.

تگ br:

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

مثال:

 

hello

< br >

how are you? 

< br >

در انتها برای مفهوم شدن مطالب یک فیلم آموزشی هم قرار میدم که مطالب این صفحه را نشان داده ام.

دانلود فیلم آموزشی مباحث این صفحه

صفحه قبلیصفحه بعدی

طراحی سایت با php و mvc

آموزش طراحی سایت با php و mvc جلسه اول

مقدمه:

نوشته هایی که در این و بلاگ مینویسم سعی میکنم صفحه های بعدی و قبلی براش بذارم تا کاربرها بتونن صفحات قبل و بعد را پیدا کنند و همچنین بتونن آموزش را از ابتدا تا انتها دنبال کنند.

این آموزش مختص کسایی هست که می خواهند از صفر تا صد طراحی سایت را یاد بگیرند و وارد بازار کار شوند.

مباحثی که در تمامی جلسات فرا خواهید گرفت شامل:

html css

javascript

jquery

php

ajax

mvc

امنیت در php

mysql

معرفی بعضی تکنولوژی ها و ابزارها مانند: seo و bootstrap و jqwidgets و ...

شی گرایی oop

برنامه نویسی سه لایه mvc

معرفی بعضی نرم افزارها در طول دوره مانند نرم افزار ساخت logo و..

 

شروع کار:

اولین مطلبی که نیازه بدونیم اینه که ابزارهای کارمون چیه؟ مفهوم طراحی سایت چیه و ما باید از کجا طراحی سایت را شروع کنیم؟ باید چه مطالبی را یاد بگیریم؟

اگه یه نگاهی به نوشته های بالا بندازید متوجه میشید که چه مباحثی قراره یاد بگیرید و نیازه.

ابزارهایی که نیاز کار ما هست در حال حاضر اینها هستند:

فتوشاپ و nodepad+ و phpstorm و xamp server

که میتوانید با یک سرچ کوچیک دانلود و نصب کنید.

ابزار بعدی که نیازه مرورگر هست که معمولا بر روی تمام سیستم ها حداقل یکی دو مرورگر نصب هست.

اما بهتر است مرورگرهای google chrome و firefox و internet explorer و safari را حداقل بر روی سیستم داشته باشید تا صفحه ای که میسازیم در مرورگرهای مختلف تست بشه.

 

مرورگر چیه؟

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

html چیست؟

قالب سایت را معمولا با html میسازند یعنی چهارچوب و اسکلت بندی سایت با html هستو css میاد و روی تگهای html تغییراتی ایجاد میکنه مثلا اندازه اش رو تغییر میده و یک تم خاصی بهش میده. یعنی اگه بخوایم یک تصویر توی صفحه بذاریم اینکه تصویر باشه یا نه تگ html هست و اینکه مثلا تصویر دورش هاشیه داشته باشه و سایه داشته باشه css هست.

تگ چیست؟

کدهای html به صورت تگ نوشته میشوند یعنی با علامت بزرگتر کوچکتر و اسم تگ

مثال:

< html >

   < head >

   < / head >

   < body >

       < p > سلام < / p >

   < / body >

< / html >

 

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

نکته:

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

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

 

تگ html: معمولا تمام تگها در این تگ قرار میگیرند البته اگر حتی این تگ را ننویسیم خطایی در خروجی نمیبینیم ولی از نظر گوگل خطا هست و رنکینگ ما پایین میاد. 

تگ body: در این تگ تمامی تگهایی که میخواهیم در خروجی نمایش داده شوند را مینویسیم

تگ head: در این قسمت معمولا کدهایی را مینویسیم که در خروجی نمایش داده نمیشوند ولی در خروجی تاثیر میگذارند. مثلا کتابخانه ی jquery را در این قسمت لود میکنیم.

تگ ها را باید با چه نرم افزاری بنویسیم؟

با هر نرم افزار ویرایش متنی میتونیم بنویسیم مثلا با notpad خود ویندوز ولی بعضی نرم افزارها برای این کار ساخته شده اند و به ما کمک میکنند سریعتر تایپ کنیم و خطاهای کمتری داشته باشیم و خوانایی کدها را برای ما بهتر میکنند.

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

مثال: یک فایل با نوت پد ایجاد کنید و پسوند آن را html بگذارید و داخل آن تگ های زیر را بنویسید و سپس روی فایل 2 بار کلیک کنید.

 تگ p برای نمایش یک پاراگراف هست و باعث میشود قبل از متن یعنی بین متن قبلی و پاراگراف ما یک فاصله ای بیفته. به این فاصله margin میگن که در ادامه درباره مارجین و همچنین کم و زیاد کردن مارجین بیشتر بحث میکنیم.

به تصویر زیر دقت کنید:

طراحی سایت با php mvc

 

در انتها بد نیست این فیلم آموزشی را هم نگاهی بندازید:

فیلم آموزشی طراحی سایت با php mvc مباحث این صفحه

صفحه قبلیصفحه بعدی

پروژه رسم لوزی با ستاره در c++

برنامه ای بنویسید که با استفاده از ستاره یک لوزی را در خروجی نمایش دهد

 

#include

#include

using namespace std;

int main(){

int i,j;

for (int i=0; i<=10; i++)

{  

   for (int j=0 ; j<=10; j++)

   { 

      if (i<=5) 

         if (j < 5 - i ||  j > 5 + i ) printf(" ") ; 

         else printf("*");

      else

         if ( j < i - 5 || j >15 - i) printf(" ");

         else printf("*");

   }

printf("\n");

}

return 0;

}

 

برنامه ای بنویسید که قدر مطلق یک عدد را چاپ کند

برنامه ای بنویسید که یک عدد دریافت کرده قدر مطلق آن را در خروجی نمایش دهد.

الگوریتم:

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

 

int main(){

int n;

scanf("%d",&n);

if(n>=0){

   printf("%d",n);

}else{

   printf("%d",(n*-1));

}

return 0;

}

برنامه ای بنویسید که مجموع ارقام یک عدد را محاسبه کند

برنامه ای بنویسید که مجموع ارقام یک عدد را محاسبه کند

مثال:

عدد 123 را در نظر بگیرید. مجموع ارقام این عدد برابر با 6 میشود.

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

 

حل تمرین:

 

#include

int main(){

int a;

int b=0;

scanf("%d",&a);

while(a!=0){

   b=b+a%10;

   a=a/10;

}

printf("%d",b);

return 0;

}

 

 

برنامه ای بنویسید که جمع دو ماتریس را محاسبه کند.

برنامه ای بنویسید که جمع دو ماتریس n*m را محاسبه و چاپ نماید.

در این برنامه ابتدا تعداد سطها و تعداد ستونهای ماتریس از ورودی دریافت می شوند و سپس 2 ماتریس مقدار دهی شده و بعد باهم جمع شده و چاپ می شوند.

  

#include

using namespace std;

 int main()

{

int row,col,i,j,a[50][50],b[50][50];

printf("Row:");

scanf("%d",&row);

printf("Col:");

scanf("%d",&col);

 

for(i=0;i

   for(j=0;j

      printf("\na[%d,%d]=",i,j);

      scanf("%d",&a[i][j]);

   } 

}

 

for(i=0;i

   for(j=0;j

      printf("\nb[%d,%d]=",i,j);

      scanf("%d",&b[i][j]);

   } 

}

for(i=0;i

   for(j=0;j

      printf("\ta[%d,%d]+b[%d,%d]=%d",i,j,i,j,a[i][j]+b[i][j]);

   } 

   printf("\n");

}

}

 

 

 

برنامه ای بنویسید که با استفاده از تابع بازگشتی ب م م و ک م م را محاسبه و چاپ کند

 برنامه ای بنویسید که با استفاده از دستورات c++ و تابع بازگشتی بزرگترین مقسوم علیه مشترک (ب م م) و کوچکترین مضرب مشترک (ک م م) را محاسبه و چاپ کند

#include

int bmm(int a,int b)

{

   if(b==0)

   return a;

   return bmm(b,a%b);

}

 

int kmm(int a,int b)

{

   return (a*b)/bmm(a,b);

}

int main(){

   printf("%d ",kmm(20,15));

   printf("%d ",bmm(20,15));

return 0;

}

برنامه ای بنویسید که با استفاده از تابع بازگشتی فیبوناچی تا n را محاسبه و چاپ کند

برنامه ای بنویسید که سری فیبوناچی را تا n عدد با استفاده از تابع بازگشتی  چاپ کند.

سری فیبوناچی:

هر عدد از جمع دو عدد قبل بدست می آید به اعداد زیر دقت کنید:

1 1 2 3 5 8 13 21 34...

 

#include

long int fibo(long int x)

{

if (x<=0)

return 0;

if (x==1||x==2)

return 1;

return fibo(x-1)+fibo(x-2);

}

//---------- main ----------------

int main(){

long int i;

int n;

printf(" type n number for fibonschi : ");

scanf("%d",&n);

for (i=1 ; i<=n;i++){

printf("%d \n",fibo(i));

}

 

return 0;

}

برنامه ای بنویسید که اعداد 1 تا n را چاپ کند

برنامه ای بنویسید که اعداد 1 تا n را در خروجی چاپ کند

int i,n;

scanf("%d",&n);

for(i=1;i<=n;i++){

  printf(" %d \n",i);

}

برنامه ای بنویسید که یک عدد را گرفته معکوس آن را چاپ کند

برنامه ای بنویسید که  با استفاده از c++ یک عدد را گرفته معکوس آن را چاپ کند

int a;

scanf("%i",&a);

while(a!=0){

printf("%d",a%10);

a=a/10;

}

برنامه ای بنویسید که یک عدد را گرفته و کاراکتر معادل آن را چاپ کند

برنامه ای بنویسید که یک عدد را گرفته و کاراکتر معادل آن را چاپ کند

 

int main()

{

int a;

scanf("%i",&a);

printf("%c",a);

}

برنامه ای بنویسید که یک کاراکتر را گرفته و کد اسکی معادل آن را چاپ کند

برنامه ای بنویسید که یک کاراکتر را گرفته و کد اسکی معادل آن را چاپ کند

 

int main()

{

char c;

scanf("%c",&c);

printf("%d",c);

}