HSC ICT Chaper 5 Part 3

HSC ICT Chapter 5 Part 3 Main Point: অ্যালগরিদম (Algorithm) কি?, ফ্লোচার্ট বা প্রবাহ চিত্র (Flow Chart) কি?, প্রােগ্রাম ফ্লোচার্ট (Program Flowchart) কি?, সিস্টেম ফ্লোচার্ট (System Flowchart) কি?, সূডোকোড (Pseudocode) কি?, স্ট্রাকচার্ড প্রােগ্রামিং (Structured Programing) কি?, অবজেক্ট ওরিয়েন্টেড প্রােগ্রামিং (Object Oriented Programming-OOP) কি?, ভিজুয়্যাল প্রােগ্রামিং (Visual Programming) কি?, ইভেন্ট ড্রাইভেন প্রােগ্রামিং (Event Driven Programming) কি?


সি প্রোগ্রামিং ভাষা (C Programming Language) কি?

সি প্রোগ্রামিং ভাষা (C Programming Language): সি প্রোগ্রামিং ভাষা (C Programming Language) হলো জেনারেল পারপোজ (general purpose) স্ট্রাকচার্ড প্রোগ্রামিং ল্যাংগুয়েজ যার নির্দেশাবলি গঠিত হয় ফাংশন, এক্সপ্রেশন, স্টেটমেন্ট আর কিছু keywords (যেমনঃ if, else, for, do, while, ইত্যাদি) এর সমন্বয়ে । উপত্তি সঞ্চালনের বর্ণনার জন্য এ ভাষার সুবিধা অনেক বেশ বলে ভাষাটি অন্যান্য প্রোগ্রামিং ভাষার চেয়ে অনেক বেশি উন্নত ও জনপ্রিয় । এ ভাষাকে সব প্রোগ্রামিং ভাষার মাদার (Mother) ল্যাংগুয়েজ বলা হয় ।

C Language

সি প্রোগ্রামিং ভাষার (Development History of C Programming Language): মূলত 1970 সালে যুক্তরাষ্ট্রের বেল ল্যাবরেটরিতে ডেনিক রিচি (Dennis Ritchie) DEC PDP-II কম্পিউটার র জন্য ইউনিক্স অপারেটিং সিস্টেম ব্যবহার করে সি (C) ভাষা উদ্ভাবন করেন। যদিও পরবর্তীতে সি ভাষা দ্বারাই ইউনিক্স (Unix) নতুন করে লেখা হয়। 1960 সালেস মারটিন রিচার্ড (Martin Richard) BCPL (Basic | programming Language) নামে একটি প্রােগ্রামিং ভাষা ডেভেলপ করেন যা প্রাথমিকভাবে ইউরোপে ব্যবহার করা হয়েছিল। পরবর্তী সময়ে BCPL থেকে B নামক অপর একটি প্রোগ্রামিং ভাষার উদ্ভাবন হয়েছিল। আর 1972 সালের দিকে ডেনিস রিচি B ভাষায় কিছুটা পরিবর্তন করে নতুন এক প্রোগ্রামিং ভাষার উদ্ভাবন করেন। এই নতুন প্রােগ্রামিং ভাষাই হলাে সি (C) যা বি B এর উন্নয়নের ফলস্বরূপ।

1978 সাল পর্যন্ত সি ভাষাটি বেল ল্যাবরেটরিতে ব্যাপকভাবে ব্যবহৃত হয়েছিল। 1978 সালে ডেনিস রিচির (Dennis Ritchie's) "দ্যা সি প্রােগ্রামিং ল্যাংগুয়েজ" বইটি প্রকাশের পর এবং মাইক্রোকম্পিউটারের জনপ্রিয়তা বাড়ার সাথে সাথে সি ভাষার ব্যাপক প্রচলন শুরু হয়েছিল। এর ফলশ্রুতিতে 1980 সালের মাঝামাঝি সময়ে সি ভাষার ব্যাপক ব্যবহার পৃথিবী জুড়ে শুরু হয়েছিল। শুরুর দিকে সি ভাষার কোন আদর্শমান ছিল না। তাই 1983 সালে ANSI (American National Standard institute) C এর একটি আদর্শমান নির্ধারণ করেন। আর এই আদর্শমান সম্বলিত সি ই হলাে ANSI C। বর্তমানে ব্যবহৃত প্রায় সব C কম্পাইলার ANSI C এর মান অনুযায়ী তৈরি। তবে বর্তমানে সি ভাষার অনেক সংস্করণ রয়েছে। যেমন- C++, Visual C, Turbo C, Code::Blocks, ইত্যাদি।

সি প্রোগ্রামিং ভাষার ব্যবহার (Use of C Programming Language) লিখ?

সি প্রোগ্রামিং ভাষার ব্যবহার (Use of C Programming Language): সি ভাষা মূলত ব্যবহৃত হয় কম্পাইলার ও অপারেটিং সিস্টেম তৈরিতে। পরিসংখ্যানে দেখা যায় 90 ভাগেরও বেশি কম্পাইলার ও অপারেটিং সিস্টেম সি ভাষায় রচিত। বর্তমানে অধিকাংশ প্যাকেজ প্রােগ্রামই এ ভাষায় রচিত হচ্ছে। আবার যেকোন সফটওয়্যার উন্নয়নেও এ ভাষা ব্যবহার করা যায় ।

নিম্নে সি ভাষার গুরুত্বপূর্ণ ব্যবহার হলাে-

  • অপরেটিং সিস্টেম (operating system) তৈরিতে।
  • টেক্সট এডিটর (text editor) তৈরিতে।
  • অ্যাসেম্বেলার (assembler) কম্পাইলার (compiler) ও ইন্টারপ্রিটার (interpreter) তৈরিতে।
  • ডেটাবেইজ সফটওয়্যার তৈরি ও উন্নয়নে। Program কে simplify করার জন্য।
  • বিজ্ঞান অথবা জটিল গাণিতিক সমস্যা সমাধানে।
  • কম্পিউটার ভাইরাস, এন্টিভাইরাস, গেমস, ইউটিলিটিজ জাতীয় সফটওয়্যার তৈরিতে।

সি ল্যাংগুয়েজের বৈশিষ্ট্য/সুবিধা/অসুবিধাসমূহ-

  • সাধারণত FORTRAN বা COBOL ভাষা নির্দিষ্ট কাজ করার জন্য ব্যবহৃত হয়। কিন্তু সি ভাষা দিয়ে সব ধরনের সমস্যার সমাধান করা যায়। তাই সি কে general purpose languageও বলা হয়।
  • সাধারণত সি ভাষায় মূল সমস্যাকে ছােট ছােট কতকগুলাে ভাগে ভাগ করে প্রতিটি ভাগে আলাদা আলাদা ভেরিয়াবল ফাংশন, কনস্ট্যান্ট, ইত্যাদি ব্যবহার করা যায় এবং প্রয়ােজনে if, while, for, goto, switch-case, ইত্যাদি কন্ট্রোল স্টেটমেন্টও ব্যবহার করা যায়। তাই সি ভাষাকে একটি স্ট্রাকচার ভাষাও বলা যায়।
  • সি ভাষার সাহায্যে সহজেই উচ্চস্তরের ভাষা (high level language) এবং নিম্নস্তরের ভাষার (low level language) মধ্যে সমন্বয় সাধন করা যায়। নিম্নস্তরের ভাষায় সাধারণত বিট, বাইট ও মেমরি এড্রেস নিয়ে কাজ করা হয় যা সি ভাষা দিয়েও করা যায়। আবার উচ্চস্তরের ভাষায় সাধারণত বিট, বাইট ও মেমরি অ্যাড্রেসের পরিবর্তে বিভিন্ন ধরনের ডেটা টাইপ নিয়ে কাজ করা যায় যা সি ভাষার সাহায্যে ও করা যায়। তাই সি ভাষাকে একটি মিড লেভেল বা মধ্যস্তরের ভাষাও বলা যায়।
  • সি ভাষার সাহায্যে operating systems, assemblers, compilers, editors, data programs, virus and antivirus, ইত্যাদি সফটওয়্যারও তৈরি করা যায়। তাই সি ভাষাকে system programming languageও বলা যায়।
  • সি ভাষার পর্যাপ্ত পরিমাণ লাইব্রেরি ফাংশন, ব্রাঞ্চিং স্টেটমেন্টের সুবিধা বিদ্যমান।
  • সি ভাষায় সব প্রােগ্রাম ছােট হাতের অক্ষরে লেখা হয় অর্থাৎ সি প্রােগ্রামে ছােট হাতের অক্ষর ও বড় হাতের অক্ষরের মধ্যে পার্থক্য পরিলক্ষিত হয়। তাই সি ভাষাকে case sensitive language বলে।
  • সি ভাষা দিয়ে লিখিত এক মেশিনের প্রােগ্রাম অন্য মেশিনে চালানাে যায়।

সি ভাষায় প্রােগ্রাম তৈরির প্রাথমিক ধারণা:

সি ভাষার সাহায্যে প্রোগ্রাম তৈরি করার জন্য প্রধানত নিম্নলিখিত অংশ গুলাে প্রয়ােজন:

  1. সি স্ট্যান্ডার্ড লাইব্রেরি ফাংশন।
  2. ফাংশনের হেডার ফাইল ও
  3. সি ভাষার প্রােগ্রাম উন্নয়ন পরিবেশ।

সি স্ট্যান্ডার্ড লাইব্রেরি ফাংশন (C Standard Library Functions): প্রত্যেক high level language এর নিজস্ব কিছু বিল্ট-ইন (built-in) ফাংশন থাকে। তেমনি সি ভাষাও নিজস্ব কিছু বিল্ট-ইন ফাংশন আছে। এই ফাংশনগুলােকে বলা হয় সি স্ট্যান্ডার্ড লাইব্রেরি ফাংশন। যেমন: scanf(), printf(), getch(), getchar(), ইত্যাদি হলাে সি স্ট্যান্ডার্ড লাইব্রেরি ফাংশন। এই লাইব্রেরি ফাংশনগুলােকে বিল্টইন ফাংশনও (build in function) বলা হয়।

ফাংশনের হেডার ফাইল (Functions Header Files): প্রত্যেকটি সি প্রোগ্রাম এক বা একাধিক মডিউলের সমন্বয়ে গঠিত যেগুলােকে সাধারণত বলা হয় ফাংশন। এ কাংশনগুলাে একটি প্রধান বা মেইন ফাংশনের মাধ্যমে নির্বাহ হয়। অর্থাৎ সি প্রােগ্রামে একটি main() ফাংশ মাধ্যমে প্রয়ােজন অনুযায়ী অন্যান্য ফাংশনগুলাে নির্বাহিত হয়। প্রত্যেকটি ফাংশনের প্রােটোটাইপ যে ফাহলে থাকে তাকে ফাংশনের হেডার ফাইল (header file) বলে। তাই কোন ফাংশন ব্যবহারে পূর্বে header file declare করতে হয়। যেমন: sqrt(), sin(), cos(), tan(), ইত্যাদির হেডার ফাইল হলাে math.h ।

Functions Header File
printf(), scanf(), getchar(), gets(), puts(), getc(), putc(), getw(), putw(), fread(), fwrite(), fopen(), fclose(), fgetc(), fprintf(), fscanf(), feof(), fgets, fputs() stdio.h
log(), log10(), sqrt(), pow(), sin(), cos(), tan() math.h
isdigit(), isupper(), islower(), tolower(), toupper() ctypy.h
strlwr(), strncat(), strstr(), strcpy(), strlen(), strrev() string.h
clrscr(), getch(), gotoxy(), textcolor() conio.h

প্রয়োজনীয় সফটওয়্যারঃ

সি ভাষায় প্রােগ্রাম লিখিতে হলে একটি এডিটরের প্রয়ােজন হয়। মূলত এডিটরে সি প্রােগ্রামের কোডিং করা হয়। কোডিং এর কাজ শেষ হলে .c এক্সটেশন ফরমেটে সেভ বা সংরক্ষণ করতে হয়। আমরা এ অধ্যায়ে Code::Blocks এডিটর ব্যবহার করবাে।