
- •1.Си программалау тілі туралы түсінік
- •2.Сызықтық құрылымды алгоритм. Мысал.
- •3.Си тілінде жазылған программаның құрылымы
- •4.Файлдармен жұмыс
- •5.Си тілінің қарапайым элементтері
- •6.Берілгендерді енгізу операторлары. Мысал
- •7.Float және double жылжымалы нүктелі нақты сандар типтері
- •8.Файлға мәлімет жазу және оқу
- •10. Графикалық режим орнату, одан шығу, мәтін жазу, сызық салу функциялары
- •11.Си тілндегі негізгі операторлар
- •12.Си программасын орындау ортасы
- •13.Программа жұмысын басқару операторлары
- •14.While операторы. Қолдану мысалдары
- •15.Шартты операторлар
- •16.Бүтін сан түріндегі мәліметтерді сипаттау
- •18. Екі өлшемді массивтер.Мысалдары.
- •19.Тұтынушы функциясын пайдалану
- •20. Блок-схема және оның қызметі
- •21. Алгоритмнің циклдік құрылымы
- •22.Айнымалылардың әрекет ету аймағы
- •23.Do... While цикл операторы
- •24.Массив дегенымыз- реттелген бір текті элементтердің жиыны
- •25.Таңдау операторлары - бұлар шартты оператор және ауыстырғыш.
- •26.Құрылымдарды пайдалану
- •27.Си тілінде кездейсоқ сандарды пайдалану
- •28.Қарапайым программа.Препроцессор.
- •29.1.Массивтерді өңдеу есептерінің түрлері (кластары)
- •30.Символдық тіркестер (жолдар, қатарлар)
- •32.Блок-схемада қолданылатын геометриялық фигуралардың атқаратын қызметі
- •33.Массивті сұрыптау (іріктеу, реттеу).
- •34. Си тілінің графиктік операторлары.
- •35. Жай алмастыру арқылы сұрыптау.
- •36. Бір өлшемді массивтер және оларды енгізу, шығару
- •37. Адрестік операциялар
- •38. Printf () функциясы
- •39. Массивтер және массивтерге қолданылатын нұсқауыштар
- •40. Бір өлшемді массивтер және оларды енгізу, шығару
- •41.Нұсқауыштарға қолданылатын операциялар
- •42.Return () функциясы
- •43.Көрсеткіштерді пайдаланып жиымдармен жұмыс істеу
- •44.Тақырыпта қолданылатын стандартты файлдар
- •45.Символдық тіркестер
- •46.Getch() функциясы
- •47. Матрицаның барлық элементтерін өңдейтін алгоритмдер
- •48. Басқарушы символдар
- •49. Символдық таңбаларды енгізу/шығару
- •50. Формат символдары
- •51. Сөз тіркестерін енгізу және шығару функциялары
- •52. Препроцессордың қызметі
45.Символдық тіркестер
Символдық тіркестер
Символдық жолдарды немесе тіркестерді бірнеше тәсілмен өңдеуге болады, олардың негізгілері:
Тіркестік константаларды қолдану;
Char типті жиымды қолдану;
Char типіне сілтейтін нұсқауыштарды пайдалану;
Символдық тіркестерден тұратын жиымдарды қолдану.
Сөз тіркестері немесе тіркестік (жолдық) константа қостырнақшаға алынып жазылады. Тырнақшаға алынатын символдар тізбегінің ең соңына автоматты түрде ‘\0’ символы жазылады. Компилятор жолдық символдарды компьютер жадына жазғанда, олардың көлемін анықтау үшін сол символдар санын есептейді. Символдық константа осы сөз тіркесі жазылған жады аймағына сілтейтін нұсқауыш болып табылады. Символдық тіркестер жиымын (массивін) беру кезінде компилятор компьютер жадының қажетті көлемін анықтау үшін жиымды сипаттағанда, оны тіркестік константа арқылы инициалдауға болады. Мысалы:
char c[]= “Атырау, Алтай - жеріміз”;
Әдеттегі жиым қолданылатын жағдайлар сияқты бұл жиым аты с осы жиымның 1-элементіне сілтейтін нұсқауыш болып табылады.
c ==&c[0];
*c ==’0’;
*(c+1) == c[1] == ‘n’;
Сөз тіркестерін анықтау үшін нұсқауыштарды мынадай түрде сипаттауға болады:
char *c1 = “\n студенттер саны”;
осы сипаттауға эквивалентті болып келесі сипаттау есептеледі:
static char c1[]=”\n студенттер саны”
46.Getch() функциясы
gets(str) функциясы арасында босорыны бар тіркестерді енгізеді, енгізу ENTER пернесімен аяқталады.
Екі функция да тіркес соңына нөлдік байт қосып жазады. Оның үстіне тіркес – символдық жиым болып, ал жиым аты – оның компьютер жадындағы алғашқы адресіне сілтеме болғандықтан, тіркестік айнымалы атының алдына «&» символы жазылмайды.
47. Матрицаның барлық элементтерін өңдейтін алгоритмдер
2-мысал. Нақты сандардан тұратын a4,6 матрицасы берілген. Мынадай өрнекті есептеу керек, мұндағы P1 и P2 – сәйкесінше алынған матрицаның оң және теріс элементтерінің көбейтіндісі.
/* a[4][6] матрицасы берiлген. z=p1/|p2| есептеу керек, p1 и p2 – матрицаның
оң және терiс элементтерiнiң көбейтiндiсi */
#include <math.h>
#include <conio.h>
#include <stdio.h>
{printf("------------------------------\n");
return;}
{
static int a[4][6]={
{5,-11,4,-2,5,6},
{3,3,-12,-5,7,8},
{2,3,-3,14,-9,-3},
{-9,3,-6,14,9,-3}
};
printf("Берiлген матрица :\n");
for (i=0; i<4; i++)
{for (j=0; j<6; j ++)
printf(" %3i ", a[i][j]);
printf("\n");}
/* Матрицаны өңдеу */
for (i=0; i<4; i++)
for (j=0; j<6; j ++)
{if (a[i][j]>0) p1 = p1*a[i][j];
if (a[i][j]<0) p2 = p2*a[i][j];
}
z = p1/abs(p2);
printf(" z = %f\n",z);
}
3-мысал.Бүтін сандардан тұратын квадрат b5,5 матрицасы берілген. Оның басдиагоналының сол жағында және оң жағында орналасқан нөлге тең элементтері санын анықтап, солардың айырмасының модулін табу керек.
Мынадай белгілеулер енгізейік:
L1 – бас диагональдың сол жағында (төменінде) орналасқан элементтер саны;
L2 – бас диагональдың оң жағында (жоғарысында) орналасқан элементтер саны;
L= |L1-L2| – солардың айырмасы модулі.
#include <math.h>
#include <conio.h>
#include <stdio.h>
{printf("-------------------------\n");
return;}
{
static int b[5][5]={
{5,0,0,0,0},
{0,3,12,0,0},
{0,33,13,14,0},
{0,23,0,14,0},
{35,0,13,14,9},
};
printf("Берiлген матрица :\n");
for (i=0; i<5; i++)
{for (j=0; j<5; j ++)
printf(" %3i ", b[i][j]);
printf("\n");}
L1 = L2 = 0;
for (i=0; i<5; i++)
for (j=0; j<5; j ++)
if (b[i][j]==0)
{if (i>j) L1 = L1+1;
if (i<j) L2 = L2 +1;
}
printf(" L = %i ",L);
}