Tренировка на сутрешната група по програмиране за начинаещи на C++

Tренировка на сутрешната група по програмиране за начинаещи на C++

На 11.11.2017 от 10:00 до 13:00 часа в зала 29 на БСУ се проведе състезание в електронната тренировъчна система за автоматично оценяване на задачи по програмиране SPOJ. Учениците имаха време от 180 минути за решаване на 18 задачи. Първо, второ и трето място се класираха както следва: Ивайло Абаджиев, Мирко Колетта и Лазар Апостолов. Наградите за първите трима са вафли с различни размери.

Tренировка на групата по програмиране за начинаещи на C++

Tренировка на групата по програмиране за начинаещи на C++
Tренировка на групата по програмиране за начинаещи на C++

На 27.06.2017 от 10:00 до 13:00 часа в зала 28 на БСУ се проведе състезание в електронната тренировъчна система за автоматично оценяване на задачи по програмиране SPOJ. Учениците имаха време от 180 минути за решаване на 18 задачи. Първо, второ и трето място се класираха както следва: Борис Симеонов, Михаела Николова и Грек Стоянов. Наградите за първите трима са вафли с различни размери. Пълното класиране на групата вижте в обновената версия на SPOJ.

За масивите с любов

Arrays
Масиви

Темата на упражнението е масиви, а съдържанието както следва:

  • Слайд 1 = Едномерни масиви, декларация, вход/изход, редицата на Фибоначи в едномерен масив.
  • Слайд 2 = Двумерни масиви, декларация, вход/изход. Задачи: поелементно умножение на матрица с число, събиране на две матрици, умножение на матрици по „Адамар“, произведение на 2 матрици.
  • Слайд 3 = Сортиране на масиви, метод на мехурчето, сложност на алгоритъма, задачи за сортировка.

Изтеглете презентацията за упражнението от тук.

Втора тренировка на школата по програмиране на C++

Втора тренировка на школата по C++
Втора тренировка на школата по C++

На 7 ноември 2015 (събота) се проведе втора тренировка на школата по програмиране на C++ в състезателната система SPOJ. Учениците имаха 180 минути за решаването на 18 задачи. Ето как излежа официалното класиране на сутрешната и следобедната група.

CodeWeek ден на програмирането в Бургас

Europe Code Week 2015
Europe Code Week 2015

Бургаският свободен университет и Областен информационен център – Бургас се включват в инициативата Европейската седмица на програмирането (Europe Code Week 2015). По този повод на 17 октомври 2015 (събота) от 10:00 до 13:00 и от 14:00 до 17:00 в сградата на БСУ ще се проведе състезание по програмиране за ученици. За да участвате е необходимо да имате основни познания по езика за програмиране C++. Задачите ще включват: отцепване на цифрите на число, условен оператор if и оператор за цикъл for. Всеки е добре дошъл и можете да очаквате много изненади и емоции по време на този ден.

Задачи от упражнението за едномерни масиви

1. INTEGER SUMA
Да се състави програма, чрез която се въвеждат 7 цели числа от интервала [-5000..5000] в едномерен масив. Програмата да изведе общата сума на въведените числа.

Пример: 89, -123, 45, 196, 1204, 0, 112
Изход: 1523

2. ABSOLUTE SUMA
Да се състави програма, чрез която се въвеждат 7 числа от интервала [-4999.99..4999.99] в едномерен масив. Програмата да изведе сумата от абсолютната стойност на въведените числа.

Пример: -3.2, 1.8 2.5, -3.5 1.4, -2.6 7
Изход: 22

3. NUMBERS COUNT
Да се състави програма, чрез която се въвеждат 7 естествени числа от интервала [0..5000] в едномерен масив. Програмата да изведе броя на цифрите на въведените числа, както и сумата на въведените четни числа.

Пример: 13, 14, 25, 16, 55, 97 900
Изход: сума 930 брой цифри 15

4. DIVIDERS
Имате предварително въведени естествени числа от интервала [0..5000] в едномерен масив. Да се състави програма, чрез която се извеждат всички делители на въведените числа в масива.

Пример: 24
Изход: 12,8,6,4,3,2

5. EQUAL INDEXES
Да се състави програма, която по предварително въведени N естествени числа от интервала [0..5000] в едномерен масив проверява за равни стойности на елементи от масива.
Програмата да извежда индекса (позицията в масива) на всички равни стойности от масива.

Пример: 1,2,3,4,5,4,6
Изход: 4,6

6. INTERVAL
Имате предварително въведен едномерен масив, съдържащ реални числа от интервала [-4999.99 … 4999.99].
Да се състави програма (C++), чрез която се избират само елементи със стойности от интервала [-2.99..2.99] и новата редица се извежда на екрана.

Пример: 7.1,8.5,0.2,3.7,0.99,1.4,-3.5,-110,212,341,1.2
Изход: 0.2; 0.99; 1.4; 1.2

7. REVERSE NUMBER:VALUE
Да се състави програма (C++), която въвежда естествени числа от интервала [1..101] до въвеждане на 0. Максималният брой въвеждани числа не може да превишава числото 500.
Като изход програма да извежда всички въведени числа с техния пореден номер, но в обратна последователност.

Пример: 5; 6; 7; 3
Изход: 1:3; 2:7; 3:6; 4:5

8. MULTIPLE ARRAYS
Дадени са два едномерни масива с естествени числа от интервала [0..299].
Да се състави програма (C++), която сравнява всички числа с еднакви индекси от двата масива и записва в трети масив, по-голямото от двете числа.
Да се изведе съдържанието и на трите масива

Пример:
18,19,32,1,3,4,5,6,7,8
1,2,3,4,5,16,17,18,27,11
Изход:
18,19,32,4,5,16,17,18,27,11

9*. PRIMES
Да се състави програма, чрез която се въвеждат 7 естествени числа от интервала [0..5000] в едномерен масив. Програмата да изведе всички прости, неповтарящи се делители на сумата от въведените числа.

Пример: 13, 14, 25, 16, 55, 97 900
Изход:
sum = 1120
dividers: 2 5 7

Работа с файлове в C++ за учениците от АТП

862013 На 8 юни 2013 учениците от АТП се запознаха с работа с файлове в C++. Условия и решения на задачите от упражнението са налични тук: (1) stars, (2) numbers, (3) leters. Проведе се и тренировка върху динамични структури (3 задачи за 90 минути). Класиране на първа и втора група е достъпно в състезателната система на АТП. Условия и решения на задачите от тренировката, можете да изтеглите от тук: (A) Минимален елемент и средна стойност, (B) Сравняване на дълги числа и (C) Намиране на позиция.

Извеждане на разбити цифри на n-цифрено число

#include<iostream>
using namespace std;
//функция за степен на 10-ката
int stepen(double a)
{
int sum=1;
for(int i=1;i<=a;i++) sum=sum*10;

return sum;
}
int main()
{
int x,br=0;
cin >>x;
int y=x;
//Записване на броя на цифрите на числото в br
for(int i=0;i<9999999;i++)
{
if(y!=0)
{
br++;
y=y/10;
}
else
break;
}
//извеждане на разбитото число използвайки функцията stepen()
for(int i=br-1;i>=0;i–)
cout << (int)(x)/stepen(i)%10 << “ „;

return 0;
}

Домашна работа

Решете следните 10 задачи и ги изпратете в последните 2 тренировки (23 и 24) в SPOJ на адрес: http://dev.bfu.bg/spoj/

A. В някои спортове крайната оценка се получава, като от съдийските оценки се пренебрегват най-ниската и най-високата (по една) и се намира средното аритметично от останалите. Съдийските оценки са числа в интервала от 1 до 10. Напишете програма, реализираща този начин на оценяване.

51 2 3 4 5 3

B. Даден е масив А, съдържащ N произволни цели числа. Напишете програма, която определя колко от елементите на масива са точни квадрати.

61 2 4 12 20 36 3

C. Даден е масив А, съдържащ 10 произволни цели числа. Напишете програма, която намира броя на елементите на масива, които са в интервала [0, 100].

748 67 204 45 53 86 586 6 379 579 5

D. В масив М е записано цяло пет цифрено число, като всеки елемент на масива представлява съответна цифра на числото. Напишете програма, която присвоява на променливата N стойността на числото умножено по две и го извежда на екрана.

1 2 3 4 5 24690

E. Дадени са масивите А и В, съдържащи по 5 произволни цели числа. Напишете програма, която конструира трети масив С, всеки елемент на който съдържа по-големия от съответните елементи на масивите А и В и намира произведението от елементите му.

1 2 3 4 55 4 3 2 1 1200

F. Даден е масив А, съдържащ 9 произволни числа. Напишете програма, която намира сумата на положителните елементи от масива , ако са повече от отрицателните или намира сумата на отрицателните елементи , ако те са повече от положителните. В масива не присъства цифрата 0.

-1 -2 -3 -4 1 2 3 4 5 15

Обяснение: Броя на положителните числа в масива е 5 , а на отрицателните – 4 , следователно извеждаме сумата на положителните елементи , която е 1 + 2 + 3 + 4 + 5 и е равна на 15.

G. Напишете програма, която извежда броя еднакви максимални елементи в зададен масив A , състоящ се от X на брой цели положителни числа , които са в интервала [m,n].

157 2 2 5 3 5 1 3 3 4 4 5 3 6 5

1 12

2

Обяснение: Максималния елемент в интервала [1,12] е 5 и той се среща точно 2 пъти в него.Не забравяйте ,че 1вия елемент на масив винаги е с индекс 0.

H. Всяка редица от равни числа в едномерен сортиран масив, се нарича площадка. Да се напише програма, която намира началото и дължината на най-дългата площадка в даден сортиран във възходящ ред едномерен масив.

131 1 1 2 2 3 3 3 3 4 4 4 4 5 4 

Обяснение: „Площадката започва от 5тия елемент и има дължина 4. Не забравяйте ,че 1вия елемент на масив има индекс 0.

I. Даден е масив A с N елемента – естествени числа и цяло число S.Да се намери броя на всички суми на два елемента на масива, които са равни на S.

61 2 3 4 5 6

7

3

Обяснение: Сумите са 1+6 , 2+5 и 3+4.

J. Даден е едномерен масив съдържащ цели числа. Всички четни елементи на масива, разположени преди елемента с минимална стойност да се умножят с тази стойност. Предполага се, че минималният елемент е единствен. Да се изведе новият масив.

66 5 4 2 3 4 120 

Обяснение: Минималния елемент в масива е 2 – Умножаваме 6 * 5 * 4 и получаваме отговора 120.

Какво се случва в АТП през месец февруари ?

bgcoder.com
bgcoder.com

На 16 февруари 2013 се проведе вътрешен турнир на АТП в http://dev.bfu.bg/spoj/ с 15 задачи за 210 минути.

Топ 6 участника в първа група от 10:00 до 13:00, както следва: Кристиан Минчев (14/24), Пламен Станчев (14/29), Пламен Берберов (10/16), Любомир Марински (8/12), Стефан Георгиев (6/12), Йордан Христов (6/18). Пълно класиране на първа група е достъпно в Интернет на адрес: http://dev.bfu.bg/spoj/board.pl?contest_id=18

Топ 5 участника във втора група от 14:00 до 17:00, както следва: Виктор Балтин (15/19), Орлин Кучумбов (15/16), Михаил Спасов (14/18), Любомир Шойлев (10/13), Даниел Николов (8/9). Пълно класиране на втора група е достъпно в Интернет на адрес: http://dev.bfu.bg/spoj/board.pl?contest_id=19

На 17 февруари 2013 от 9:00 до 12:00, АТП участва на национално ниво в bgcoder.com. Участниците от снимката по ред отляво-надясно, са както следва: Стефан Георгиев (5 клас), Пламен Берберов (5 клас), Виктор Балтин (5 клас), Любомир Марински (4 клас), Михаил Спасов (6 клас), Димитър Минчев (ръководител на АТП), Орлин Кучумбов (6 клас).

Класиране на ученици с ненулеви точки: Любомир Марински (250), Виктор Балтин (199), Пламен Берберов (174), Орлин Кучумбов (122), Стефан Георгиев (50). Пълното класиране от това състезание е достъпно в Интернет на адрес: http://www.bgcoder.com