Uncategorised

Задачи едномерни масиви

Едномерни масиви

 

  1. 1.Да се състави програма, която въвежда оценките на един ученик и пресмята средния му успех.

 

  1. 2.Да се състави програма, която въвежда редица от n цели числа  а0, а1, а2, …, аn-1 (1<=n<=50) и намира и извежда сумата на тези елементи на редицата, които се явяват нечетни числа.

 

  1. 3.Да се състави програма, която пресмята сумата: a0b0+a1b1+ …+an-1bn-1, където 0, а1, …, аn-1)  и (b0, b1, …, bn-1) са два дадени едномерни масива от числен тип(1<=n<=50) .

 

  1. 4.Да се състави програма, която намира и извежда сумата от положителните и броя на отрицателните елементи  на редицата цели числа а1, а2, …, аn (1<=n<=25).

 

  1. 5.Да се състави програма, която въвежда n  реални числа и намира и извежда:
       а) минималното от тях (1<=n<=50) ;
       б) максималното от тях (1<=n<=50) .

 

  1. 6.Да се състави програма, която намира максималния елемент в даден масив, а също и неговия пореден номер.

 

  1. 7.Дадени са редицата от реални числа  а01, а2, …, аn-1 (1<=n<=50) . Да се състави програма, която сортира във възходящ ред елементите на редицата.

Прочети още: Задачи едномерни масиви

Оператор за цикъл while

2.      Синтаксис и семантика на

2.      Синтаксис и семантика на оператор while

а) Синтаксис на оператора за цикъл с предусловие while (правила за запис):

while (израз) оператор;

оператор – произволен оператор, който е прието да се нарича тяло на цикъла;

израз – условие, което определя до кога се повтаря тялото на цикъла. Тук могат да участват както аритметични, така и логически операции и логически отношения, описани по правилата за логически и аритметични изрази.

Забележка:Тялото на цикъла описва действието, което трябва да се повтаря. Ако се налага да се повтаря повече от едно действие, т. е. се използва повече от един оператор, повтарящите се оператори се обединяват в съставен оператор чрез заграждането им в {}.

б) Семантика оператора while (правила за изпълнение):

Операторът while(BP; където Р е оператор, а В е израз, се изпълнява по следния начин:

- изчислява се стойността на израза В;

- ако стойността на В е различна от нула, т. е. истина, се преминава към изпълнение на P;

- ако стойността на В е нула, се изпълнява следващия оператор в програмата.

в) Забележки (Правила на използване)

Както при използването на оператора за цикъл do-while и тук трябва да спазваме няколко основни правила:

- изразът задължително се загражда в скоби;

- когато в тялото на цикъла трябва да са включени няколко оператора, те се заграждат с { };

- управляващото условие трябва да се променя в тялото на цикъла;

- задължителна инициализация (даване на начални стойности) на условието на цикъла;

Освен това при създаването на програмите трябва да имаме предвид, че тялото на цикъла може да не се изпълни нито веднъж.

а) Синтаксис на оператора за цикъл с предусловие while (правила за запис):

while (израз) оператор;

оператор – произволен оператор, който е прието да се нарича тяло на цикъла;

израз – условие, което определя до кога се повтаря тялото на цикъла. Тук могат да участват както аритметични, така и логически операции и логически отношения, описани по правилата за логически и аритметични изрази.

Забележка:Тялото на цикъла описва действието, което трябва да се повтаря. Ако се налага да се повтаря повече от едно действие, т. е. се използва повече от един оператор, повтарящите се оператори се обединяват в съставен оператор чрез заграждането им в {}.

б) Семантика оператора while (правила за изпълнение):

Операторът while(BP; където Р е оператор, а В е израз, се изпълнява по следния начин:

- изчислява се стойността на израза В;

- ако стойността на В е различна от нула, т. е. истина, се преминава към изпълнение на P;

- ако стойността на В е нула, се изпълнява следващия оператор в програмата.

в) Забележки (Правила на използване)

Както при използването на оператора за цикъл do-while и тук трябва да спазваме няколко основни правила:

- изразът задължително се загражда в скоби;

- когато в тялото на цикъла трябва да са включени няколко оператора, те се заграждат с { };

- управляващото условие трябва да се променя в тялото на цикъла;

- задължителна инициализация (даване на начални стойности) на условието на цикъла;

Освен това при създаването на програмите трябва да имаме предвид, че тялото на цикъла може да не се изпълни нито веднъж.

Данни от знаков тип - char

Задача 1:
Да се състави програма codechar.cpp, която прочита от клавиатурата цяло число от 0 до 255
 и извежда знака, на който това число е ASCII-код.
Примерен вход:     65            Примерен изход:        А
 
Задача 2:

Да се състави програма, която прочита от клавиатурата буква и извежда нейния ASCII-код.

Решение: Ще използваме операцията за преобразуване на типове, за да можем да изведем 
на екрана не самата буква, а нейната числова стойност.

 Задача 3:

Да се състави програма num.срр, която прочита от клавиатурата две цифри 
(като знаци от таблицата ASCII), преобразува ги в числа и извежда тяхното произведение.

Примерен вход: 5 6               Примерен изход: 30

 

Задача 4:
Да се състави програма, която прочита от клавиатурата две латински букви
 и извежда по-големия от съответните им ASCII-кодове.
 Примерен вход: АВ              Примерен изход: 66


Задача 5:
Да се състави програма , която прочита от клавиатурата малка латинска буква

 и извежда съответната й главна латинска буква.

Задача 6:
 Да се състави програма , която прочита от клавиатурата главна латинска буква
 и извежда съответната й малка латинска буква.

Оператор за цикъл for

 



Когато знаем точният брой на повтарящите се действия е удобно да използваме оператора за цикъл for.  

1.  Синтаксис (общ вид)

 

for( израз1  ;  израз2  ;  израз3 ) оператор

 

където израз1  ,  израз2  и  израз3 са произволни, допустими в езика изрази. израз1 е инициализацията на цикъла, т.е. с него се задават началните стойности на параметрите на цикъла. израз2 е условие за край, управляващо продължителността на цикъла, или управляващо условие. израз3 е израз за изменение на текущите стойности на параметрите на цикъла.

оператор е произволен (прост или съставен) оператор, който е тяло на цикъла.

 

Пример:

 

Ето как можем да изведем 1000 пъти поздрава Hello:

for(int i=1; i<=1000; i++) cout<<"Hello \n";   

 

2.  Семантика (изпълнение)

 

При изпълнението на оператора for се поражда следната последователност от действия:

-     изчислява се стойността на израз1, който най-често се използва като начална стойност на управляващата променлива на цикъла;

-     изчислява са стойността на израз2, която най-често зависи от управляващата променлива;

-     ако стойността на израз2 е е истина, се изпълнява операторът в тялото на цикъла. След това се изчислява стойността на израз3, с което най-често се присвоява новата стойност на управляващата променлива, като управлението се връща към изчисляване на израз2, за да се осъществи следващото изпълнение на цикъла;

-     ако стойността на израз2 е лъжа, изпълнението на for  приключва и се изпълнява операторът, записан непосредствено след тялото на цикъла.

3.  Забележки (правила на използване)

-     От семантиката на оператора for следва, че израз1 се изчислява само веднъж;

-     От условието за край - израз2 - зависи дали операторите в тялота на цикъла ще бъдат изпълнени поне веднъж или ще бъдат пропуснати;

-     Ако стойността на израз2 е лъжа още при първата итерация на цикъла, то израз3изобщо не се изчислява;

-     Променливите участващи в израз1, израз2 и израз3 трябва да се дефинират както и всички други идентификатори, т.е. преди първата им употреба. Операторът for  в С++ позволява декларирането на участващите в него променливи и в самият цикъл.

***Ако желаем да спрем преждевременно изпълнението на цикъла for можем да използваме оператора break.

Пример:

Да се напише програма, която по въведено цяло число n (n>=1) намира сумата на nцели числа въведени от клавиатурата. Ако между числата е и числото 0 сумирането да се прекрати и да се изведе сумата на числата до срещане на числото 0.

#include <iostream>

using namespace std;

int main()

{

    int n;  cin>>n;

    int s=0;

    int a;

    for (int i=1; i<=n; i++)

    {

        cin>>a;

        if (a==0) break;

        s=s+a;

    }

    cout<<s<<endl;

    return 0;

}

Данни от знаков тип - char

Задача 1:
Да се състави програма codechar.cpp, която прочита от клавиатурата цяло число от 0 до 255
 и извежда знака, на който това число е ASCII-код.
Примерен вход:     65            Примерен изход:        А
 
Задача 2:

Да се състави програма, която прочита от клавиатурата буква и извежда нейния ASCII-код.

Решение: Ще използваме операцията за преобразуване на типове, за да можем да изведем 
на екрана не самата буква, а нейната числова стойност.

 Задача 3:

Да се състави програма num.срр, която прочита от клавиатурата две цифри 
(като знаци от таблицата ASCII), преобразува ги в числа и извежда тяхното произведение.

Примерен вход: 5 6               Примерен изход: 30

 

Задача 4:
Да се състави програма, която прочита от клавиатурата две латински букви
 и извежда по-големия от съответните им ASCII-кодове.
 Примерен вход: AB              Примерен изход: 66


Задача 5:
Да се състави програма , която прочита от клавиатурата малка латинска буква

 и извежда съответната й главна латинска буква.

Задача 6:
 Да се състави програма , която прочита от клавиатурата главна латинска буква
 и извежда съответната й малка латинска буква.

Login Form


IV ОУ "Св.Св.Козма и Дамян" -гр Сандански

Cookies make it easier for us to provide you with our services. With the usage of our services you permit us to use cookies.
More information Ok