Слайды и текст этой онлайн презентации
Слайд 1
Одномерные массивы
Презентация к уроку информатики
9 класс
Автор: Юдин Андрей Борисович
МКОУ Плесская СОШ
Исполнитель РОБОТ
Слайд 2
1
4
Простая переменная
А
ячейка памяти которой дается имя (А), для хранения данных (4)
Занятие 1.
Знакомство с массивами.
Слайд 3
2
5
0 1 2 3 4 5
Индексированная переменная
А
1
9
3
7
8
группа ячеек памяти которой дается общее имя (А), и каждой ячейке определяется порядковый номер
Слайд 4
3
Int А[10]
Float B[99]
Описание массивов
11 ячеек памяти, для хранения целых чисел.
100 ячеек памяти, для хранения дробных чисел.
Слайд 5
4
5
1
9
3
7
8
0 1 2 3 4 5
for(i=0;i<=5;i=i+1)
{
действия с элементами;
}
Номер первой ячейки
Номер последней ячейки
Обработка массива
Слайд 6
5
for ( i=0;i<=9;i=i+1)
{
cout << "Введи " << i <<" элемент";
cin >> a[i];
}
1. Заполнение массива с клавиатуры.
Слайд 7
2. Заполнение массива случайными числами.
m[i]=RANDOM (А)
случайное число из интервала [0; А)
m[i] =RANDOM(B-A)+A;
случайное число из интервала [A ; B)
m[i] =RANDOM(B-A+1)+A;
случайное число из интервала [A ; B]
Например:
Случайное число из интервала [-5 ; 8).
А = - 5, В = 8,
подставим в формулу
m[i] =RANDOM(B-A)+A;
m[i] =RANDOM(8-(-5))+(-5);
такую запись нужно упростить
m[i] =RANDOM(13)-5;
6
Слайд 8
7
for ( i=0;i<=9;i=i+1)
{
a[i]=random(21)-10;
cout << a[i] << "; ";
}
coutln;
2. Заполнение массива случайными числами.
Слайд 9
8
а) в столбик:
for (i=0;i<=9;i=i+1)
coutln << a[i] << "; ";
Вывод массива на экран.
2.23;
3.19;
1.44;
4.93;
5.58;
б) в строку:
for (i=0;i<=9;i=i+1)
cout << a[i] << "; ";
2.23 ; 3.19; 1.44; 4.93; 5.58;
Слайд 10
Задача для самостоятельного решения 9
Заполнить массив из 10 элементов с клавиатуры положительными и отрицательными числами, и вывести этот массив на экран в строку в обратном порядке.
int a[10];
int i;
for ( i=0;i<=9;i=i+1)
{
cout << "Введи " << i <<" элемент";
cin >> a[i];
}
coutln;
for (i=9;i>=0;i=i-1) cout << a[i] <<"; ";
Скрыть решение
Показать решение
Слайд 11
10
Заполнить массив из 10 элементов случайными целыми числами из интервала [-15; 15]. Вывести на экран положительные элементы.
int a[9];
int i;
coutln << "Исходный массив ";
for ( i=0;i<=9;i=i+1)
{
a[i]=random(31)-15;
cout << a[i] <<"; ";
}
Занятие 2.
Вывод элементов массива.
Слайд 12
11
coutln;
coutln << "Положительные элементы: ";
for ( i=0;i<=9;i=i+1)
{
if (a[i]>0) cout << a[i] <<"; ";
}
Цикл от 0 до 9
Если элемент положительный, выводим его на экран
Слайд 13
Показать решение
Задачи для самостоятельного решения 12
Заполнить массив из 10 элементов с клавиатуры положительными и отрицательными целыми числами, и вывести на экран элементы, у которых номер совпадает со значением.
Заполнить массив из 10 элементов с клавиатуры положительными и отрицательными целыми и дробными числами, и вывести на экран порядковые номера целых отрицательных элементов.
Показать решение
coutln;
coutln << " Целые отрицательные:";
for ( i=0;i<=9;i=i+1)
{
if (a[i]==trunc(a[i]) & a[i]<0)
cout << i <<"; ";
}
Скрыть решение
coutln;
coutln << " Номер = значению:";
for ( i=0;i<=9;i=i+1)
{
if (a[i]==i) cout << a[i] <<"; ";
}
Скрыть решение
Слайд 14
13
Заполнить массив из 10 элементов случайными целыми числами из интервала [-15; 15]. Увеличить четные элементы массива на 2 и повторно вывести весь массив на экран
int a[10];
int i;
coutln << "Исходный массив ";
for ( i=0;i<=9;i=i+1)
{
a[i]=random(31)-15;
cout << a[i] <<"; ";
}
Занятие 3.
Изменение элементов массива.
Слайд 15
14
coutln << "Увеличиваем четные на 2 ";
for ( i=0;i<=9;i=i+1)
{
if (a[i]%2==0) a[i]=a[i]+2;
cout << a[i] <<"; ";
}
Цикл от 0 до 9
Если элемент четный, увеличиваем его на 2
Выводим элемент, независимо изменен он или нет
Слайд 16
Показать решение
2. Заполнить массив из 10 элементов случайными числами из интервала [-15; 15]. У тех чисел которые делятся на 5 сменить знак на противоположный. Массив повторно вывести на экран.
Показать решение
15
1. Заполнить массив из 10 элементов случайными числами из интервала [-15; 15]. Вывести его на экран, а затем все положительные числа заменить на 1, а отрицательные на 0. И повторно вывести массив на экран.
coutln << "Измененный массив ";
for ( i=0;i<=9;i=i+1)
{
if (a[i]<0) a[i]=0;
else
a[i]=1;
cout << a[i] <<"; ";
}
Скрыть решение
coutln << "Измененный массив ";
for ( i=0;i<=9;i=i+1)
{
if (a[i]%10==0 | a[i]%10==5)
a[i]=a[i]*(-1);
cout << a[i] <<"; ";
}
Скрыть решение
Слайд 17
16
Заполнить массив из 10 элементов случайными целыми числами из интервала [-5; 5]. Найти количество элементов равных 0.
int a[10];
int i,s;
coutln << "Исходный массив ";
for ( i=0;i<=9;i=i+1)
{
a[i]=random(11)-5;
cout << a[i] <<"; ";
}
Занятие 4.
Количество элементов массива.
Слайд 18
17
k=0;
for (i=0;i<=9;i=i+1)
{
if (a[i]==0) k=k+1;
}
cout << "Колличество 0 = " << k;
Цикл от 0 до 9
Если элемент равен 0, то k увеличиваем на единицу
После окончания цикла выводим результат
Слайд 19
Решение
Решение
18
Задача 1. Заполнить с клавиатуры массив из 10 чисел целыми и дробными числами и вывести на экран количество целых и дробных чисел.
Задача 2. В массиве из 10 элементов заполненном целыми числами из интервала [10; 100] найти количество чисел оканчивающихся на 0.
Задача 3. В массиве из 10 элементов заполненном целыми числами из интервала [0; 200] найти количество четных двузначных чисел.
Решение
Программа1 Закрыть текст программы
{
float a[10];
int i,s,k;
// заполнение
k=0; s=0;
for ( i=0;i<=9;i=i+1)
{
if (a[i]==trunc(a[i])){
k=k+1}
else
s=s+1;
}
coutln <<"Целых чисел " << k;
coutln <<"Дробных чисел " << s;
}
Программа2 Закрыть текст программы
{
int a[10];
int i,s,k;
coutln << "Исходный массив ";
for ( i=0;i<=9;i=i+1)
{
a[i]=random(91)+10;
cout << a[i] <<"; ";
}
coutln;
k=0;
for ( i=0;i<=9;i=i+1)
if (a[i]%10==0) k=k+1;
cout <<«Заканчивающихся на 0 = " << k;
}
Программа3 Закрыть текст программы
{
int a[10];
int i,k;
coutln << "Исходный массив ";
for ( i=0;i<=9;i=i+1)
{
a[i]=random(201);
cout << a[i] <<"; ";
}
coutln;
k=0;
for ( i=0;i<=9;i=i+1)
if (a[i]%2==0 & a[i]>9 & a[i]<100) k=k+1;
cout <<"Четные двузначные = " << k;
}
Слайд 20
19
Заполнить массив из 10 элементов с клавиатуры положительными и отрицательными целыми числами. Найти сумму положительных элементов массива.
int a[10];
int i,s;
coutln << "Исходный массив ";
for ( i=0;i<=9;i=i+1)
{
cout << "Введи " << i <<" элемент";
cin >> a[i];
}
Занятие 5.
Сумма элементов массива.
Слайд 21
20
s=0;
for ( i=0;i<=9;i=i+1)
{
if (a[i]>0) s=s+a[i];
}
cout << "Сумма положительных = " << s;
Цикл от 0 до 9
Если элемент больше 0, то s увеличиваем на этот элемент
После окончания цикла выводим результат
Слайд 22
21
Задача 1. Дан массив из 15 целых чисел заполненный случайными числами из интервала [0; 20]. Определить сумму элементов имеющих четные порядковые номера.
Задача 2. Дан массив из 10 целых чисел заполненный случайными числами из интервала [0; 15]. Определить является ли сумма элементов массива четным числом.
Решение
Задача 3. Дан массив из 20 целых чисел заполненный случайными числами из интервала [0; 15]. Определить среднее арифметическое нечетных элементов массива.
Решение
Решение
Программа Закрыть текст программы
{
int a[10];
int i,s,k;
coutln << "Исходный массив ";
for ( i=0;i<=9;i=i+1)
{
a[i]=random(21);
cout << a[i] <<"; ";
}
coutln;
s=0;
for ( i=0;i<=9;i=i+1)
if (i%2==0) s=s+a[i];
cout <<"Сумма с четными номерами = " << s;
}
Программа2 Закрыть текст программы
{
int a[10];
int i,s,k;
coutln << "Исходный массив ";
for ( i=0;i<=9;i=i+1)
{
a[i]=random(16);
cout << a[i] <<"; ";
}
coutln;
s=0;
for ( i=0;i<=9;i=i+1)s=s+a[i];
coutln <<"Сумма =" << s;
if (s%2==0)cout <<"Сумма четная";
else cout <<"Сумма нечетная";
}
Программа3 Закрыть текст программы
{
int a[20];
float s,sr;
int i,k;
coutln << "Исходный массив ";
for ( i=0;i<=19;i=i+1)
{ a[i]=random(16);
cout << a[i] <<"; ";
}
coutln;s=0;k=0;
for ( i=0;i<=19;i=i+1)
if (a[i]%2!=0) { s=s+a[i];
k=k+1;
}
sr=s/k;
coutln <<"Среднее арифм. нечетных =" << sr;
}
Слайд 23
22
Заполнить массив из 10 элементов случайными числами из интервала [-30; 30] и найти наибольший элемент в этом массиве.
int a[10];
int i,max;
coutln << "Исходный массив ";
for ( i=0;i<=9;i=i+1)
{
a[i]=random(61)-30;
cout << a[i] <<"; ";
}
Занятие 6.
Наибольший(наименьший) элемент.
Слайд 24
23
max=a[0];
for (i=0;i<=9;i=i+1)
{
if (a[i]>max) max=a[i];
}
cout <<"Наибольший элемент " << max;
Без номера на котором стоит наибольший элемент
Предполагаем, что наибольший элемент стоит на 0 месте
Цикл от 0 до 9
Если i-ый элемент оказывается больше, он становится максимальным
Когда цикл закончился, выводим результат на экран
Слайд 25
24
Без номера на котором стоит наибольший элемент
Слайд 26
25
max=a[0];
n=0;
for ( i=0;i<=9;i=i+1)
{
if (a[i]>max) {
max=a[i];
n=i;
}
}
coutln <<"Наибольший элемент " << max;
coutln <<"Его номер " << n;
C номером на котором стоит наибольший элемент
Предполагаем, что наибольший элемент стоит на 0 месте
Цикл от 0 до 9
Если i-ый элемент оказывается больше, он становится максимальным и запоминается его номер
Когда цикл закончился, выводим результат на экран
Слайд 27
26
max=0;
for ( i=0;i<=9;i=i+1)
{
if (a[i]>a[max]) max=i;
}
coutln<<"Наибольший элемент"<
Не запоминаем сам элемент, только номер на котором он стоит.
Предполагаем, что наибольший элемент стоит на 0 месте
Цикл от 0 до 9
Если i-ый элемент оказывается больше, стоящего на месте max, то запоминается место большего
Когда цикл закончился, выводим результат на экран
Слайд 28
Показать решение
27
Заполнить массив из 10 элементов случайными числами из интервала [-15; 15]. И найти наибольший отрицательный элемент.
max=-30;
for ( i=0;i<=9;i=i+1)
{
if (a[i]>max & a[i]<0) {
max=a[i];
n=i;
}
}
coutln <<"Наибольший отрицательный" <
Слайд 29
28
Список литературы и интернет источников
Система «Исполнители 2.5» и методические рекомендации к ней. – Автор: Поляков К.Ю. http://kpolyakov.spb.ru/school/robots/methodic.htm
В.В. Подбельский, С.С.Фомин. Программирование на языке Си. М .: ФиС, 1999, 600 с.
Х.М.Дейтел., П.Дж.Дейтел. Как программировать на Си++. М .: ЗАО БИНОМ, 1999, 1000 с. (первые 600 страниц - изложение обычного Си, наиболее подходят для начинающих).