language agnostic - meaning - <10 লাইনের সাধারণ কোডগুলিতে আপনি কী করতে পারেন এমন দুর্দান্ত জিনিসটি? আমাকে অনুপ্রাণিত অনুপ্রেরণা সাহায্য করুন!




অজ্ঞেয়বাদ (20)

পিএইচপি - সের্পিনস্কি গ্যকেটে ট্রাইফোর্স উ

ঠিক আছে, এটি কোডের 15 টি লাইন কিন্তু ফলাফলটি অসাধারণ! এই ধরনের স্টাফ যা আমাকে যখন শিশু ছিল তখন আমি বিরক্ত করে তুলি। এই পিএইচপি ম্যানুয়াল থেকে:

$x = 200;
$y = 200;

$gd = imagecreatetruecolor($x, $y);

$corners[0] = array('x' => 100, 'y' =>  10);
$corners[1] = array('x' =>   0, 'y' => 190);
$corners[2] = array('x' => 200, 'y' => 190);

$red = imagecolorallocate($gd, 255, 0, 0); 

for ($i = 0; $i < 100000; $i++) {
  imagesetpixel($gd, round($x),round($y), $red);
  $a = rand(0, 2);
  $x = ($x + $corners[$a]['x']) / 2;
  $y = ($y + $corners[$a]['y']) / 2;
}

header('Content-Type: image/png');
imagepng($gd);

আমি সহজ কোড কয়েক লাইন আপনি করতে পারেন দুর্দান্ত জিনিস খুঁজছেন। আমি নিশ্চিত যে আপনি 15 লাইনের মধ্যে হ্যাসকেলে একটি ম্যান্ডেল্রবট সেট লিখতে পারেন কিন্তু এটি অনুসরণ করা কঠিন।

আমার লক্ষ্য প্রোগ্রামিং যে শান্ত হয় ছাত্রদের অনুপ্রাণিত করা হয়

আমরা জানি যে প্রোগ্রামিংটি দুর্দান্ত কারণ আপনি কল্পনা করতে পারেন এমন কিছু তৈরি করতে পারেন - এটি চূড়ান্ত সৃজনশীল আউটলেট। আমি এই beginners অনুপ্রাণিত করতে চান এবং আমি যত তাড়াতাড়ি-শেখার humps উপর তাদের পেতে পারেন।

এখন, আমার কারণ স্বার্থপর। আমি 60 টি অর্ধ-প্রকৌশল, অর্ধেক ব্যবসায়িক মহাপরিচালকের একটি গোষ্ঠীতে কম্পিউটিং কোর্সের একটি ভূমিকা শিক্ষা দিচ্ছি; সব freshmen। তারা হ'ল অধীনস্থ উচ্চ বিদ্যালয় থেকে আসা ছাত্র। আমার অতীতের অভিজ্ঞতা থেকে, এই গ্রুপটি সাধারণত নিম্নরূপ বিভক্ত হয়: কিছু rock-stars , খুব কঠিন এবং এটির মতো কিছু পেতে চেষ্টা করে, কয়েকজন যারা কঠোর পরিশ্রম করে এবং খুব কমই চেষ্টা করে, এবং কয়েকটি যারা যত্ন নেয় না। আমি যত তাড়াতাড়ি সম্ভব এই গোষ্ঠীর অনেকগুলোতে পৌঁছাতে চাই। আমি কীভাবে কম্পিউটার প্রোগ্রাম ব্যবহার করবো তা শিখতে এখানে একটি উদাহরণ দেওয়া হল:

আমি যা খুঁজছি তার উদাহরণ এখানে দেওয়া হল: আপনার কম্পিউটারটি আপনার সাথে কথা বলতে একটি 1-লাইন ভিবিএস স্ক্রিপ্ট:

CreateObject("sapi.spvoice").Speak InputBox("Enter your text","Talk it")

আমি অপারেশন আদেশ প্রদর্শন করতে এই ব্যবহার করতে পারে। আমি কোডটি দেখাব, তাদের সাথে খেলতে দাও, তারপর ব্যাখ্যা করুন যে লাইনটিতে অনেক কিছু চলছে, কিন্তু কম্পিউটার এটি বুঝতে পারে কারণ এটি নিয়মগুলি জানে। তারপর আমি তাদের এমন কিছু দেখাবো:

4(5*5) / 10 + 9(.25 + .75)

এবং আপনি দেখতে পারেন যে প্রথমটি করতে হবে (5 * 5)। তারপর আমি 4 এর জন্য সংখ্যাবৃদ্ধি করতে পারি এবং এখন আমি অবজেক্ট তৈরি করেছি। 10 দ্বারা ডাইভিং স্পিকার হিসাবে একই হয় - আমি একটি বস্তুর আগে কথা বলতে পারি না, এবং আমি 100 এর আগে ভাগ করতে পারছি না। তারপরে অন্যদিকে আমি প্রথমে কীভাবে এটি প্রদর্শন করতে হয় তার জন্য কিছু নির্দেশাবলীর সাথে একটি ইনপুটবক্স তৈরি করি। । যখন আমি ইনপুট বাক্সে প্রবেশ করি তখন এটি মূল্যায়ন করে বা "প্রবেশ করান" যাই হোক না কেন আমি প্রবেশ করি। (ইঙ্গিত: 'ওউইও' একটি মজার শব্দ তৈরি করে) তাই যখন আমি বলি স্পিকার, ডান দিকটি কি বলতে হবে। এবং আমি ইনপুটবক্স থেকে যে পেতে।

সুতরাং যখন আপনি একটি লাইন উপর বেশ কিছু জিনিস করবেন, যেমন:

x = 14 + y;

আপনি জিনিষ অর্ডার সচেতন হতে হবে। প্রথম আমরা 14 এবং y যোগ করুন। তারপরে আমরা ফলাফলটি (যা এটি মূল্যায়ন করে বা আয় করে) x তে রাখি।

এটা আমার লক্ষ্য, তারা মজা আছে যখন ক্লাস প্রদর্শন এবং শেখান এই শীতল উদাহরণ একটি গুচ্ছ আছে। আমি আমার রুমমেট এ এই উদাহরণটি চেষ্টা করেছিলাম এবং যখন আমি প্রথম পাঠ হিসাবে এটি ব্যবহার করতে পারি না, তিনি এটি পছন্দ করেছিলেন এবং কিছু শিখেছিলেন।

কিছু দুর্দান্ত গাণিতিক প্রোগ্রাম যা সুন্দর গ্রাফ বা আকারগুলিকে সহজে বুঝতে পারে তা ভাল ধারনা এবং আমি সেগুলিকে দেখতে যাচ্ছি। এখানে কিছু জটিল অ্যাকশনস্ক্রিপ্ট উদাহরণ রয়েছে তবে এটি একটি সামান্য উন্নত এবং আমি ফ্ল্যাশ শেখাতে পারি না। আপনি কি অন্যান্য ধারনা আছে?



আপনি একটি র্যান্ডম সংখ্যা বাছাই একটি অ্যাপ্লিকেশন করতে পারে। এবং আপনি এটা অনুমান করতে হবে। আপনি ভুল হলে এটি বলে: উচ্চ বা নিম্ন। এবং যদি আপনি এটি অনুমান, একটি চমৎকার বার্তা।

এটা ছাত্রদের জন্য খেলা শান্ত।

সঠিক ত্রুটি পরীক্ষা ছাড়া সহজ পাইথন সংস্করণ:

import random

while input('Want to play higher/lower? ').lower().startswith('y'):
    n = random.randint(1, 100)
    g = int(input('Guess: '))

    while g != n:
        print('  %ser!' % (g > n and 'low' or 'high'))
        g = int(input('Guess: '))

    print('  Correct! Congratulations!')

Erik সুপারিশ করে যে কম্পিউটারটি সংখ্যা অনুমান করা উচিত। এটি কোডের 10 টি লাইনের মধ্যেও সম্পন্ন করা যেতে পারে (যদিও এখন সঠিক ত্রুটির পরীক্ষণের অভাব আরও গুরুতর: পরিসরের বাইরে বৈধ সংখ্যা একটি অসীম লুপ সৃষ্টি করে):

while input('Want to let the pc play higher/lower? ').lower().startswith('y'):
    n = int(input('Give a number between 1 and 100: '))
    lo, hi, guess, tries = 1, 100, 50, 1

    while guess != n:
        tries += 1
        lo, hi = (guess + 1, hi) if guess < n else (lo, guess - 1)
        guess = (lo + hi) // 2

    print('Computer guessed number in %d tries' % tries)

আমি একটি বড় প্রিয় পেয়েছি (GWBASIC তে) হল:

10 input "What is your name ";N$
20 i = int(rnd * 2)
30 if i = 0 print "Hello ";N$;". You are a <fill in insult number 1>"
40 if i = 1 print "Hello ";N$;". You are a <fill in insult number 2>"

আমি শুরু করেছি ছাত্রদের কয়েকটি ধারণা আছে যা সংশোধন করতে হবে।

  • কম্পিউটার আপনার মন পড়তে না।
  • কম্পিউটারগুলি শুধুমাত্র একবারে একটি জিনিস করে, এমনকি যদি তারা এটিকে দ্রুত করে তবে তারা একেবারেই এটি করতে পারে।
  • কম্পিউটার শুধু মূঢ় মেশিন এবং তারা কি বলা হয় না শুধুমাত্র।
  • কম্পিউটার শুধুমাত্র কিছু জিনিস চিনতে এবং এই বিল্ডিং ব্লক মত হয়।
  • একটি মূল ধারণা হল একটি পরিবর্তনশীল এমন একটি জিনিস যা একটি মান ধারণ করে এবং এর নামটি সেই মান থেকে আলাদা।
  • সেই সময়টির মধ্যে পার্থক্য যা আপনি প্রোগ্রামটি সম্পাদনা করেন এবং যে সময়টি এটি চালায়।

আপনার বর্গ সঙ্গে সৌভাগ্য কামনা করছি! আমি নিশ্চিত আপনি ভাল করতে হবে।

পিএস আমি নিশ্চিত যে আপনি উপাদান এবং দক্ষতা বরাবর বুঝতে, আপনি একটি মনোভাব শেখান, এবং যে ঠিক যেমন গুরুত্বপূর্ণ।


আমি মনে করি আজকাল কম্পিউটার শিক্ষক হওয়া কঠিন। আমি. আমরা একটি ক্রমবর্ধমান খাড়া চড়াই যুদ্ধ সম্মুখীন। আমাদের ছাত্র অবিশ্বাস্যভাবে অত্যাধুনিক ব্যবহারকারী এবং এটি তাদের প্রভাবিত করার জন্য অনেক লাগে। তারা আশ্চর্যজনক জিনিস যে তাদের কাছে প্রবেশযোগ্য অনেক সরঞ্জাম আছে।

কোড 10 লাইন একটি সহজ ক্যালকুলেটর? কেন? আমি তার জন্য একটি টিআই -86 পেয়েছি।

একটি চিত্র যে একটি ইমেজ বিশেষ প্রভাব প্রযোজ্য? ফটোশপ এর জন্য এটি কি। এবং ফটোশপ 10 লাইনের মধ্যে যা করতে পারে তা সরিয়ে ফেলতে পারে।

কিভাবে একটি সিডি ripping এবং ফাইল এমপি 3 রূপান্তর? আহ, বিটোরেন্ট থেকে আমি 50,000 গান পেয়েছি। তারা ইতিমধ্যে এমপি 3 ফরম্যাটে। আমি আমার আইফোন তাদের খেলা। যাইহোক সিডি ক্রয় করে?

প্রোগ্রামিংতে বুদ্ধিমান ব্যবহারকারীদের পরিচয় করিয়ে দিতে, আপনাকে এমন কিছু খুঁজে বের করতে হবে:

একটি) আকর্ষণীয় এবং শীতল কিছু খুঁজে পেতে প্রযোজ্য, এবং খ) এমন কিছু করে যা তারা ইতিমধ্যে করতে পারে না।

আপনার শিক্ষার্থীদের ইতিমধ্যে সবচেয়ে ব্যয়বহুল সফ্টওয়্যার অ্যাক্সেস আছে অনুমান। তাদের মধ্যে অনেকেই Adobe CS5.5 এর পূর্ণ সংস্করণটি রয়েছে (খুচরা মূল্য: $ 2,600; প্রকৃত মূল্য: বিনামূল্যে) এবং সহজেই আপনার বিভাগের বাজেটটি ভাঙ্গতে পারে এমন কোনও অ্যাপ্লিকেশন সহজেই পেতে পারে।

কিন্তু তাদের অধিকাংশই এই "কম্পিউটার স্টাফ" আসলে কিভাবে কাজ করে তা কোন ধারণা নেই।

তারা একটি অবিশ্বাস্যভাবে সৃজনশীল গুচ্ছ: তারা জিনিস তৈরি করতে চান। তারা শুধু এমন কিছু করতে বা তৈরি করতে চায় যা তাদের বন্ধুদের না পারে। তারা সম্পর্কে গর্বিত কিছু চাই।

এখানে আমার এমন কিছু বিষয় রয়েছে যা আমি আমার ছাত্রদের সাথে অনুভব করতে পেরেছি:

  • এইচটিএমএল এবং সিএসএস। তাদের থেকে তারা কীভাবে মাইস্পেস থিমগুলি কাজ করে এবং তাদের কাস্টমাইজ করতে পারে তা শিখতে পারে।
  • ম্যাশআপস। তারা সব তাদের দেখা করেছি, কিন্তু কিভাবে তাদের তৈরি করতে জানেন না। ইয়াহু দেখুন ! পাইপ । আরএসএস, এক্সএমএল, টেক্সট ফিল্টারিং, ম্যাপিং, এবং ভিজ্যুয়ালাইজেশনের মতো অনেক শিক্ষনীয় মুহুর্ত রয়েছে। সম্পন্ন ম্যাশআপ উইজেট ওয়েব পেজ এম্বেড করা যাবে।
  • আর্টওয়ার্ক। কনটেক্সট-ফ্রি আর্ট দেখুন । পুনরাবৃত্তি এবং র্যান্ডমাইজেশন সুন্দর ছবি তৈরীর চাবি।
  • গল্প বলা. এলিসের মতো সহজেই ব্যবহারযোগ্য 3 ডি প্রোগ্রামিং পরিবেশের সাথে, উচ্চ-গুণমান তৈরি করা, ড্র্যাগ-এবং-ড্রপের চেয়ে আরও বেশি কিছু ব্যবহার করে গল্পগুলিকে আকর্ষন করা সহজ।

এর মধ্যে কোনটি ঐতিহ্যগত অর্থে কোন প্রোগ্রামিং জড়িত। কিন্তু তারা শক্তিশালী লাইব্রেরি লিভারেজ না। আমি তাদের একটি ভিন্ন ধরনের প্রোগ্রামিং হিসাবে মনে করি।


আমি মনে করি যে লোকেরা এমন জিনিসগুলি নিয়ে প্রভাবিত হয় যা তারা সম্পর্কিত হতে পারে বা তাদের জীবনের সাথে সম্পর্কিত। আমি চেষ্টা এবং বুঝতে আমার প্রায় 10 লাইন কোড লাইন চেষ্টা করতে হবে। উদাহরণস্বরূপ, টুইটার এবং তার এপিআই নিন। শীতল কিছু তৈরি করতে কেন এই API ব্যবহার করবেন না। নিম্নলিখিত 10 টি লাইন টুইটার থেকে "পাবলিক টাইমলাইন" ফিরিয়ে দেবে এবং কনসোল অ্যাপ্লিকেশনে এটি প্রদর্শন করবে ...

using (var xmlr = XmlReader.Create("http://twitter.com/statuses/public_timeline.rss"))
    {
        SyndicationFeed
            .Load(xmlr)
            .GetRss20Formatter()
            .Feed
            .Items        
            .ToList()
            .ForEach( x => Console.WriteLine(x.Title.Text));
    }

আমার কোড নমুনা আপনার ছাত্রদের জন্য ভাল হতে পারে না। এটি সি # এ লেখা এবং .NET 3.5 ব্যবহার করে। সুতরাং আপনি যদি তাদের পিএইচপি, জাভা, বা সি ++ শেখানতে যাচ্ছেন তবে এটি কার্যকর হবে না। যাইহোক, আমার পয়েন্টটি হল যে আপনার 10 টি লাইনের কোডটি "শীতল, আকর্ষণীয় এবং শিক্ষার্থীদের সাথে প্রাসঙ্গিক কিছু সহ যুক্ত করে আপনার নমুনাও শীতল, আকর্ষণীয় এবং প্রাসঙ্গিক হয়ে উঠছে।

গুড লাক!

[হ্যাঁ, আমি জানি যে আমি বিবৃতি এবং মুখ্য পদ্ধতি ব্যবহার করে কয়েকটি লাইন মিস করেছি, কিন্তু আমি অনুমান করছি যে 10 লাইনের আক্ষরিক 10 টি লাইন থাকতে হবে না]


একটি মাইক্রোসফ্ট এজেন্ট চরিত্রকে ম্যানিপুলেট করার জন্য আমার দ্রুততম ভিবি স্ক্রিপ্ট দিয়ে আমার বাচ্চাদের কাছ থেকে একটি দুর্দান্ত প্রতিক্রিয়া এসেছে। এমএস এজেন্টের সাথে পরিচিত না এমনগুলির জন্য, এটি একটি অ্যানিমেটেড অনস্ক্রীন অক্ষরগুলির সিরিজ যা একটি COM ইন্টারফেসের মাধ্যমে ম্যানিপুলেশন করা যেতে পারে। আপনি Microsoft এজেন্ট ডাউনলোড পৃষ্ঠাতে কোড এবং অক্ষরগুলি ডাউনলোড করতে পারেন।

চলমান কয়েকটি লাইনগুলি ম্যারালিন চরিত্রটি পর্দায় প্রদর্শিত হবে, প্রায় উড়ে যাবে, আপনার মনোযোগ পেতে স্ক্রীনটি দখল করবে এবং হ্যালো বলবে।

agentName = "Merlin"
agentPath = "c:\windows\msagent\chars\" & agentName & ".acs"
Set agent = CreateObject("Agent.Control.2")

agent.Connected = TRUE
agent.Characters.Load agentName, agentPath
Set character = agent.Characters.Character(agentName)

character.Show

character.MoveTo 500, 400
character.Play "GetAttention"
character.Speak "Hello, how are you?"
Wscript.Sleep 15000
character.Stop
character.Play "Hide"

আপনি ব্যবহার করতে পারেন একটি মহান অনেক অন্যান্য কমান্ড আছে। আরও তথ্যের জন্য দেখুন।

সম্পাদন করুন 2011-09-02 আমি সম্প্রতি আবিষ্কার করেছি যে মাইক্রোসফ্ট এজেন্ট 7 নং উইন্ডোজ ইনস্টল করা হয় না তবে এটি here একটি পৃথক ডাউনলোড হিসাবে দেওয়া হয়। আমি এই পরীক্ষা করা হয় না তাই এটা কাজ কিনা যাচাই করতে পারবেন না।


এটি একটি পাইথন টেলনেট সার্ভার যা ব্যবহারকারীর নাম জিজ্ঞাসা করবে এবং তাদের কাছে হ্যালো বলবে। এটি দুর্দান্ত বলে মনে হচ্ছে কারণ আপনি নেটওয়ার্কে বিভিন্ন কম্পিউটার থেকে আপনার প্রোগ্রামের সাথে যোগাযোগ করছেন।

from socket import *
s=socket(AF_INET, SOCK_STREAM)
s.bind(("", 3333))
s.listen(5)
while 1:
   (c, a) = s.accept()
   c.send("What is your name? ")
   name = c.recv(100)
   c.send("Hello "+name)
   c.close()

কিভাবে আপনি কোন ওয়েব ব্রাউজার নিতে এবং অ্যাড্রেস বারে জাভাস্ক্রিপ্ট প্রবেশ করতে এবং সঞ্চালন কোড পেতে পারেন কিভাবে দেখাচ্ছে?

সম্পাদনা করুন: প্রচুর ছবি সহ একটি পৃষ্ঠায় যান এবং ঠিকানা বারে এটি ব্যবহার করুন:

javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i<DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++ }setInterval('A()',5); void(0)

মাইক্রোসফ্ট ক্ষুদ্র বেসিক , "বাচ্চাদের" জন্য একটি আইডিই।

pic = Flickr.GetRandomPicture("beach")
Desktop.SetWallpaper(pic)

এটা বিশেষভাবে কিভাবে শীতল প্রোগ্রামিং হয় ডিজাইন করা হয়েছে।


হাই স্কুলে কম্পিউটার ক্লাসে ফিরে, নিজেকে এবং কয়েকজন বন্ধু ক্লাসে কিভাবে ডেলফির সাথে প্রোগ্রাম করতে হয় তা শিখিয়েছিল। ক্লাসটি মূলত পাস্কালের সাথে প্রোগ্রামিংয়ের উপর দৃষ্টি নিবদ্ধ করে, তাই ডেলফিটি পরবর্তী ধাপে ভাল ছিল। আমরা ডেলফি এবং তার RAD ক্ষমতা ইভেন্ট চালিত প্রকৃতি প্রদর্শন। পাঠের শেষে আমরা ক্লাসকে একটি নমুনা আবেদন দেখিয়েছিলাম এবং তাদেরকে পুনরুত্পাদন করতে বলেছিলাম। অ্যাপ্লিকেশন জিজ্ঞাসা " আপনি মাতাল? " দুটি বাটন সঙ্গে হ্যাঁ এবং না । ... আমি মনে করি আপনি কি জানেন আগামীটি আসছে ... কোন বোতাম মাউসের উপর অবস্থান পরিবর্তন করে এবং ক্লিক করতে প্রায় অসম্ভব ছিল।

ছাত্র ও শিক্ষক এটি একটি ভাল kick পেয়েছিলাম।

প্রোগ্রামটি কেবলমাত্র কয়েকটি লাইনের ব্যবহারকারীর লিখিত কোডের প্রয়োজন যা একটি সাধারণ সমীকরণের সাথে যেখানে বাটনটি স্থানান্তরিত করতে গণনা করা হয়। আমি মনে করি না যে অন্য কোনও শিক্ষার্থী এটি খুঁজে বের করেছে, কিন্তু কয়েকটি বন্ধ ছিল।


অন্যান্য মন্তব্যকারীর মতই, আমি গণিতের সমস্যার সমাধান করার জন্য লেখার কোড শুরু করেছি (অথবা আমি ডিজাইন করব এমন ভয়ানক গেমগুলির জন্য গ্রাফিক্স তৈরি করতে - যেমন ইন্ডিয়ানা জোনস বনাম বনাম Zombies)।

কি সত্যিই আমাকে শুরু (গণিত এবং প্রোগ্রামিং উভয়) টেক্সট ভিত্তিক চালু ছিল, আপনার নিজস্ব সাহসিক শৈলী গেম ... আরো গ্রাফিক্স ভিত্তিক গেম নির্বাচন করুন। আমি জ্যামিতি পেয়েছি না হওয়া পর্যন্ত গ্রাফের কাগজ এবং প্লিক্টিং পিক্সেলগুলি শুরু করেছি ... এবং আবিষ্কার করেছি কিভাবে রেখাচিত্র, রেখা, বাক্স ইত্যাদির জন্য সমীকরণগুলি ব্যবহার করা যায়।

আমার পয়েন্ট, আমি সত্যিই প্রক্রিয়াজাতকরণ ( http://processing.org/ ) মত কিছু পেয়েছি যেখানে একটি সাধারণ প্রোগ্রাম এই মত কিছু দেখায়:

void setup() 
{
  size(200, 200); 
  noStroke();
  rectMode(CENTER);
}

void draw() 
{   
  background(51); 
  fill(255, 204);
  rect(mouseX, height/2, mouseY/2+10, mouseY/2+10);
  fill(255, 204);
  int inverseX = width-mouseX;
  int inverseY = height-mouseY;
  rect(inverseX, height/2, (inverseY/2)+10, (inverseY/2)+10);
}

আমার কাছে, এই ভবিষ্যতের "লোগো"।

সহজ "হ্যালো ওয়ার্ল্ড" উদাহরণ রয়েছে যা দ্রুত কাউকে আঁকতে এবং কোড পরিবর্তন করতে এবং কীভাবে জিনিসগুলি ভাঙতে পারে এবং অদ্ভুত "দুর্ঘটনাগুলি" তৈরি করা যায় তা দেখতে পারে ... আরও উন্নত ইন্টারঅ্যাকশন এবং ফ্র্যাক্টাল সৃষ্টির সমস্ত উপায় ...


যদি আপনি হার্ডওয়্যারটি সামর্থ্য দিতে পারেন তবে একটি আর্ডিনো বোর্ড + প্রসেসিং ব্যবহার করে কিছু চমত্কার জিনিস তৈরি করবে, যদিও এটি এমন কিছু লোকেদের জন্য উন্নততর হতে পারে যা প্রোগ্রামিংয়ের ক্ষেত্রে আগ্রহী নাও হতে পারে।


আপনি AutoIt সাথে লিখিত একটি স্ক্রিপ্ট ব্যবহার করতে পারেন , যা একটি ঐতিহ্যগত অ্যাপ্লিকেশন এবং প্রোগ্রামিং ব্যবহার করে লাইনটিকে ব্লাস করে।

যেমন একটি স্ক্রিপ্ট যা নোটপ্যাড খোলে এবং তাদের নিজস্ব কম্পিউটারকে তাদের মধ্যে এবং একটি বার্তা বাক্সের মাধ্যমে অপমান করে, এবং তারপরে তার ক্রিয়াগুলির কোনও ট্রেস দেয় না:

Run("notepad.exe")
WinWaitActive("Untitled - Notepad")
Send("You smell of human.")
Sleep(10000)
MsgBox(0, "Humans smell bad", "Yuck!")
WinClose("Untitled - Notepad")
WinWaitActive("Notepad", "Do you want to save")
Send("!n")

আমি নিশ্চিত যে এটি কোডের 10 টিরও বেশি লাইনের মধ্যে পরিণত হবে, কিন্তু আপনি একটি ফর্ম ভিত্তিক অ্যাপ্লিকেশন বিবেচনা করেছেন যেখানে বোতাম টিপে পটভূমির রঙ পরিবর্তন করা বা পাঠ্যের আকার পরিবর্তন করা যায়? এই তাদের ইন্টারেক্টিভ প্রোগ্রাম কাজ কিভাবে দেখাবে। এটি তাদের দেখাবে যে, প্রোগ্রামার হিসাবে তারা কম্পিউটার (প্রোগ্রাম) কীভাবে সম্পূর্ণ নিয়ন্ত্রণে থাকে।

আশা করা যায় যে তারা তাদের পরিবর্তন করতে পারে এমন অন্যান্য জিনিসগুলির পরামর্শ দিতে এবং পরবর্তীতে তারা যা করতে চায় তা নিয়ে পরামর্শ দিতে পারে।


আমি প্রথম কোডিং loops শুরু যখন আমি মনে রাখবেন সবসময় আমাকে প্রভাবিত। আপনি 5 - 10 লাইনের কোড (বা কম) এবং শত শত (অথবা আপনি উল্লেখ করেছেন এমন অনেকগুলি) লাইন মুদ্রণ করুন। (আমি প্রথম পিএইচপি এবং জাভা শিখেছি)।

for( int i = 0; i < 200; i++ )
{
   System.out.println( i );
}

এক জিনিস যা আপনি বিবেচনা করতে পারেন Robocode মতো কিছু , যার মধ্যে অনেক কোডিং বিমূর্ত হয়ে যায় এবং আপনি মূলত কেবল একটি রোবটকে কী করতে হবে তা বলুন। একটি সহজ 10-লাইন ফাংশন রোবটটি একটি দুর্দান্ত চুক্তি করতে পারে এবং এটি একটি খুব চাক্ষুষ এবং সহজ-অনুসরণ ফলাফল।

সম্ভবত রবোকোড নিজেই টাস্কের জন্য উপযুক্ত নয়, তবে এই ধরনের জিনিসটি কম্পিউটারে চাক্ষুষ ক্রিয়াকলাপগুলিতে লিখিত কোড সম্পর্কিত একটি ভাল উপায়, প্লাস এটি উদাহরণ দেওয়ার সময় দেখার জন্য মজা করে।

public class MyFirstJuniorRobot extends JuniorRobot {
 public void run() {
  setColors(green, black, blue);
  // Seesaw forever
  while (true) {
   ahead(100); // Move ahead 100
   turnGunRight(360); // Spin gun around
   back(100); // Move back 100
   turnGunRight(360); // Spin gun around
  }
 }
 public void onScannedRobot() {
  turnGunTo(scannedAngle);
  fire(1);
 }
 public void onHitByBullet() {
  turnAheadLeft(100, 90 - hitByBulletBearing);
 }
}

এটি একটি খুব প্রাথমিক পাঠ্য-ভিত্তিক সি # প্রোগ্রাম যা একটি স্লট মেশিনের কাটিয়া ক্রিয়াকে অনুসরন করে। এটি বিজয়ী বা নগদ অর্থের বিনিময়ে ভিন্ন ভিন্নতা অন্তর্ভুক্ত করে না, তবে এটি শিক্ষার্থীদের জন্য একটি চমৎকার ব্যায়াম হতে পারে।

এটা 10 লাইন বেশী যে দুঃখিত।

string[] symbols = new[] { "#", "?", "~" }; // The symbols on the reel
Random rand = new Random();

do
{
    string a="",b="",c="";

    for( int i = 0; i < 20; i++ )
    {
        Thread.Sleep( 50 + 25 * i ); // slow down more the longer the loop runs

        if( i < 10 )
            a = symbols[rand.Next( 0, symbols.Length )];

        if( i < 15 )
            b = symbols[rand.Next( 0, symbols.Length )];

        c = symbols[rand.Next( 0, symbols.Length )];

        Console.Clear();
        Console.WriteLine( "Spin: " + a + b + c );
    }

    if( a == b && b == c )
        Console.WriteLine( "You win. Press enter to play again or type \"exit\" to exit" );
    else
        Console.WriteLine( "You lose. Press enter to play again or type \"exit\" to exit" );
}
while( Console.ReadLine() != "exit" );

কিভাবে একটি bookmarklet সম্পর্কে? এটি তাদের দেখাবে যে কোনও ডেভেলপমেন্ট সরঞ্জামগুলির প্রয়োজন ছাড়াই তারা প্রতিদিন কীভাবে ইন্টারনেট ব্যবহার করে।


তাই একদিন, আমি সিদ্ধান্ত নিলাম যে আমি যথেষ্ট ছিলাম। আমি চাই পিয়ানো শিখতে। এল্টন জন কমান্ডের মতো মানুষকে কীবোর্ডের এই দক্ষতা দেখে আমি আশ্বস্ত করেছিলাম যে আমি যা করতে চেয়েছিলাম তা নিশ্চয়ই আমি নিশ্চিত ছিলাম।

প্রকৃতপক্ষে শেখার পিয়ানো একটি বিশাল letdown ছিল। আটটি পিয়ানো পাঠের পাঠ শেষ করার পরেও, আমি এখনও পিয়ানো বাজানো আমার মানসিক চিত্রটি উপভোগ করার আমার আসল দৃষ্টিভঙ্গির চেয়ে ভিন্ন ছিলাম, তা নিয়ে এখনও মুগ্ধ ছিলাম না।

যাইহোক, আমি যা উপভোগ করেছি তা ছিল সঙ্গীত তত্ত্বের মাত্র তিনটি শ্রেণী। আমি সঙ্গীত নির্মাণ সম্পর্কে শিখেছি। আমি অবশেষে আমার নিজের সঙ্গীত লেখার জন্য লিখিত সঙ্গীত সম্পাদন বিশ্বের থেকে পদক্ষেপ নিতে সক্ষম হয়েছিল। পরবর্তীতে, আমি যা খেলতে চেয়েছিলাম তা খেলতে শুরু করেছিলাম।

নতুন প্রোগ্রামারদের, বিশেষ করে তরুণ প্রোগ্রামারদের চকচকে চেষ্টা করবেন না। "সরল কোডের দশটি লাইনের কম" সমগ্র ধারণাটি "আমাকে কিছু চতুর দেখান" এর একটি মেজাজ প্রকাশ করে ।

আপনি একটি নতুন প্রোগ্রামার চতুর কিছু প্রদর্শন করতে পারেন। তারপর আপনি সেই একই প্রোগ্রামারকে এই "পারফরম্যান্স" কিভাবে প্রতিলিপি করতে পারেন তা শিখতে পারেন। কিন্তু এই কি তাদের প্রোগ্রামিং উপর hooked পায় না। তাদের রীতিমতো শিক্ষা দিন, এবং তাদের নিজেদের চতুর দশটি কোডের লাইন সংশ্লেষ করতে দিন।

আমি নিম্নলিখিত পাইথন কোডের একটি নতুন প্রোগ্রামার দেখাবো:

input = open("input.txt", "r")
output = open("output.txt", "w")

for line in input:
    edited_line = line
    edited_line = edited_line.replace("EDTA", "ethylenediaminetetraacetic acid")
    edited_line = edited_line.replace("ATP", "adenosine triphosphate")
    output.write(edited_line)

আমি যে বরাদ্দ lineকরতে হবে না বুঝতে হবে edited_line। যাইহোক, এটি কেবল জিনিসগুলি পরিষ্কার রাখতে এবং এটি দেখানোর জন্য যে আমি মূল নথির সম্পাদনা করছি না।

দশ লাইনেরও কম, আমি একটি নথি verbosified করেছি। অবশ্যই, উপলব্ধ সমস্ত স্ট্রিং পদ্ধতি নতুন প্রোগ্রামার দেখাতে ভুলবেন না। আরো গুরুত্বপূর্ণ, আমি তিনটি মৌলিকভাবে আকর্ষণীয় জিনিস দেখিয়েছি যা আমি করতে পারি: পরিবর্তনশীল অ্যাসাইনমেন্ট, একটি লুপ, ফাইল IO, এবং স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার।

আমি মনে করি আপনি এই সম্মতি পাবেন যে এই কোড ঝলসানি না। আসলে, এটা একটু বিরক্তিকর। না - আসলে, এটা খুব বিরক্তিকর। কিন্তু একটি নতুন প্রোগ্রামারকে সেই কোডটি দেখান এবং দেখেন যে প্রোগ্রামার সেই স্ক্রিপ্টের প্রতিটি অংশকে পুনরাবৃত্তি করতে পারে না, যদি সপ্তাহের মধ্যে যদি কিছু না থাকে তবে সপ্তাহের মধ্যে আরও কিছু আকর্ষণীয়। নিশ্চিত, এটি আপনার কাছে বিরক্তিকর হবে (হয়তো এই স্ক্রিপ্টটি একটি সাধারণ HTML পার্সার তৈরির জন্য ব্যবহার করা যাবে), তবে বাকি সবকিছুই সময় এবং অভিজ্ঞতা নেয়।







introduction