Skip to content

Instantly share code, notes, and snippets.

@tenekev
Last active December 12, 2025 06:37
Show Gist options
  • Select an option

  • Save tenekev/dfbde85295fde2b9c2dab5e16a2d0322 to your computer and use it in GitHub Desktop.

Select an option

Save tenekev/dfbde85295fde2b9c2dab5e16a2d0322 to your computer and use it in GitHub Desktop.
  1. Алгоритъм определение - Описание на краен брой елементарни действия, които обработват входни данни с цел търсене на решения

  2. Свойства на алгоритмите:

    1. Кратност - Всички алгоритми имат начало и край
    2. Дискретност - действията в алгоритъма се извършват едно по едно
    3. Масовост
    4. Резултатност - След приключване на алгоритъма, трябва да има някакъв отговор.
  3. Видове алгоритми

    • Линейни – логаритми при, които последователността на действия, не зависи от входните данни и междинните резултати
    • Разклонени - логаритми, при които последователността от действия зависи от входните данни и междинните резултати
    • Циклични – определени действия се повтарят многократно краен брой пъти, докато определено условие е вярно

Блокове в блок схема

flowchart TD

A([Начало]) --> B[/вх. A, B, C/] --> C{A > B ?}

C -- Yes --> D[ A + B + C]

C -- No --> G[/изх.A > C ?/]

D --> Z([Край])
G --> Z

Loading

  1. Да се състави блок-схема на алгоритъм, който въвежда три произволни числа А, В, С и ги подрежда по нарастване на стойностите (в А записва най-малкото от трите числа, в В по- голямото, а в С най-голямото).
flowchart TD

A([Start]) --> B[/вх. A, B, C/]

B --> C{A > B ?}
C -- Yes --> D[ temp = A ]
D --> E[ A = B ]
E --> F[ B = temp ]
F --> G

C -- No --> G{A > C ?}
G -- Yes --> H[ temp = A ]
H --> I[ A = C ]
I --> J[ C = temp ]
J --> K

G -- No --> K{B > C ?}
K -- Yes --> L[ temp = B ]
L --> M[ B = C ]
M --> N[ C = temp ]
N --> P[/изх. A, B, C/] --> Z([End])

K -- No --> P
Loading
  1. Да се състави блок-схема на алгоритъм за намиране и извеждане на сумата S=X-2^2+3X^3-4X^4+... като изчисленията се преустановят при стойност на сумата по-голяма от 1000. Стойността на променливата Х се въвежда и трябва да е в интервал 2 - 7.
flowchart TD

A([Start]) --> B[/вх. X/]

B --> C{2 ≤ X ≤ 7?}

C -- No --> Z1[/изх. Invalid input /] --> Z([End])

C -- Yes --> D[i = 1]
D --> E[S = 0]

E --> F{S ≤ 1000?}

F -- Yes --> G{i % 2 = 0}

G -- Yes --> H[temp = i * X^i]
G -- No --> I[temp = - i * X^i]

H --> J[S = S + temp]
I --> J

J --> K[i = i + 1]
K --> F

F -- No --> L[/изх. S/] --> Z([End])
Loading
  1. Да се състави блок-схема на алгоритъм, в който се въвеждат стойности на едномерен масив А с n елемента като n е между 3 и 25 Да се намери и отпечата броя на елементите с четни стойности.
flowchart TD

A([Start]) --> B[/вх. n/]

B --> C{3 ≤ n ≤ 25?}
C -- No --> Z1[/изх. Невалидно n/] --> Z([End])

C -- Yes --> D[ i = 0 ]
D --> E[ count = 0 ]

E --> F{ i < n ? }

F -- Yes --> G[/вх. A#91; i #93;/]

G --> H{ A#91; i #93; % 2 = 0 }
H -- Yes --> I[ count = count + 1 ]
H -- No --> K

I --> K[ i = i + 1 ]
K --> F

F -- No --> L[/изх. count/] --> Z([End])
Loading
#include <stdio.h>

#define MAX_SIZE 25 

int main() {
    int n;
    int A[MAX_SIZE]; 
    int count = 0;
    int i;

    // 1. Input n and validation (3 <= n <= 25)
    printf("Enter the number of elements (n, 3 <= n <= 25): ");

    if (n < 3 || n > MAX_SIZE) {
        printf("Invalid n. Number must be between 3 and %d.\n", MAX_SIZE);
        return 1;
    }

    // 2. Input array elements
    printf("Enter %d int elements for the array:\n", n);
    for (i = 0; i < n; i++) {
        printf("A[%d]: ", i);
    }

    // 3. Count elements with even values
    for (i = 0; i < n; i++) {
        if (A[i] % 2 == 0) {
            count++;
        }
    }

    // 4. Output the result
    printf("The number of elements with even values is: %d\n", count);

    return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment