Алгоритмічні мови і програмування(1-й рівень) 1. Вкажіть неправильний запис числа мовою Паскаль: а) 0006 б) 7,0 в) 8E0 2. Вкажіть неправильний запис числа мовою Паскаль: а) 2/3 б) 3.8 в) 0 3. Вкажіть неправильний запис числа мовою Паскаль: а) 5 б) E-1 в) 3.2 4. Вкажіть неправильний запис числа мовою Паскаль: а) 89.0 б) 0040 в) 2*E5 5. Вкажіть, скільки операцій виконується при обчисленні виразу мови Паскаль (x+1/2)*(y+7/10)-3/4: а) 8 б) 6 в) 7 г) 10 д) 4 6. Вкажіть помилковий запис мовою Паскаль: а) 1+4 б) 1.5+3 в) (x>5) and (x<7) г) 1 and 0 7. Вкажіть помилковий запис мовою Паскаль: а) true+false б) a or (not b) в) 2.5+8E1 г) x<y 8. Вкажіть помилковий запис мовою Паскаль: а) 5>10 б) true<0 в) x<>0 г) a or (not a) 9. Вкажіть помилковий запис мовою Паскаль: а) false<true б) 1.5*3 в) not 2=5 г) 1<0 10. Вкажіть помилковий запис мовою Паскаль: а) 1>4 б) 1.5<3 в) x<7.8 г) x>0 or y=4 11. Вкажіть помилковий запис мовою Паскаль: а) not not b or or d б) true and false в) (x>5) or false г) not true 12. Вкажіть помилковий запис мовою Паскаль: а) not false б) true and and false в) (x<7.8) and true г) (x>10) or (y=3) 13. Вкажіть неправильний ідентифікатор мови Паскаль: а) x б) A в) Min Value г) MaxValue 14. Вкажіть неправильний ідентифікатор мови Паскаль: а) number б)NUMBER в) DAY г) 7DAYS 15. Вкажіть неправильний ідентифікатор мови Паскаль: а) PASCAL б) ідентифікатор в) num г) PosInt 16. Вкажіть неправильний ідентифікатор мови Паскаль: а) abcd б) Pascal в) A+1 г) Aplus1
Алгоритмічні мови та програмування(2-й рівень) Структура програми на алгоритмічній мові Паскаль. Program<Назва програми>; <Розділи описів та оголошення> Begin <Розділи команд> End. Оператор циклу з передумовою мови Паскаль. Призначення тіло циклу виконується певну кількість разів поки умова не набуде значення false.(чи не виконається жодного разу). Синтаксис while <логічний вираз> do <оператор(або набір операторів)> приклад застосування. I:=20; while (i<=30) do begin writeln (i:4,i*i:6,i*i*i:8); i:=i+1 end Оператор циклу з післяумовою мови Паскаль: Призначення тіло циклу виконується певну кількість разів поки умова не набуде значення false.(обов‘язково виконується 1 раз). Синтаксис repeat <тіло циклу> until <умова> приклад застосування. Program_Codes_Char; var ch :Char; const CR=13; begin repeat readln(ch); Writeln(ch,’=’,ord(ch)) Until ord(ch)=CR End. Оператор циклу з параметром мови Паскаль: призначення, синтаксис, приклад застосування. Призначення: для виконання певної задачі (опеатора чи набору операторів) певну визначену кількість разів. Синтаксис : for <параметр> := <поч. значення> to <кін. значення> do <оператор>; (після кожної ітерації параметр збільшується на 1). for <параметр> := <поч. значення> downto <кін. значення> do <оператор>; (після кожної ітерації параметр зменшується на 1). Приклад застосування: fact:=1; for i:= 1 to n do fact:=fact*i; {обчислення n!} Умовний оператор мови Паскаль: , синтаксис, приклад застосування. Призначення: Для зміни порядку виконання операторів у алгоритмі Синтаксис: if<логічний вираз> then<оператор1> else <оператор2>; приклад застосування: if a>=b Then c:=a else c:=b Оператор вибору мови Паскаль: призначення, синтаксис, приклад застосування. Призначення: дозволяє вибрати один із шляхів продовження програми Синтаксис: case<вираз> of <список або діапазон значень 1>:<оператор 1> ……. <список або діапазон значень n>:<оператор n> Else <оператор> End; приклад застосування: case bal of 88..100: mark:=’nice’; 71..87: mark:=’good’; 51..70: mark:=’not_nice’; Else mark:=’bad’; End; Процедури мови Паскаль: Призначення для розв’язування додаткових задач. Дозволяють зменшити код програми, коли деяку задачу в програмі необхідно виконувати кілька разів. синтаксис опису прцедури procedure <Назва процдури> (<список формальних параметрів>) <Розділи описів і оголошення процедури> {Оголошені тут зміні називаються локальними} Begin <Розділи команд процедури> End; Приклад const a: integer=5; b: integer=7; {-----------} Procedure inc2(var c: integer; b: integer); Begin{inc2} C:=c+c; B:=b+b; Writeln(‘podvojenja : ’, c:5, b:5) End{inc2}; {------------} Begin{main} Writeln(‘vxidni :’, a:5, b:5); Inc2(a,b); Writeln(‘rizalt:’,a:5, b:5) End{main}. Функції мови Паскаль: Призначення для написання власних нестандартних фунцій (відрізняється від процедури тим, що після свого виконання набуває певного знаення) синтаксис опису функції function <назва> (<список формальних параметрів>) : <тип функції>; <Розділ описів функції> Begin <Розділ команд, серед яких є така: Назва:=вираз> End;
Приклад function Gryvni(Dollars: integer):real; Begin Gryvni:=5.43*Dollars; End;
Алгоритмічні мови та програмування (Отенко В.І.) 1. Написати програму на мові Сі для визначення суми значень елементів над головною діагоналлю матриці А={аij}, де i=j=15. Ввід елементів матриці здійснити з клавіатури. #include <stdio.h> #include <math.h> #include <conio.h> //===========suma elementiv v stovpchukax pid golovnoju diagonalju========== void sum_account(int mat[15][15]) { int sum=0,i,j; for(j=0;j<=14;j++) { for(i=0;i<j;i++) { sum+=mat[i][j]; } } printf("suma elementiv nad golovnoju diagonalju rivna %d",sum ); } //=========tilo osnovnoji programu============================ void main(void) { //-------ogoloshenja zminux----------- int i,j; int mat[15][15]; /*------------enter from keybord--------------*/ for (i=0;i<15;i++) { for (j=0;j<15;j++) { printf (" enter element %d,%d ",i+1,j+1); scanf ("%d",&mat[i][j]); } printf ("\n"); } sum_account(mat); } 2. Написати програму на мові Сі для визначення добутку значень елементів під головною діагоналлю матриці А={аij}, де i=j=12. Ввід елементів матриці здійснити з клавіатури. #include <stdio.h> #include <math.h> #include <conio.h> //===========suma elementiv v stovpchukax pid golovnoju diagonalju========== void dob_account(int mat[12][12]) { int dob=1,i,j; for(j=0;j<11;j++) { for(i=j+1;i<12;i++) { dob*=mat[i][j]; } } printf("dobutok elementiv pid golovnoju diagonalju rivna %d",dob ); } //=========tilo osnovnoji programu============================ void main(void) { //-------ogoloshenja zminux----------- int i,j; int mat[12][12]; /*------------enter from keybord--------------*/ for (i=0;i<12;i++) { for (j=0;j<12;j++) { printf (" enter element %d,%d ",i+1,j+1); scanf ("%d",&mat[i][j]); } printf ("\n"); } dob_account(mat); } 3. Написати програму на мові Сі для визначення максимального елемента над допоміжною діагоналлю матриці А={аij}, де i=j=25. Ввід елементів матриці здійснити з клавіатури. #include <stdio.h> #include <math.h> #include <conio.h> #define n 25 //===========suma elementiv v stovpchukax pid golovnoju diagonalju========== void max_value(int mat[n][n]) { int max,i,j; max=mat[0][0]; for(i=0;i<n;i++) { for(j=0;j<(n-(i+1));i++) { if(max<mat[i][j]) max=mat[i][j]; } } printf("najbiljshuj element nad golovnoju diagonalju rivna %d",max); } //=========tilo osnovnoji programu============================ void main(void) { //-------ogoloshenja zminux----------- int i,j; int mat[n][n]; /*------------enter from keybord--------------*/ for (i=0;i<n;i++) { for (j=0;j<n;j++) { printf (" enter element %d,%d ",i+1,j+1); scanf ("%d",&mat[i][j]); } printf ("\n"); } max_value(mat); } 4. Написати програму на мові Сі для визначення мінімального елемента під допоміжною діагоналлю матриці А={аij}, де i=j=23. Ввід елементів матриці здійснити з клавіатури. #include <stdio.h> #include <math.h> #include <conio.h> #define n 23 //===========suma elementiv v stovpchukax pid golovnoju diagonalju========== void min_value(int mat[n][n]) { int min,i,j; min=mat[n-1][n-1]; for(i=1;i<n;i++) { for(j=(n-i);j<n;j++) { if(min>mat[i][j]) min=mat[i][j]; } } printf("najmenshuj element pid dopomignoju diagonalju rivnuj %d",min); } //=========tilo osnovnoji programu============================ void main(void) { //-------ogoloshenja zminux----------- int i,j; int mat[n][n]; /*------------enter from keybord--------------*/ for (i=0;i<n;i++) { for (j=0;j<n;j++) { printf (" enter element %d,%d ",i+1,j+1); scanf ("%d",&mat[i][j]); } printf ("\n"); } min_value(mat); } 5. Написати програму на мові Сі для визначення добутку значень елементів над допоміжною діагоналлю матриці А={аij}, де i=j=47. Ввід елементів матриці здійснити з клавіатури. #include <stdio.h> #include <math.h> #include <conio.h> #define n 47 //===========suma elementiv v stovpchukax pid golovnoju diagonalju========== void dob_value(int mat[n][n]) { int dob=1,i,j; for(i=0;i<n;i++) { for(j=0;j<(n-(i+1));i++) { dob*=mat[i][j]; } } printf("dobutok elementiv nad golovnoju diagonalju rivna %d",dob); } //=========tilo osnovnoji programu============================ void main(void) { //-------ogoloshenja zminux----------- int i,j; int mat[n][n]; /*------------enter from keybord--------------*/ for (i=0;i<n;i++) { for (j=0;j<n;j++) { printf (" enter element %d,%d ",i+1,j+1); scanf ("%d",&mat[i][j]); } printf ("\n"); } dob_value(mat); } 6. Написати програму на мові Сі для визначення суми значень елементів під допоміжною діагоналлю матриці А={аij}, де i=j=28. Ввід елементів матриці здійснити з клавіатури. #include <stdio.h> #include <math.h> #include <conio.h> #define n 28 //===========suma elementiv v stovpchukax pid golovnoju diagonalju========== void sum_value(int mat[n][n]) { int sum=0,i,j; for(i=1;i<n;i++) { for(j=(n-i);j<n;j++) { sum+=mat[i][j]; } } printf("suma elementiv pid dopomignoju diagonalju rivnuj %d",sum); } //=========tilo osnovnoji programu============================ void main(void) { //-------ogoloshenja zminux----------- int i,j; int mat[n][n]; /*------------enter from keybord--------------*/ for (i=0;i<n;i++) { for (j=0;j<n;j++) { printf (" enter element %d,%d ",i+1,j+1); scanf ("%d",&mat[i][j]); } printf ("\n"); } sum_value(mat); }