Цілочисельний масив з 8 рядків та 15 стовпців заповнити випадковими одноцифровими числами. Скільки разів у масиві зустрічається число 5? 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Цілочисельний масив з 8 рядків та 15 стовпців заповнити випадковими одноцифровими числами. Скільки разів у масиві зустрічається число 5?



3. Доповнити програму-розв'язок попередньої задачі виведенням таблиці кількості входжень у масив кожного з чисел (наприклад: 0->5 raz, 1->8 raz, …)

4. Заданий одновимірний масив цілих чисел. Вивести значення елементів масиву:

A. У зворотному порядку

B. З парними індексами

C. З непарними індексами

D. Які є парними числами

E. Які є непарними числами

Література

1. Лєхан С.Ф. Інформатика С++. Спецкурс. 10-12 класи. – Шепетівка; Аспект, 2007.

2. Глинський Я.М., Анохін В.Є., Ряжська В.А. С++ і С++ Builder. Навчальний посібник. – Львів: СПД Глинський, 2006.

3. Глушаков С.В., Смирнов С.В., Коваль А.В. Практикум по С++. – Харьков: Фолио, 2006.

4. Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб.: Питер, 2003

Лисенко Т.І. Поглиблене вивчення програмування в школі. – К.:ТОВ Редакція “Комп'ютер”, 2007.

 

Розв’язки завдань

Слайд № 13

Задача 2


#include <iostrem.h>

#include <conio.h>

#include <stdlib.h>

int main ()

{int a[8][15], int k=0;

randomize();

for (int I=0; I<8; I++)

for (int j=0; j<15; j++)

{a[I][j]=random(9);

if (a[I][j]==5) k++;}

cout<<k<<endl;

getch ();

return 0;

}

Задача 3

#include <iostrem.h>

#include <conio.h>

#include <stdlib.h>

int main ()

{int a[8][15], int k[10]={0};

randomize();

for (int I=0; I<8; I++)

for (int j=0; j<15; j++)

{a[I][j]=random(9);

k[a[i][j]]++;}

for (int i=0; i<10; i++) cout<<”k[“<<i<<”]=”<<k[i]<<” “;

cout<<endl;

getch ();

return 0;

}


Задача 4

#include <iostrem.h>

#include <conio.h>

#include <stdlib.h>

int main ()

{int a[100], int n; cin>>n;

randomize();

for (int I=0; I<n; I++)

a[I]=random(90);

//-----у зворотному порядку-------

for (I=n-1; I>=0; I--) cout<a[I]<<” “;

cout<<endl;

//-----у парними індексами-------

for (I=0; I<n; I+=2) cout<a[I]<<” “;

cout<<endl;

//-----у непарними індексами-------

for (I=1; I<n; I+=2) cout<a[I]<<” “;

cout<<endl;

//-----які є парними-------

for (I=0; I<n; I++)

if (a[I]%2==0) cout<a[I]<<” “;

cout<<endl;

//-----які є непарними-------

for (I=0; I<n; I++)

if (a[I]%2!=0) cout<a[I]<<” “;

cout<<endl;

getch ();

return 0;

}


Урок № 31

Тема: Підсумковий урок з теми “Масиви”.

Мета:

  1. Контроль отриманих знаннь та навичок
  2. Розвиток навичок раціонального використання часу
  3. Формування самостійності

Тип: Контроль отриманих знань та навичок

Обладнання:

  1. Тест “Масиви у С++”
  2. Картки “Масиви у С++”

Епіграф “Мы столько можем, сколько знаем” /Ф. Бекон/

Хід уроку

Етап уроку Діяльність учителя Діяльність учнів
  Організаційний момент Оголосити тему. мотивація Критерії оцінювання:
  • Тестування - О1;
  • Самостійна робота, кожна задача – 4 бал; - О2
  • (О1+О2)/2
Оформити аркуші
  Самостійна робота + тестування Спостереження, забезпечення самостійності виконання завдань По-черзі, тестування та самостійна робота (по варіантах)
  Домашнє завдання Розв’язати інший варіант Записати в зошит

 


Тематична атестація з теми «Масиви у С++»

Варіант 1 Варіант 2
№ 1. Увести масив цілих чисел. Перший елемент поміняти місцями з максимальним #include<iostream.h> #include<conio.h> Int MaxEl(int a[], int n) { int max=a[0]; int L=0; for (int i=1; i<n; i++) if (a[i]>=max) {max=a[i]; L=i;} return L; } //----------------------------------------- void _Input(int*, int); void _Print(int*, int); //-------------------------------------------- int main() { int n, *a; //розмір та масив cout<<“n=”; cin>>n; a=new int [n]; _Input(a, n); cout<<“mas:\n”; _Print(a, n); int L=MaxEl(a, n) int tenp=a[1]; a[1]=a[L]; a[L]=temp; _Print(a, n); delete []a; getch (); retutn 0; } //--------функції------------------------ void _Input(int*a, int n); { for(int i=0; i<n; i++) cin>>a[i]; } //--------------------------------------- void _Print(int*a, int n); { for(int i=0; i<n; i++) cout<<a[i]<<“ “; cout<<endl; } //-------------------------------------- № 1 Увести масив цілих чисел. Останній елемент поміняти місцями з мінімальним #include<iostream.h> #include<conio.h> Int MinEl(int a[], int n) { int min=a[0]; int L=0; for (int i=1; i<n; i++) if (a[i]<=min) {min=a[i]; L=i;} return L; } //----------------------------------------- void _Input(int*, int); void _Print(int*, int); //-------------------------------------------- int main() { int n, *a; //розмір та масив cout<<“n=”; cin>>n; a=new int [n]; _Input(a, n); cout<<“mas:\n”; _Print(a, n); int L=MinEl(a, n) int tenp=a[n]; a[n]=a[L]; a[L]=temp; _Print(a, n); delete []a; getch (); retutn 0; } //--------функції------------------------ void _Input(int*a, int n); { for(int i=0; i<n; i++) cin>>a[i]; } //--------------------------------------- void _Print(int*a, int n); { for(int i=0; i<n; i++) cout<<a[i]<<“ “; cout<<endl; } //--------------------------------------

 

№ 2. У підрозділі Y є 15 співробітників, а в G – 20. протягом місяця вони відпрацювали певну кількість днів, яка задана як випадкове число зі значенням від 0 до 31. Скільки осіб у кожному підрозділі працювали більше 15 днів? #include<iostream.h> #include<conio.h> #include<stdlib.h> Int F(int a[], int n) { int K=0; for (int i=0; i<n; i++) if (a[i]>=15) K++ return K; } //----------------------------------------- void _Input(int*, int); void _Print(int*, int); //-------------------------------------------- int main() {randomize(); int *y; //розмір та масив y=new int [15]; _Input(y, 15); cout<<“mas:\n”; _Print(y, 15); int L=F(y, 15) cout<<”y=”<<L<<endl; delete []y; int *g; //розмір та масив g=new int [20]; _Input(g, 20); cout<<“mas:\n”; _Print(g, 20); int L=F(g, 20) cout<<”g=”<<L<<endl; delete []g; getch (); retutn 0; } //--------функції------------------------ void _Input(int*a, int n); { for(int i=0; i<n; i++) a[i]=random(31); } //--------------------------------------- void _Print(int*a, int n); { for(int i=0; i<n; i++) cout<<a[i]<<“ “; cout<<endl; } //-------------------------------------- № 2. У підрозділі Y є 15 співробітників, а в G – 20. протягом місяця вони відпрацювали певну кількість днів, яка задана як випадкове число зі значенням від 0 до 31. Скільки осіб у кожному підрозділі працювали менше, ніж 10 днів? #include<iostream.h> #include<conio.h> #include<stdlib.h> Int F(int a[], int n) { int K=0; for (int i=0; i<n; i++) if (a[i]<=10) K++ return K; } //----------------------------------------- void _Input(int*, int); void _Print(int*, int); //-------------------------------------------- int main() {randomize(); int *y; //розмір та масив y=new int [15]; _Input(y, 15); cout<<“mas:\n”; _Print(y, 15); int L=F(y, 15) cout<<”y=”<<L<<endl; delete []y; int *g; //розмір та масив g=new int [20]; _Input(g, 20); cout<<“mas:\n”; _Print(g, 20); int L=F(g, 20) cout<<”g=”<<L<<endl; delete []g; getch (); retutn 0; } //--------функції------------------------ void _Input(int*a, int n); { for(int i=0; i<n; i++) a[i]=random(31); } //--------------------------------------- void _Print(int*a, int n); { for(int i=0; i<n; i++) cout<<a[i]<<“ “; cout<<endl;} //--------------------------
№ 3. Утворити двовимірний масив y[2][3]. Вивести його на екран у вигляді таблиці. Обчислити добуток його від’ємних елементів #include<iostream.h> #include<conio.h> #include<stdlib.h> int main() {randomize(); int y[2][3]; //розмір та масив for (int i=0; i<2; i++) { for (int j=0; j<3; j++) {y[i][j]=random(100)-50; cout<<y[i][j]<<” “;} cout<<endl; } int p=1; for (int i=0; i<2; i++) for (int j=0; j<3; j++) if (y[i][j]<0) p*=y[i][j]; cout<<”p=”<<p<<endl; getch (); retutn 0; }   № 3. Утворити двовимірний масив y[3][2]. Вивести його на екран у вигляді таблиці. Обчислити суму його додатних елементів #include<iostream.h> #include<conio.h> #include<stdlib.h> int main() {randomize(); int y[3][2]; //розмір та масив for (int i=0; i<3; i++) { for (int j=0; j<2; j++) {y[i][j]=random(100)-50; cout<<y[i][j]<<” “;} cout<<endl; } int s=0; for (int i=0; i<3; i++) for (int j=0; j<2; j++) if (y[i][j]<0) s+=y[i][j]; cout<<”s=”<<s<<endl; getch (); retutn 0;

 

ТЕСТ «МАСИВИ У С++»

  1. ОБЕРІТЬ СКЛАДОВІ ЧАСТИНИ ВИЗНАЧЕННЯ МАСИВУ:
    1. сукупність змінних одного типу
    2. змінні зберігаються в послідовно розташованих комірках оперативної пам'яті
    3. послідовність змінних, які мають однакове ім'я
    4. завдяки нумерації змінні розташовуються лише у рядок
  2. ВКАЖІТЬ, ЩО МОЖЕ БУТИ ІНДЕКСОМ ЕЛЕМЕНТУ МАСИВА
    1. Символ
    2. Ціле число
    3. Ціле додатне число
    4. Математичний вираз, результат обчислення якого є ціле додатне число
  3. ОБЕРІТЬ ВІРНІ ТВЕРДЖЕННЯ, ЩО МАЮТЬ ВІДНОШЕННЯ ДО ІМЕНІ МАСИВУ:
    1. Назва масиву – ключове слово array та будь-яка латинська літера
    2. Назва масиву є вказівником на його перший елемент
    3. Назва масиву є вказівником на його елемент з індексом [1]
    4. Ім’я масиву створюється за правилами створення ідентифікатора
  4. ОБЕРІТЬ ВІРНІ ТВЕРДЖЕННЯ, ЩО МАЮТЬ ВІДНОШЕННЯ ДО РОЗМІРУ МАСИВУ:
    1. Розміром може бути змінні цілого типу
    2. Розміром може бути змінні дійсного типу
    3. Розмір – це кількість елементів масиву
    4. Розмір – це індекс останнього елементу масиву
  5. ВКАЖІТЬ ОПИСИ МАСИВІВ, ЯКІ НЕ МОЖНА ВИКОРИСТОВУВАТИ НІ В ЯКОЇ ЧАСТИНІ ПРОГРАМИ
    1. int a[3];
    2. int a[‘f’];
    3. int a[]
    4. int a[3]={1}
  6. НЕХАЙ int а[5]={10, 11, 12, 13, 14} ЧОМУ ДОРІВНЮЄ ЗНАЧЕННЯ ЕЛЕМЕНТУ a[3]
    1. 3
    2. 12
    3. 13
    4. 14
  7. НЕХАЙ int а[5]={10, 11, 12, 13} ЧОМУ ДОРІВНЮЄ ЗНАЧЕННЯ ЕЛЕМЕНТУ a[4]
    1. 0
    2. 12
    3. 13
    4. Визначити неможливо
  8. НЕХАЙ float r[]={1.5, 3, 4.2}; ВКАЖІТЬ РОЗМІР МАСИВУ
    1. 3
    2. 4
    3. 4.2
    4. 5
  9. НЕХАЙ int а[5]; int і,j; float c; ВИБЕРІТЬ ПОМИЛКОВІ ЗВЕРНЕННЯ ДО ЕЛЕМЕНТІВ МАСИВУ

a. a[i+j]

b. a[i/j]

c. a[c]

d. a[‘I’]

  1. ОБЕРІТЬ ВІРНЕ ОФОРМЛЕННЕ ПЕРЕДАВАННЯ МАСИВУ В ФУНКЦІЮ
    1. void fun(int A[], int n);
    2. void fun(int A[void], int n);
    3. void fun(int A[n], int n);
    4. void fun(int A[100], int n);
  2. ВКАЖІТЬ, ЩО ПЕРЕДАЄТЬСЯ В ФУНКЦІЮ fun(a[2], 5);
    1. Масив, розмір якого 2 та значення його нового розміру
    2. Елементи масиву від 2 до 5 номерів
    3. 2-й елемент масиву та числове значення для змінної 5
    4. Масив, розмір якого 2 та числове значення для змінної 5
  3. ВКАЖІТЬ ПРАВИЛЬНО ОРГАНІЗОВАНИЙ ЦИКЛ ДЛЯ ОПРАЦЮВАННЯ ВСІХ ЕЛЕМЕНТІВ МАСИВУ, РОЗМІРНІСТЬ ЯКОГО n
    1. for (int i=1; i<=n; i++)
    2. for (int i=0; i<=n; i++)
    3. for (int i=1; i<n; i++)
    4. for (int i=0; i<n; i++)
  1. НАВЕДЕНИЙ ФРАГМЕНТ ПРОГРАМИ РОЗВ’ЯЗУЄ ЗАДАЧУ СТВОРЕННЯ МАСИВУ З ПЕРШИХ СТА ЦІЛИХ ЧИСЕЛ. ЯКІ КОМАНДИ ВІДПОВІДАЮТЬ КОМАНДІ, ЩО ВИДІЛЕНО?
    int n[100];
    for (int k=0; k<100; k++) n[k]=k+1;
    1. *(n+k)=++k;
    2. *(n+k)= k++;
    3. n[k]=++k;
    4. n[k]=k++;
  2. НАВЕДЕНІ ФРАГМЕНТИ ПРОГРАМИ ПОВИННІ РОЗВ’ЯЗУЄ ЗАДАЧУ ВИВЕДЕННЯ НА ЕКРАН ЕЛЕМЕНТІВ МАСИВУ int n[100]; З ПАРНИМИ ІНДЕКСАМИ. ЯКІ КОМАНДИ ВІДПОВІДАЮТЬ УМОВІ ЗАДАЧІ?
    1. for (int k=0; k<100; k++) cout<<n[2*k];
    2. for (int k=0; k<100; k+=2) cout<<n[k];
    3. for (int k=0; k<50; k++) cout<<n[2*k];
    4. for (int k=0; k<100; k++) { k++; cout<<n[k];}
  3. НАВЕДЕНИЙ ФРАГМЕНТ ПРОГРАМИ РОЗВ’ЯЗУЄ ЗАДАЧУ ОБЧИСЛЕННЯ СУМИ ЕЛЕМЕНТІВ МАСИВУ. ЯКІ КОМАНДИ ВІДПОВІДАЮТЬ КОМАНДІ, ЩО ВИДІЛЕНО?
    int n[100]; int S=0;
    for (int k=0; k<100; k++) S=S+n[k];
    1. for (int k=0; k<100; k++) S+=n[k];
    2. for (int k=0; k<100; k++, S=S+n[k]);
    3. for (int k=0; k<100; S=S+n[k], k++);
    4. for (int k=0; k<100;); S=S+n[k]; k++;
  4. ПРОАНАЛІЗУЙТЕ НАВЕДЕНИЙ ФРАГМЕНТ ПРОГРАМИ. ОБЕРІТЬ ВІРНЕ ТВЕРДЖЕННЯ, ЩО СТОСУЄТЬСЯ ДАНОГО ФРАГМЕНТУ.
    int L=0;
    for (ini k=0; k<n; k++)
    if (a[k]<0) L++;
    1. Знаходимо індекс першого від’ємного елементу
    2. Знаходимо індекс останнього від’ємного елементу
    3. Якщо від’ємного елементу немає, змінна L вкаже на перший елемент масиву
    4. Якщо від’ємного елементу немає, змінна L буде мати значення за межами індексів масиву


 



Поделиться:


Последнее изменение этой страницы: 2016-06-06; просмотров: 439; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.112.1 (0.01 с.)