Презентация "Исполнитель Робот. Массивы" 9 класс


Подписи к слайдам:
Слайд 1

Одномерные массивы

Презентация к уроку информатики

9 класс

Автор: Юдин Андрей Борисович

МКОУ Плесская СОШ

Исполнитель РОБОТ

1

4

Простая переменная

А

  • ячейка памяти которой дается имя (А), для хранения данных (4)

Занятие 1.

Знакомство с массивами.

2

5

0 1 2 3 4 5

Индексированная переменная

А

1

9

3

7

8

  • группа ячеек памяти которой дается общее имя (А), и каждой ячейке определяется порядковый номер

3

Int А[10]

Float B[99]

Описание массивов

  • 11 ячеек памяти, для хранения целых чисел.
  • 100 ячеек памяти, для хранения дробных чисел.

4

5

1

9

3

7

8

0 1 2 3 4 5

for(i=0;i<=5;i=i+1)

{

действия с элементами;

}

Номер первой ячейки

Номер последней ячейки

Обработка массива

5

for ( i=0;i<=9;i=i+1)

{

cout << "Введи " << i <<" элемент";

cin >> a[i];

}

i , 0, 9

Ввод a i

1. Заполнение массива с клавиатуры.

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

7

for ( i=0;i<=9;i=i+1)

{

a[i]=random(21)-10;

cout << a[i] << "; ";

}

coutln;

i , 0, 9

Вывод a i

a i = случайное [-10 ; 10]

2. Заполнение массива случайными числами.

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;

i , 0, 9

Вывод a i

Задача для самостоятельного решения 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] <<"; ";

Скрыть решение

Показать решение

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.

Вывод элементов массива.

11

coutln;

coutln << "Положительные элементы: ";

for ( i=0;i<=9;i=i+1)

{

if (a[i]>0) cout << a[i] <<"; ";

}

Цикл от 0 до 9

Если элемент положительный, выводим его на экран

i , 0, 9

Вывод a i

a i > 0

нет

да

Показать решение

Задачи для самостоятельного решения 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] <<"; ";

}

Скрыть решение

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.

Изменение элементов массива.

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

Выводим элемент, независимо изменен он или нет

i , 0, 9

Вывод a i

ai = ai +2

ai %2==0

нет

да

Показать решение

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] <<"; ";

}

Скрыть решение

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.

Количество элементов массива.

17

k=0;

for (i=0;i<=9;i=i+1)

{

if (a[i]==0) k=k+1;

}

cout << "Колличество 0 = " << k;

i , 0, 9

Вывод k

k := k + 1

a[i]=0

нет

да

k := 0

Цикл от 0 до 9

Если элемент равен 0, то k увеличиваем на единицу

После окончания цикла выводим результат

Решение

Решение

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;

}

19

Заполнить массив из 10 элементов с клавиатуры положительными и отрицательными целыми числами. Найти сумму положительных элементов массива.

int a[10];

int i,s;

coutln << "Исходный массив ";

for ( i=0;i<=9;i=i+1)

{

cout << "Введи " << i <<" элемент";

cin >> a[i];

}

Занятие 5.

Сумма элементов массива.

20

s=0;

for ( i=0;i<=9;i=i+1)

{

if (a[i]>0) s=s+a[i];

}

cout << "Сумма положительных = " << s;

i , 0, 9

Вывод s

s := s + a[i]

a[i]>0

нет

да

s := 0

Цикл от 0 до 9

Если элемент больше 0, то s увеличиваем на этот элемент

После окончания цикла выводим результат

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;

}

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.

Наибольший(наименьший) элемент.

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-ый элемент оказывается больше, он становится максимальным

Когда цикл закончился, выводим результат на экран

24

i , 0, 9

Вывод

max

max=a[i]

a[i]>max

нет

да

max := a[0]

Без номера на котором стоит наибольший элемент

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-ый элемент оказывается больше, он становится максимальным и запоминается его номер

Когда цикл закончился, выводим результат на экран

26

max=0;

for ( i=0;i<=9;i=i+1)

{

if (a[i]>a[max]) max=i;

}

coutln<<"Наибольший элемент"<<a[max];

coutln <<"Его номер " << max;

Не запоминаем сам элемент, только номер на котором он стоит.

Предполагаем, что наибольший элемент стоит на 0 месте

Цикл от 0 до 9

Если i-ый элемент оказывается больше, стоящего на месте max, то запоминается место большего

Когда цикл закончился, выводим результат на экран

Показать решение

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 <<"Наибольший отрицательный" <<max;

coutln <<"Его номер " << n;

Скрыть решение

28

Список литературы и интернет источников

  • Система «Исполнители 2.5» и методические рекомендации к ней. – Автор: Поляков К.Ю. http://kpolyakov.spb.ru/school/robots/methodic.htm
  • В.В. Подбельский, С.С.Фомин. Программирование на языке Си. М .: ФиС, 1999, 600 с.
  • Х.М.Дейтел., П.Дж.Дейтел. Как программировать на Си++. М .: ЗАО БИНОМ, 1999, 1000 с. (первые 600 страниц - изложение обычного Си, наиболее подходят для начинающих).