Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мой сборник 2014-2015.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.45 Mб
Скачать

1) Есепті шешу алгоритмінің блок-схемасы:

С++ тіліндегі бағдарлама мәтіні:

#include<iostream.h>

void main ()

{

int a,s,m,n;

cin>>m;

s=a=0;

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

{

a=n*n;

s=s+a;

}

cout<<s;

}

Бағдарламаның нәтижесі:

Адрестер

N

S=∑│ai*bi│, мұндағы (a1,a2,...,an), (b1,...,bn).

i=1

1) Есепті шешу алгоритмінің блок-схемасы:

2) С++ тіліндегі бағдарлама мәтіні:

#include<iostream.h>

void main ()

{

const int N=5;

double a[N],b[N],s;

int i;

for(i=0;i<N;i++)

cin>>a[i];

for(i=0;i<N;i++)

cin>>b;

s=a[1]*b[1];

cout<<”a[1]*b[1]=”<<s;

}

3) Бағдарламаны тестілеу нәтижесі:

Көрсеткіштер

Көрсеткіш қандай да бір мәліметтің адресінен тұратын айнымалы болып табылады. Жалпы айтқанда, көрсеткіш - адрестің қандай да бір символикалық бейнеленуі. &sum бұл жағдайда «sum айнымалысына көрсеткіш» дегенді білдіреді . Адресі сан болса, ал &sum адреснің символикалық бейнеленуі көрсеткіш типті константа болып табылады. Сондықтан sum айнымалысына бөлінген жады ұяшығының адресі программа орындалғанда өзгермейді.

Си тілінде көрсеткіш типті айнымалылар да кездеседі. Көрсеткіш типті айнымалылар мәні қандай да бір шаманың адресі болып табылады. Көрсеткіш ptr идентификаторымен белгіленген болсын, сонда келесідей оператор sum адресін ptr айнымалысына меншіктейді: ptr =& sum. Бұл жағдайда ptr sum -ға «көрсетеді» деп айтады. Яғни, ptr - айнымалы, & sum - константа. ptr айнымалысы басқа да бір объектіге «көрсете» алады:

ptr=&mах.

Ptr мәні mах айнымалысының адресі болып табылады. Адреске бағыттау операциясын (*) немесе жанама адрестеу операциясын қарастырайық, ptr айнымалысында mах айнымалысына сілтеме болсын. Сонда осы айнымалының мәніне кол жеткізу үшін адрес-ке бағыттау операциясын (*) қолдануға болады. Рtr көрсететін мәнді анықтау үшін келесі операторды жазамыз: sum=*ptr; (Соңғы екі оператор, бірге алғанда, келесіге тең: sum=mах; адресті алу және жанама адрестеу операциясын қолдану нәижеге тура әелмейді екен, операцияның атындағы «жанама» деген сөз де содан пайда болған).

(*) операциясы - осы таңбадан кейін айнымалыға көрсеткіш тұрса, операция нәижесі көрсетілген адресі бар ұяшықта тұрған шама болып табылады.

Көрсеткіштерді баяндау. «Көрсеткіш» типті айнымалыны баяндағанда ол көрсеткіш қандай типті айнымалыға сілтеме жасап тұрғанын көрсету керек. Өйткені әр түрлі типті айнымалы жадыдан әр түрлі көлемде орын алады және де көрсеткіштермен байланысты кандай да бір операцияларды орындағанда жадыда бөлінетін орынның көлемін білу керек. Көрсеткіштерді дұрыс баяндау мысалдары:

Int*ptr;

Char*cptr;

Float-fptr;

Көрсеткіштерді функциялар арасындағы байланысты құру үшін қолдану. Көрсеткіштерді функциялар арасындағы байланысты құру үшін қолдануға мысал келтірейік. Бұл мысалда көр-сеткіштер айнымалылардың мәнін ауыстыру үшін қолданылады.

Маіn()

{

Іnt х=5,у=10;

Рrint f(«х=%d у=%d\n», х, у);

сһаnge(&х, &у); /*функция адрестерін беру*/

рrintf(«х=%d у=%d\n», х, у);

}

сһаngе(u, v)

іnt *u, *v; /*u және v көрсеткіш болып табылады*/

{

іnt temp;

temp=*u; /*temp-ке и көрсетіп тұрған мән меншіктеледі*/

*u=*v;

*v=temp;

}

Берілген функция х және у айнымалыларының мәнін өзгертеді. X және у айнымалыларының адресін функцияға беру арқылы біз оларға қол жеткізуге мүмкіндік бердік. Көрсеткіштерді және (*) операциясын қолданып функция жадыдағы сәйкес ұяшықтарда орналысқан шамаларды алуға және олардың орнын ауыстыруға мүмкіндік алды.