9 кл проф.(программирование)

Тема 1Повторение. Команда ветвления. Циклы.





Тема 2 Одномерные массивы  презентация
Тема 3 Нахождение минимального и максимального элементов одномерного массива  презентация

Практическая работа "Нахождение минимального и максимального
 элементов одномерного массива"
1.  Дан массив А(n). Найти среднее арифметическое положительных элементов массива и кратных 7. Составить блок – схему.
2.  Дан массив А(n). Найти  min(A[5],A[14], …  ,a[n]). Составить программу. 
3.  Дан массив А(n). Найти максимальный элемент массива среди элементов кратных 13 и больших 100. Составить блок – схему и программу.
4.  Дан массив А(n). Найти  min(A[5],A[14], …  ,a[n]) и номер минимального элемента. Составить программу. 
5.  Дан массив А(n). Найти номер максимального элемента массива среди элементов кратных 13 и больших 100. Составить блок – схему и программу.

Тема 4 Сортировка. Упорядочивание линейной таблицы



Обычно сортировку подразделяют на два класса: внутреннюю и внешнюю. При внутренней сортировке все элементы хранятся в оперативной памяти, таким образом, как правило, это сортировка массивов. При внешней сортировке — элементы хранятся на внешнем запоминающем устройстве, это сортировка файлов.
Одно из Основных требований к методам сортировки — экономное использование памяти. Это означает, что переупорядочение нужно выполнять «на том же месте», то есть методы пересылки элементов из одного массива в другой не представляют интереса.
Удобной мерой эффективности является подсчет числа С — сравнений элементов и М — присваиваний элементов. Достаточно хороший алгоритм затрачивает на сортировку N элементов время порядка N×log2(N). Простейшие алгоритмы сортировки, которые мы рассмотрим в этом разделе, обладают характеристикой порядка N2. Если N достаточно мало, то простые алгоритмы выгодно использовать в силу простоты их реализации.


Тема 5  Удаление одного элемента в массиве


Алгоритм удаление элементов с номером k:
1.Сдвинуть все элементы начиная с k-го на один элемент влево
for i:=k to n-1 do

a[i]:=a[i+1];
2. Последнему элементу присвоить значение нуль.   a[n]:=0
Решение задач
1. Дан массив целых чисел A[1..N]. Удалить элементы с номером k.
var A:array[1..100] of integer;
n,i,j,k:byte; x:integer;
begin
read(n);
for i:=1 to n do begin
write('A[',i,']=');read(a[i]);end;
write('k=');read(k);
for i:=k to n-1 do
a[i]:=a[i+1];
a[n]:=0;
 for i:=1 to n do write(a[i],' ');
end.
2.  Дан массив целых чисел A[1..N].  Удалить элемент 7, при условии, что 7 встречается в массиве один раз.
3.  Дан массив целых чисел A[1..N].  Удалить из массива максимальный элемент, если все элементы разные.
Домашнее задание:
1. Дан массив целых чисел A[1..N]. Удалить элементы с номером 3.
2.  Дан массив целых чисел A[1..N].  Удалить элемент 14, при условии, что 14 встречается в массиве один раз.
3.  Дан массив целых чисел A[1..N].  Удалить из массива минимальный элемент, если все элементы разные.

Тема 6  Удаление нескольких элементов в массиве

1.  Дан массив целых чисел A[1..N].  Удалить все элементы  меньшие 15.
uses crt;
var      a: array[1..100] of integer;
    i, j, n, k: integer;
begin
read(n);
for i:=1 to n do begin
write('A[',i,']=');
read(a[i]); end;
        i := 1;
        k:=0;
    while i <= n-k do
        if a[i] < 15 then begin
            for j := i+1 to n-k do
                a[j-1] := a[j];
                a[n-k]:=0; inc(k);end
        else
            i := i + 1;
    if k=0 then writeln('no') else
begin
writeln ('      ');
    for i:= 1 to n-k do
        write(a[i]:4); end;

end.

Практическая работа :
"Удаление элементов  (одного,  нескольких) из одномерного массива"



Тема 7  Вставка одного  элемента в массив

Алгоритм вставки элемента х после элемента с заданным номером к:

1.Первые к элементов массива остаются без  изменений.
2.Все элементы, начиная с (к+1) –го необходимо сдвинуть вправо.

3.На место к+1 –го элемента записываем значение х. Т.е. после к-го элемента массива.
Вставка элемента
ПОСЛЕ элемента с данным номером к:
uses crt;
var
a: array[1..100] of integer; i, j, n,x,k: integer;
begin
read(n); for i:=1 to n do begin
write('A[',i,']=');
read(a[i]); end;
read(x); read(k);
for i:=n downto k+1 do  a[i+1] := a[i];
a[k+1]:=x;
writeln ('      ');
for i:= 1 to n+1 do write(a[i],' ');
end.
Вставка элемента
ПЕРЕД элементом с данным номером к:
uses crt;
var
a: array[1..100] of integer; i, j, n,x,k: integer;
begin
read(n); for i:=1 to n do begin
write('A[',i,']=');
read(a[i]); end;
read(x); read(k);
for i:=n downto k do  a[i+1] := a[i];
a[k]:=x;
writeln ('      ');
for i:= 1 to n+1 do write(a[i],' ');
end.


Задача 1. Вставить после последнего четного элемента число 455.
...
if a[i] mod 2=0 then k:=i; end;
 for i:=n downto k+1 do  a[i+1] := a[i];
a[k+1]:=4555;

Задача 2 Вставить перед последним элементом, меньшим 40 число 11.


...
Домашнее задание:
1. Вставить после последнего элемента кратного 7 число 10.

2. Вставить после и перед элементом под номером к число 999.

Тема 8  Вставка нескольких элементов в массив

1.     Вставить ПЕРЕД всеми отрицательными элементами число 333.

i := 1;
k:=0;
while i <= n+k do
if a[i]<0 then begin
for j := n+k  downto  i do
a[j+1] := a[j];
a[i]:=333;
inc(k);
i:=i+2; end    else
i := i + 1;
2.  Вставить ПОСЛЕ  всех элементов больших 30 и кратных 5 число 22.

Практическая работа
1. Дан массив чисел из n элементов. Найти  min(A[3],A[8],…A[n]). Составить программу.
2. Дан массив А(n). Отсортировать массив по возрастанию используя метод выбора (метод обмена). Составить программу
3. Дан массив А(n). Удалить все элементы, которые равны 15. Составить программу.
4. Дан одномерный массив А. Вставить перед элементами, большими 17 минимальный элемент.


Литерные величины в языке программирования Pascal
презентация


Строка -  это массив символов,  т.е.  элементов типа char.  В Паскале строке соответствует тип данных String
var Имя : string [Длина];


Литерные величины в языке программирования Pascal.  Решениезадач




Практическая работа
Ответить на вопросы письменно в тетради:
1.     Какая величина называется литерной?
2.     Какая величина называется символьной?
3.     Как описывается переменная  символьного типа?
4.     Какая величина называется строковой?
5.     Какова максимальная длина строковой величины?
6.     a:=’Маша ела кашу’
Чему равны:  а[1], a[3], a[5]?
7.     Как описывается переменная  строкового типа?
8.     Какая функция определяет длину строковой величины?
9.     a:=lengt(‘школа’);   Чему равно а?    
10.                       Какая функция удаляет из строковой величины подстроку?
11.                       Каков результат выполнения программы
var a: string;
begin
       a:=‘значение’;
       delete(a,4,2);
       writeln(a);
end.      
12.Какая функция вырезает из строковой величины подстроку?
13.Каков результат выполнения программы
var a: string;
begin
       a:=‘ информатика’;
       writeln(copy(a,3,6));
end.      
14. Какая процедура вставляет подстроку в строку?
15. Каков результат выполнения программы
var a: string;
begin
       a:=‘матика’;
       insert(‘мате’,a,1);
       writeln(a);
end.  


Набрать программы и показать учителю:

1. Дана литерная величина А. Подсчитать количество слов начинающихся слогом «под». Составить блок-схему и программу.
2. Дана литерная величина А. Заменить слово «машина» на «самолет». Составить блок – схему и программу. 
3.  Дана литерная величина А. Вставить после слова «машина» слово «времени».  Составить блок – схему  и программу.


Литерные величины. Слова.

Признак начала слова:
if (copy(a,i,1)='  ') and (copy(a,i+1,1)<>'  ') then begin…
Признак конца слова:
while (i<=length(a)) and (a[i]<>'  ') do begin

Задача1. Удалить все слова у которых 1-ая  буква = последней
                                       x   х+1 х+2 х+3…..             i-3  i-2  i-1
И|Н|Ф|О|Р|М|А|Т|И|К|А
х – номер начала слова;
к – количество букв в слове.


Двумерные массивы

Решение задач
  1. Сумма всех элементов квадратной матрицы:
sum:=0; 
for i:=1 to n do 
for j:=1 to n do sum:=sum+x[i,j]; 
writeln('Сумма=',sum); 


 2. Подсчет сумм элементов по столбцам:
for j:=1 to n do begin 
sum:=0; 
for i:=1 to n do sum:=sum+x[i,j]; 
writeln('
Сумма ',j,'-го столбца ',sum); 
end;

Работа со строками и столбцами

 Двумерные массивы. Выбранные строки и столбцы



Составить блок-схему и программу:
  1. Найти произведение положительных элементов каждой его четной строки
  2. В каждой его нечетной строке найти сумму отрицательных элементов
  3. В каждой нечетной строке найти сумму элементов, где сумма индексов которых больше 4
  4. Найти минимальный элемент в каждой строке, который кратный 3
  5. Найти максимальный  элемент в каждом третьем столбце
  6. Найти максимальный элемент в каждом столбце кратном 2
  7. В каждой строке  кратной трем, найти среднее арифметическое чисел. 
  8. Выяснить в каком из четных столбцов наибольшее количество положительных элементов
  9. Найти среднее арифметическое минимальных элементов каждой нечетной строки.
Тема урока: Главная и побочная диагонали

двумерного массива.
Главной диагональю матрицы называется диагональ, проведённая из левого верхнего угла матрицы в правый нижний.
Побочной диагональю матрицы называется диагональ, проведённая из левого нижнего угла матрицы в правый верхний.


Двумерные массивы (диагонали)
1.   Дан массив А(М,М). Найти количество четных элементов главной диагонали.
2. Дан массив B(N,N). Найти произведение отрицательных элементов с нечетной суммой индексов под главной диагональю.
3.  Дан массив С(М,М). Найти сумму элементов, кратных 3 над побочной диагональю с четной суммой индексов.
4. Дан массив A(N,N). Найти среднее арифметическое элементов меньших 15 под побочной диагональю.
5.  Дан массив C(N,N). Найти произведение элементов кратных 5 и одновременно меньших 50 над главной диагональю.
6. Дан массив D(K,K). Найти среднее арифметическое нечетных элементов на побочной диагонали.
7. Дан массив А(М,М). Найти минимальный элемент и его индексы среди нечетных элементов над главной диагональю.
8.  Дан массив C(N,N). Найти минимальный элемент среди отрицательных элементов побочной диагонали.
9.  Дан массив В(К,К). Найти максимальный элемент и его индексы среди элементов с нечетной суммой индексов под главной диагональю.
10. Дан массив D(M,M). Найти максимальный элемент среди элементов меньших 8 над побочной диагональю.
11. Дан массив В(К,К). Найти минимальный элемент и его индексы среди элементов больших 12 и меньших 20 главной диагонали.

12. Дан массив С(М,М). Найти максимальный элемент и его индексы с четной суммой индексов под побочной диагональю.


Самостоятельная работа

1. Что определяет для массива X[1..n, 1..m] следующий алгоритм

              S:= 0;
              For i:= 1 to n do 
              For  j:= 1 to m do
                 If  X[i, j ] <0  then S:=S+X[i, j ];           
2.    Что определяет для массива X[1..n, 1..m] следующий алгоритм
               For i:= 1 to n do

               S:=0;

               For  j:= 1 to m do
                      If  X[ i,j] mod 2 = 0 then S:=S+X[i, j];       
3.    Что определяет для массива X[1..m, 1..m] следующий алгоритм 
              S:=0; K:=0;

               For i:= 1 to m do 

               For  j:= 1 to m do
                      If  X[i,j] mod 2 < > 0 then begin


                     inc(k); S:=S+X[j, i] = A; end; SA:=S/k;

4.    Что определяет для массивов X[1..n, 1..m] и Y[1..n, 1..m]  следующий алгоритм
               For  i:=1 to n do
               For j:=1 to m do
               X[i, j]: = X[i, j] + Y[i, j];
5.    Что определяет для массива X[1..n, 1..m]  следующий алгоритм 
              V:= 0;
               For  i:=1 to n do
               For j:=1 to m do
                    If  X[i, j] = T  then V:= V+1;

Написать программу

Дан массив В(nхm). Найти количество элементов, которые кратны 7 и больше  21 в каждом столбце.
Дан массив F(nхn). Найти сумму элементов меньших 8 над побочной диагональю.



Комментариев нет:

Отправить комментарий