Monday, 28 May 2012

Python and c++

Python is also a powerful language having features of c, c++ and java. The following table shows how python is different from c++.



Sr. No
Python
C++
1.
Main function and header files are not mandatory part of a program.
Header files and main functions are essential part of every program.
2.
Line termination semi-colon(;) is not required at the end of every line to indicate the end of a line when each line of code starts in new line. But if we want to write two or more lines of code in one line then semi-colon requires.
Semi-colon is necessary to terminate the line.
3.
Python uses indentation(4 spaces or one tab) to indicate code blocks.
It uses curly braces to indicate code blocks.
4.
It takes advantage of modules(the python script with variable, functions can be imported in another script).
C++ takes advantage of header files and libraries to make code sharable and reusable.
5.
We can start it from shell prompt by typing python and able to type python expression directly without making files. But we can also write the python script into files.
Statements are saved into files then that are executed.
6.
While assigning values to variables data types are not written at that time. Default user inputs are taken as strings and converted to other types by python itself.
While declaring and assigning values to variables programmer needs to write data types as essential part.
7.
No increment and decrement operators in python.
Increment and decrement operators are available.
8.
Allow to import packages for example math package.
Built-in functions are imported through header files.
9.
It uses Dictionaries type which acts as structures in c++ and lists same as array in c++
It uses structure type which is collection of elements of different types and array collection of same type of data elements.
10.
Python accepts single('), double(“) and triple(''' or '''''') quotes to denote string literal and string should start and end with same type.
C++ supports string literal encoded in double(“) quotes.
11.
Every line should be proceeded with hash(#) symbol to make that comment.
We can use single line and multi-line comments.
12.
We can use OS (operating system) module to perform directories operations.
Standard c++ don't have a library for directries.
13.
It provides smtplib module to send email to any other Internet machine.
It does not provides direct methods to send mails to other Internet machines.





1.
To print hello.
print 'hello'


#include<iostream>
using namespace std;
main()
{
cout<<"hello";
}
2.
To add two numbers and to display a string.
a=raw_input("Enter value of A")
b=raw_input("Enter value of B")
c=int(a)+int(b)
print c
name="satvir"
print name
#include<iostream>
using namespace std;
int main()
{
using std::cin;
using std::cout;
int a,b,c;
cout<<"enter value of a";
cin>>a;
cout<<"enter value of b";
cin>>b;
c=a+b;
cout<<"Addition of two numbers :\t"<<c<<"\n";
string str="Satvir kaur";
cout<<str<<"\n";
return(0);
}
3.
To import package like math.
from math import *
print pi , e
print sqrt(64)
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
using std::cout;
using std::cin;
cout<<"square roort of 64 is: "<<sqrt(64);
return(0);
}

Installation of TCC software application

          In this manual replace the user name with the user name of your systemBefore     reading further, ensure your system has LAMP(Linux,Apache, Mysql and PHP), and Django installed.
 
1.     Download TCC Software of automation from the  http://sarovar.org/frs/download.php /1327/TCC.tar.bz2 .Then, extract it and place the  extracted folder in the home folder. One thing that should be kept in mind is that the name of the folder that was extract is same as the name used in the files contained by the folder.



2.    Run the following commands:
sudo apt-get install apache2 libapache2-mod-wsgi   
(this command is to run the software on localhost)
 sudo apt-get install python-mysqldb





3.  Open the extracted folder suppose the name of the folder is TCC11_12. Open  the            TCC11_12  folder and make the changes in the apache folder and settings.py 
In apache folder there is a “django.wsgi” file which contains sys.path.append (‘/home/user name/’), in this give your system's user name.
In settings.py file,where there is a user name and password, give the user name and the password of your phpmyadmin. Also make following changes:
  
 LOCAL_URL='http://192.168.2.178/'    to      LOCAL_URL='http://localhost/'
 and
 
 MEDIA_URL='http://192.168.2.178/media/'   to     MEDIA_URL='http://localhost/media/' 

Give the path in TEMPLATE_DIRS = (“/home/username/“) in settings.py file of your      templates  of TCC application as:
 
TEMPLATE_DIRS=(“/home/USER_NAME/TCC11_12/templates”
 
replace the USER_NAME with the user name of your system.
Create a database of the same name as given in the settings.py file



4.     Run the following command in terminal to go into the TCC project

cd TCC11_12

The following command in order to create the tables in the database 

python manage.py syncdb




5.   Then, go to phpmyadmin and in the above database from the tables created above we       have to drop two tables: automation_teachers and automation_variables. The procedure to drop the tables is : Select the tables that are to be dropped and at the end there is “with selected” click on this and select “drop” and then at the end on the right side there is “go”, click on “go”.After click on “go”,your selected tables was dropped.



6.    Now, we have to import the dropped tables: automation_teachers and automation_variable. And the procedure is : When you go to the phpmyadmin and open the database of the TCC project, at the top, click on the import.
Then, in order to import the tables browse the “tcc11_12.sql” file.The ”tcc11_12.sql” file is given below and you have to first copy it on the desktop first and then browse it in the import portion of the phpmyadmin .Then, at the end there is “go”. Click on “go”.
 http://202.164.53.122/~sandy/tcc.sql
This will import the tables in your database.



7.  Save following text in a file ( say /home/username/httpTCC.txt ). Change the path of media folder to your own path that you follow instead of the path given.(instead of toor give your own user name) 

 
WSGIScriptAlias /tcc11_12 /home/toor/TCC11_12/apache/django.wsgi
<Directory /home/toor/TCC11_12/apache/>
Order allow,deny
Allow from all
</Directory>

Alias /media/ /usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/
<Directory /usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/>
Options Indexes
Order deny,allow
Allow from all
</Directory>






8.   Issue following command:
sudo gedit /etc/apache2/httpd.conf
Copy the contents of httpTCC.txt file into the opened file and save it.




9.    One most important thing that must be done is to copy the media file and replace it on the   media path i.e /usr/local/lib/python2.6/dist-packages/django/contrib/admin/media.Given link is the link of the media.tar.gz , compressed file of the media file, you will have to first save, extract it and then copy it and replace it on the above path of the media file.
 http://202.164.53.122/~sandy/media.tar.gz




10.   Give the permissions 755 to TCC11_12 folder (project) by using the following command:

 sudo chmod 755 -R /home/username/TCC11_12

 In the command written above give the path of your own TCC11_12 folder.


Then, at last final step is go into the browser and type - http:// localhost/tcc11_12/. (here, instead of tcc you will have to give the name of your project or folder ). This will open the TCC software in the browser.

When you installed the software completely if there is problem in opening the “credit and feedback” link in running software make the following changes in /home/toor/TCC11_12/contact/views.py:
from TCC.contact.forms import *
to
from TCC11_12.contact.forms import *