Алгоритмічні мови і програмування(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);
}