Сайт підготовки до олімпіади з інформатики

програмування в С++

05_12_2012 Мови прорамування С++ та Пскаль PDF Печать E-mail
Добавил(а) Гісь Ігор Володимирович   
05.12.12 09:53

1. Порядок роботи

Visual C++

Delphi

Порядок роботи

1. Запустити середовище Головне меню\Програми\Visual C++ 9.0 Express Edition\Microsoft Visual C++ 2008 Express Edition.

2. Створити новий проект «Консольний додаток Win32», який зберігати в власну папку.

3. Перевірити програми з додатку.

Зауваження

Для компіляції та виконання натискуйте клавішу Ctrl F5

// Під'єднання модулів

#include "stdafx.h" //генерація файлу предкомпільованих заголовків

#include <iostream>//організація введення-виведення в мові програмування C++

#include <math.h>//виконання простих математичних операцій

using namespace std;// звернення до об'єктів напряму

void _tmain()

{

Int a,b; //опис цілих

Float c; //опис дійсних

cin>>a>>b;//ведення даних

c=a/b;

cout<<c<<”\n”;//виведнння даних

}

1. Запустити середовище

2. Створити новий проект New-Other-Consol Aplication, який зберігати в власну папку.

3. Перевірити програми з додатку.

Зауваження

Для компіляції та виконання натискуйте клавішу F9

program Project2;

{$APPTYPE CONSOLE}

Var a,b,c:integer;

begin

readln(a,b);

c:=a+b;

writeln(c);

readln;

end.

2. Структура слідування

С++

Pascal

Типи

Тип даних:

Розмір в байтах:

Числовий діапазон:

Char

1

один символ

Short

2

от -2^8 до 2^8

Int

4

от -2^16 до 2^16

Float

4

от -2^16 до 2^16

Long

4

от -2^16 до 2^16

Double

8

от -2^32 до 2^32

Long Double

8

от -2^32 до 2^32

Unsigned Short

2

от 0 до 2^16

Unsigned Int

4

от 0 до 2^32

Unsigned Float

4

от 0 до 2^32

Unsigned Double

8

от 0 до 2^64

unsigned char 1 від 0 до 255
wchar_t 2 от 0 від 65535
short 2 від -32768 дo +32767
unsigned short 2 відд 0 до 65535
int 4 від -2147483648 до 2147483647
unsigned int 4 відт 0 до 4294967295
long 4 від -2147483648 до 2147483647
unsigned long 4 відт 0 до 4294967295
float 4 ± 3,4x10±38, 7-знаків
double 8 ± 1,7x10*308, 15 знаків

long double 8 ± 1,7x10*308, 15 знаків

#include "stdafx.h"

#include <iostream>

using namespace std;

int main( void )

{ cout << " (unsigned)int = " << sizeof(int) << endl;

cout << " (unsigned)short = " << sizeof(short) << endl;

cout << " (unsigned)char = " << sizeof(char) << endl;

cout << " (unsigned)float = " << sizeof(float) << endl;

cout << " (unsigned)double = " << sizeof(double) << endl;

cout << " (unsigned)long = " << sizeof(long) << endl;

cout << " (unsigned)long double = " << sizeof(long double) << endl;

cout << " (unsigned)long long int = " << sizeof(long long int) << endl;

cout << " (unsigned)unsigned long long int = " << sizeof(unsigned long long int) << endl;

cout << " (unsigned)__int64 = " << sizeof(__int64) << endl;}

Цілочисельні

byte, shortin, integer, longint, in64

дійсні

real, double, extended

Операції

Ім'я

Опис

+

с=a+b; k=k+1; k++; s+=k;

-

c=a-b; k=k-1; k--; s-=k;

*

c=a*b;

/

a=5.0/2;//2.5 a=5/2;//2

%

a=5%2;//1

#include "stdafx.h"

#include "iostream"

using namespace std;

int _tmain()

{

int n,a,b;

cin>>n;/* 12 */

a=n/10;

b=n%10;

cout<<a<<endl;/* 1 */

cout<<b<<endl;/* 2 */

return 0;

}

Ім'я

Опис

+

с:=a+b; k:=k+1; s:=s+k;

-

c:=a-b; k=k-1;

*

c=a*b;

/

a=5/2;//2.5

div

a=5 div 2;//2

mod

a:=5 mod 2; //1

Функції

C++

Pascal

Ім'я

Опис

abs(i)

модуль числа

ceil(f)

округлення до найближчого більшого цілого числа

fabs(f)

абсолютне значення

floor(f)

округлення до найближчого меншого цілого цілого

fmod(a,b)

повертає залишок від ділення двох чисел

modf(x,p)

повертає цілу та дробову частину аргументу х зі знаком

pow(x,y)

вираховує значення xy

sqrt(f)

квадратний корінь

#include "stdafx.h"

#include "iostream"

#include "math.h"

using namespace std;

int _tmain()

{

double f;

f=-5.5; cout<<abs(f)<<endl;//5.5

f=-5.5; cout<<fabs(f)<<endl;//5.5

f=5.8; cout<<floor(f)<<endl;//5

f=5.8; cout<<ceil(f)<<endl;//6

f=9.0; cout<<sqrt(f)<<endl;//3

f=5; cout<<pow(f,2)<<endl;//25

f=5.5; cout<<fmod(f,2)<<endl;//1.5

f=17.25;double p,y;y=modf(f,&p); f=5.2; cout<<y<<" "<<p<<endl;//0.25 17

return 0;}

Ім'я

Опис

abs(i)

модуль числа

Int (x)

ціла частина дійсного числа.

Frac (x) -

дробова частина дійсного числа.

Trunc (x)

ціла частина дійсного числа, перетворена до типу LongInt.

Round (x)

округлене до цілого дійсне число, перетворене до типу LongInt.

power(x,y)

вираховує значення xy

exp(y*ln(x))

sqrt(f)

квадратний корінь

sqr(f)

квадрат числа

2. Розгалуження

С++

Pascal

Операції порівняння

<, >. <=,>=, !=, ==

<, >. <=,>=, <>, =

Логічні операції

&&, ||, !

And, or, not

Умовний оператор

if (умова) команда 1; else команда 2;

if (умова) then команда 1 else команда 2;

3. Цикл

С++

Pascal

З параметром

for (i=1;i<=n;i++) {блок операторів};

for i:=1 to n begin блок операторів end;

for i:=n downto 1 begin блок операторів end;

З перед умовою

while (умова){блок операторів};

Whileумова begin блок операторів end;

Після умовою

do {блок операторів}

while (умова);

repeat  блок операторів;until умова (хибна);

4. Масиви

С++

Pascal

Операція

Лінійний масив

Прямоктна таблиця

Опис

Int a[100];

int i, n;//індекс, кількість елементів

Int a[100][100];

int i,j, n,m;//індекс, кількість елементів

Введення

cin>>n;

for(i=1;i<=n;i++)cin>>a[i];

cin>>n>>m;

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

for(j=1;j<=m;j++)

cin>>a[i][j];

Виведення

for(i=1;i<=n;i++)cout<<a[i<<>" ";

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

for(j=1;j<=m;j++)

cout<<a[i][j]<<" ";

Сумування

s=0;

for(i=1;i<=n;i++)s=s+a[i];

s=0;

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

for(j=1;j<=m;j++)

s=s+a[i][j];

Пошук

cin>>k;

for(i=1;i<=n;i++) if (a[i]==k) cout<<i;

cin>>k;

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

for(j=1;j<=m;j++)

if (a[i][j]==k)

cout<<i<<" "<<j;

Пошук максимального

max=a[1];nmax=1;

for(i=2;i<=n;i++)if  (a[i]>max) {max=a[i];nmax=i;}

max=a[1];imax=1;jmax=1;

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

for(j=1;j<=m;j++)

if  (a[i][j]>max) {max=a[i][j];

imax=i;jmax=j;}

Сортування

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

for(j=1;j<n;j++)

if  (a[j]>a[j+1])

{temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;}

Стирання

n=n-1;

for(i=k;i<=n;i++)

a[i]=a[i+1];

Вставка

n=n+1;

for(i=n;i>=1;i--)

a[i]=a[i-1];

Операція

Лінійний масив

Прямокутна таблиця

Опис

Var a:array[1..100] of integer;

i, n:integer;//індекс, кількість елементів

Var a:array[1..100,1..100] of integer;

i,j, n,m:integer;//індекси, кількість рядків, стовпців

Введення

readln(n);

for i:=1 to n do read(a[i]);

readln(n);

for i:=1 to n do

for j:=1 to m do

read(a[i,j]);

Виведення

for i:=1 to n do write(a[i],' ');

for i:=1 to n do begin

for j:=1 to m do

write(a[i,j],' ');

writeln;

end;

Сумування

s=0;

for i:=1 to n do s:=s+a[i];

s=0;

for i:=1 to n do

for j:=1 to m do

s:=s+a[i,j];

Пошук

readln(k);

for i:=1 to n do if  a[i]=k then writeln(i);

readln(k);

for i:=1 to n do

for j:=1 to m do

if  a[i,j]=k then

writeln(i,' ',j);

Пошук максимального

max:=a[1];nmax:=1;

for  i:=2 to n do if  a[i]>max then begin max:=a[i];nmax:=i;end;

max:=a[1];nmax:=1;mmax:=1;

for  i:=1 to n do

for j:=1 to m do

if  a[i,j]>max then begin max:=a[i,j];nmax:=i;mmax:=j; end;

Сортування

for  i:=1 to n -1do

for j:=1 to n -1do

if  a[j]>a[j+1] then begin

temp:=a[j];

a[j]:=a[j+1];

a[j+1]:=temp;

end;

Стирання

n:=n-1;

for  i:=k to n do a[i]:=a[i+1];

Вставка

n:=n+1;

for  i:=n downto k+1 do

a[i]:=a[i-1];

5. Робота з файлами

Pascal

C++

var f1,f2:text;

assign(f1,'input.dat');

reset(f1);

read(f1,...);

close(f1);

assign(f2,'output.dat');

rewite(f2);

write(f2,...);

close(f2);

#include <fstream.h>

void main()

{

ifstream inp;inp.open("input.dat");

int a,b,c;

inp>>a>>b;

inp.close();

c=a+b;

ofstream out;out.open("output.sol");

out<<c;

out.close();

}

assign(input,'input.dat');

reset(input);

read(...);

close(input);

assign(output,'output.dat');

rewite(output);

write(...);

close(output);

#include <fstream.h>

ifstream inp("input.dat");

ofstream out("output.sol");

void main()

{

int a,b,c;

inp>>a>>b;

c=a+b;

out<<c;

}

Приклад програми на Delphi

program zad1;

{$APPTYPE CONSOLE}

var a,b,c:integer;

begin

assign(input,'input.dat');

reset(input);

readln(a,b);

close(input);

c:=a+b;

assign(output,'output.ans');

rewrite(output);

writeln(c);

close(output);

end.

Приклад програми на С++

//#include "stdafx.h"

#include <cstdlib>

#include "iostream"

#include "fstream"

using namespace std;

int main()

{ifstream cin("input.dat");

ofstream cout("output.ans");

int a,b,c;

cin>>a>>b;

c=a+b;

cout<<c<<endl;

return 0;

}


 

Статистика

Пользователей : 261
Статей : 225
Просмотрено статей : 115383

Вход/Регистрация

Нет