Алгоритмизация и программирование. Практическая работа в Pascal Задача 1.

Презентация:



Advertisements
Похожие презентации
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся выпускного класса за итоговый тест.
Advertisements

A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5] Двумерный массив можно представить.
Тема: «Понятие квадратная матрица» :17:47.
Язык программирования Паскаль 9 часть. Массивы.
Массивы Вариант 1 Program upr1; Var s,a:real; I: integer; Begin S:=0; For I:=1 to 10 do Begin Writeln (введите очередное число'); Readln(a); S: =s+a; End;
Шутилина Л.А., A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5]
Язык программирования Pascal Массивы А. Жидков. Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс).
Тема: «Понятие массива. Назначение. Тип. Размер. Размерность. Одномерный массив» :56:36.
Задания части А Задания части С. 1. Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы. Сколько элементов.
© М.Е.Макарова
1 Автор разработки: Розанова Татьяна Аркадьевна, учитель информатики МОУ СОШ 2 города Кинешмы Ивановской области 2011 – 2012 учебный год Автор разработки:
Задания части А Задания части С. 1. Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы. Сколько элементов.
1 Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений,
Работа с одномерными массивами Урок информатики 9 кл.
Массивы. Понятие массива. Заполнение массива. Печать массива. План программы.
Это обозначаемая одним именем последовательность однотипных элементов. Массив -
Одномерные массивы Решение задач. Табличный способ организации данных Одномерные и двумерные массивы.
© М.Е.Макарова
Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений, объединенных.
Тема: « Вставка- удаление элементов массива » :18:06.
Транксрипт:

Алгоритмизация и программирование

Практическая работа в Pascal Задача 1

Практическая работа в Pascal Задача 2. Написать программу вычисления суммы N чисел, вводимых с клавиатуры.

Одномерные массивы Одномерный массив – пронумерованная конечная последовательность однотипных величин a[i] ( a[1], a[2], …, a[i], …, a[n]) Алг ввод массива Вещ таб a[1:10] Цел i Нач для i от 1 до 10 повторять нц вывод (a[,i,]=) ввод (a[i]) кц кон да нет i:=1, 10 Ввод a[i] Program massiv; Const n=10; Var a:array[1..n] of real; i:integer; Begin For i:=1 to n do begin write(a[,i,]=); readln(a[i]) end End. Ввод элементов одномерного массива с клавиатуры:

Вычисление суммы элементов одномерного массива Program sum; Uses crt; Const n=7; Vara:array[1..n] of real; i:integer; s: real; Begin clrscr; For i:=1 to n do begin write(a[,i,]=); readln(a[i]) end; s:=0; For i:=1 to n do s:=s+a[i]; writeln; write(sum=,s); readln end.

Вычисление суммы элементов одномерного массива (вариант 2) Program sum; Uses crt; Const n=7; Vara:array[1..n] of real; i:integer; s: real; Begin clrscr; s:=0; For i:=1 to n do begin write(a[,i,]=); readln(a[i]); s:=s+a[i]; end; writeln; write(sum=,s); readln end.

Нахождение наибольшего элемента одномерного массива Program maximum; Uses crt; Const n=7; Vara:array[1..n] of real; i:integer; max: real; Begin clrscr; For i:=1 to n do begin write(a[,i,]=); readln(a[i]) end; max:=a[1]; For i:=2 to n do if max < a[i] then max := a[i]; write(max=,max); readln end.

Нахождение наибольшего элемента одномерного массива и его порядкового номера Program maximum; Uses crt; Const n=7; Vara:array[1..n] of real; k,i: integer; max: real; Begin clrscr; For i:=1 to n do begin write(a[,i,]=); readln(a[i]) end; max:=a[1]; k:=1; For i:=2 to n do if max < a[i] then begin max:=a[i]; k:=i end; writeln(max=,max); writeln(k=,k); readln end.

Поиск элемента в массиве Program poisk; Uses crt; Const n=10; Vara:array[1..n] of real; x:real; m,i:integer; Begin clrscr; For i:=1 to n do begin write(a[,i,]=); readln(a[i]) end; write(X=); readln(x); m:=0; For i:=1 to n do if x = a[i] then m := i; if m = 0 then writeln(No) else writeln(m) readln end. Задача 1. В массиве, сформированном из вещественных чисел, вводимых с клавиатуры, найти некоторое число (его порядковый номер). Если чисел несколько, то вывести порядковый номер последнего найденного числа.

Поиск элемента в массиве Program poisk; Uses crt; Const n=10; Vara:array[1..n] of integer; x,m,i:integer; Begin clrscr; randomize; For i:=1 to n do begin a[i] := random(10); write(a[i]:3) end; writeln; write(X=); readln(x); m:=0; For i:=1 to n do if x = a[i] then m := m+1; if m = 0 then writeln(No) else writeln(m=,m); readln end. Задача 2. Массив сформирован случайным образом из целых чисел в диапазоне от 0 до 9. Определить, входит ли число X в массив и какое количество раз.

Домашнее задание Задачник-практикум § стр Задача 1. Найти среднее значение элементов одномерного массива. Задача 2. Найти среднее значение минимального и максимального элементов одномерного массива. Задача 3. Определить, входит ли число X в заданный массив. Если да, то вывести на экран его порядковые номера. КИТ 19 ноября (55 руб) Дополнительно: "В мир информатики""В мир информатики" 200 Дополнительные задачи

Одномерные массивы (занятие 2)

Поиск элемента в массиве Program poisk; Uses crt; Const n=10; Vara:array[1..n] of integer; x,m,i:integer; Begin clrscr; randomize; For i:=1 to n do begin a[i] := random(10); write(a[i]:3) end; writeln; write(X=); readln(x); m:=0; For i:=1 to n do if x = a[i] then m := m+1; if m = 0 then writeln(No) else writeln(m=,m); readln end. Задача 4. Массив сформирован случайным образом из целых чисел в диапазоне от 0 до 9. Определить, входит ли число X в массив и какое количество раз.

Решение задач Задача 5. Дан массив, состоящий из 10-ти чисел в диапазоне от -10 до +10 (элементы массива формируются случайным образом). Вывести сформированный массив на экран и затем заменить все отрицательные числа 0, а положительные 1.

Задача 6. Определить, входит ли число X в заданный массив. Если да, то вывести на экран его порядковые номера. Решение задач

Сортировка массива A[1]A[2]A[3]A[i]A[n-1]A[n] 1 цикл A[1] сравнивается с A[2], A[3] … A[i], … A[n] 2 цикл A[2] сравнивается с A[3], A[4] … A[i], … A[n] …………………………………………………………………………… i цикл A[i] сравнивается с A[i+1], A[i+2] … A[n] jJ+1 For i:=1 to n-1 do For j:=i+1 to n do if A[i] > A[j] then begin C := A[i]; A[i] := A[j]; A[j] := C end; ……

Сортировка массива Program sort; Uses crt; Const n=10 Vara:array[1..n] of integer; c,i:integer; Begin clrscr; randomize; For i:=1 to n do begin a[i] := random(10); write(a[i]:3) end; writeln; For i:=1 to n-1 do For j:=i+1 to n do if a[i] > a[j] then begin c := a[i]; a[i] := a[j]; a[j] := c end; For i:=1 to n do write(a[i]:3); readln end. Задача. Массив сформирован случайным образом из целых чисел в диапазоне от 0 до 9. Отсортировать его элементы в порядке возрастания значений.

Задания из ЕГЭ Задача 1. Дан одномерный массив X[1,-3,-1,0,4], где n=5 Чему будет равна переменная S после выполнения следующего алгоритма: S:=0; for k:=1 to n do if x[k] < 0 then s := s + x[k]; 1

Задания из ЕГЭ Задача 2. Дана строка A[1..6], состоящая из чисел: 1, -2, -3, 2, -4, 0 Какая строка C[1..6] получится в результате выполнения алгоритма: in := 1; infin := 6; for i:=1 to 6 do if A[i] > 0 then begin C[in] := A[i]; in := in + 1 end else begin C[infin] := A[i]; infin := infin - 1 end; 2

Задания из ЕГЭ Задача 3. Фрагмент программы обрабатывает массивы А[1..10] и В[1..10] k:= 10; For i:=1 to 10 do begin A[i] := k; B[k] := A[i] - i; k := k-1 end; Записать элементы массива В

Задания из ЕГЭ Задача 4. Массив В[1..10] формируется по следующему алгоритму: For i:=1 to 10 do A[i] := 10 - i; For i:=1 to 10 do B[i] := A[5] - A[i]; Сколько элементов массива будут иметь отрицательные значения? 4

Задания из ЕГЭ (самостоятельно) Задача 5. Массив A[1..10] формируется по следующему алгоритму: For i:=1 to 10 do begin A[i] := -i - i; B[11-i] := A[i] end; For i:=1 to 10 do A[i] := B[i] + 10; Чему равен элемент массива A[8]? 5

Домашнее задание Задачник-практикум § стр Задачи 1, 2, 4 стр. 262 Решение задач из ЕГЭ Дополнительно: "В мир информатики""В мир информатики" 200 КИТ 19 ноября (55 руб)

Домашнее задание Задача 2. В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов Задача 4. Дана последовательность действительных чисел a 1, a 2, …, a n. Выяснить, будет ли она возрастающей. Задача 1. Дан массив натуральных чисел. Найти сумму элементов, кратных данному k (k вводится с клавиатуры)

Домашнее задание Задача 1. Одномерный массив, содержащий 10 элементов, заполняется по следующему закону: A[1]=1; A[2] =X; A[i] = 2*X*A[i-2] – A[i-1] где I = 3, 4, …,10 Чему будет равно значение A[5] при Х = варианта? Задача 2. В программе используется одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент программы, в которой значения элементов сначала задаются, а затем меняются. for i:=0 to 10 do A[i]:=i; for i:=0 to 10 do begin A[10-i]:=A[i]; A[i]:=A[10-i] end; Чему будут равны элементы этого массива после выполнения фрагмента программы?

Одномерные массивы (занятие 3)

Решение задач Задача 2. В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов Задача 4. Дана последовательность действительных чисел a 1, a 2, …, a n. Выяснить, будет ли она возрастающей. Задача 1. Дан массив натуральных чисел. Найти сумму элементов, кратных данному k (k вводится с клавиатуры)

Дополнительное задание Задача 4. Вычислить среднегодовую температуру по известным среднемесячным значениям. Для каждого месяца определить и вывести на экран отклонение его средней температуры от среднегодовой величины.

Дополнительное задание Задача 5. Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся выпускного класса за итоговый тест по информатике. Для получения положительной оценки за тест требовалось набрать не менее 20 баллов. Напишите программу, которая позволяет найти и вывести минимальный балл среди учащихся, получивших за тест положительную оценку. Известно, что в классе хотя бы один учащийся получил за тест положительную оценку. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Домашнее задание Задачник-практикум § стр Тематические тренировочные задания ЕГЭ-2014 Алгоритмизация и программирование (Решение задач) Демонстрационные версии ЕГЭ ( ) Индивидуальные задания Контрольная работа Индивидуальная практическая работа

Двумерные массивы (таблицы) Таблица B, состоящая из n строк и m столбцов, называется двумерным массивом размерностью [n,m]: b[1,1]b[1,2]…b[1,j]…b[1,m] b[2,1]b[2,2] … b[2,j] … b[2,m] ……………… b[i,1]b[i,2] … b[i,j] … b[i,m] ……………… b[n,1]b[n,2] … b[n,j] … b[n,m]

Program mas2; Uses crt; Const n=3; m=4; Varb:array[1..n,1..m] of integer; i,j:integer; Begin clrscr; randomize; For i:=1 to n do begin For j:=1 to m do begin b[i,j] := random(10); write(b[i,j]:3) end; writeln end; end. Формирование элементов двумерного массива, размером 3Х4 из целых чисел в диапазоне от 0 до 9 : Двумерные массивы (таблицы) нач i:=1,n j:=1,m вывод b[i,j] b[i,j] := random(10);

Двумерные массивы (таблицы) Задача 1. Найти наибольшие элементы каждой строки таблицы. b[1,1]b[1,2]…b[1,j] b[2,1]b[2,2] … b[2,j] ………… b[i,1]b[i,2] … b[i,j] Пусть дана таблица: Массив результатов: a[1] a[2] … a[i]

Program max2; Uses crt; Const n=3; m=4; Varb:array[1..n,1..m] of integer; a:array[1..n] of integer; i,j:integer; Begin clrscr; randomize; For i:=1 to n do begin For j:=1 to m do begin b[i,j] := random(10); write(b[i,j]:3) end; writeln end; For i:=1 to n do begin a[i]:=b[i,1]; For j:=2 to m do if a[i]

Двумерные массивы (блок-схема) Задача 1. Найти наибольшие элементы каждой строки таблицы нач i:=1,n j:=1,m вывод b[i,j] b[i,j] := random(10); i:=1,n writeln(a[i]) i:=1,n j:=2,m кон a[i]:=b[i,1]; a[i]

Двумерные массивы (таблицы) Задача 2. Найти сумму элементов столбцов таблицы. b[1,1]b[1,2]…b[1,j] b[2,1]b[2,2] … b[2,j] ………… b[i,1]b[i,2] … b[i,j] Пусть дана таблица: Массив результатов: s[1]s[2]…s[j]

Program max2; Uses crt; Const n=3; m=4; Varb:array[1..n,1..m] of real; s:array[1..m] of real; i,j:integer; Begin clrscr; For i:=1 to n do begin For j:=1 to m do begin write( b[,i,,,y,]=; read(b[i,j]) end; writeln end; For j:=1 to m do begin s[j]:=0; For i:=1 to n do s[j]:=s[j]+b[i,j] end; For j:=1 to m do write(s[j]:12:1) end. Задача 2. Найти сумму элементов столбцов таблицы (массив вещественных чисел вводится с клавиатуры)

Домашнее задание Задача 1. Найти минимальные значения столбцов таблицы. Задача 2. Найти средние арифметические значения элементов строк двумерного массива. Задача 3. (Дополнительно) Вычислить сумму элементов главной диагонали квадратной матрицы. Задачник-практикум § стр

Дан фрагмент алгоритма, использующий двумерный массив M[1..n,1..n], два одномерных массива А[1..n], В[1..n] и переменную X: X:= 0; For i:=1 to n do begin A[i] := M[i,1]; B[i] := 1; For j:=1 to m do begin if M[i,j] < A[i] then begin A[i] := M[i,j]; B[i] := j end; X := X + M[i,j] end; end; Определить значения: 1. Массива А 2. Массива В 3. Переменной Х 1 Двумерные массивы (решение задач)

Дан фрагмент программы, обрабатывающей двумерный массив А размера nxn: For i:=1 to n-1 do For j:=i+1 to n do if A[i,1] < A[j,1] then begin k:= A[i,1]; A[i,1] := A[j,1]; A[j,1] := k end; Какую задачу решает данная программа? Решение задач

3 а 3 б Решение задач Как изменится значение В(2,4), если внести изменения в алгоритм: For n:=1 to 5 do for k:= 1 to n do B[n,k] := n+k; Дан двумерный массив 5 x 5 из элементов, значения которых равны 0.

Сколько элементов массива будут иметь значения равные 2? 3. Сколько элементов массива будут иметь значения равные 0? 4 Решение задач

Сколько элементов массива будут иметь отрицательные значения? 3. Сколько элементов массива будут иметь значения равные 1? 5 Решение задач

S:=0 i:=2, N j:=i-1, N-1 S:=S + A[i,j] Вывод S1 Дан массив: О Определить значение переменной S после выполнения данного алгоритма. 6 Решение задач

Самостоятельно: Дан двумерный массив Т[(0,1,2),(1,2,0),(2,0,1)]. Вычислить значение переменной Y после выполнения фрагмента программы: S:=0; Y:=0; X:=K; Wile X>0 do begin S:=T[S, X mod 3]; Y:=Y * 3 + S; X:=X div 3 end; Writeln(Y) 1 вариант K=11 2 вариант K=13

Домашнее задание Задача 1. Найти сумму элементов квадратной матрицы, находящихся выше главной диагонали. Задача 2. Найти сумму элементов каждой строки квадратной матрицы, находящихся выше главной диагонали. Задача 3. (Дополнительно) Составить программу, которая заполняет квадратную матрицу порядка N натуральными числами 1, 2, 3, ….N², записывая их по спирали (Задача 89 стр. 274 Задачника 1) Задачник-практикум § стр

Практическая работа Задача 1. Найти минимальные значения столбцов таблицы. Задача 2. Найти средние арифметические значения элементов строк двумерного массива. Дополнительно: Определить, является ли данная квадратная матрица (элементы квадратной матрицы 3Х3 вводятся с клавиатуры) магическим квадратом.

Двумерные массивы (таблицы) Задача 3. Переставить местами две строки в таблице. b[1,1]b[1,2]b[1,3] b[1,4] b[2,1]b[2,2] b[2,3] b[2,4] b[3,1]b[3,2] b[3,3]b[3,4] b[4,1]b[4,2] b[4,3] b[4,4] Пусть дана таблица: K – L –

Перестановка строк двумерного массива Program Obmen2; Uses crt; Const n=4; m=4; Varb:array[1..n,1..m] of real; c:real; i,j,k,L:integer; Begin clrscr; randomize; For i:=1 to n do begin For j:=1 to m do begin b[i,j] := random(10); write(b[i,j]:3) end; writeln end; write(k=); readln(k); write(L=); readln(L); For j:=1 to m do begin c:=b[k,j]; b[k,j]:=b[L,j]; b[L,j]:=c; end; For i:=1 to n do begin For j:=1 to m do write(b[i,j]:3); writeln end; end.

Двумерные массивы (таблицы) Задача 3. Переставить местами две строки в таблице (блок-схема) нач i:=1,n j:=1,m вывод b[i,j] b[i,j] := random(10); ввод K,L j:=1,m c:=b[k,j]; b[k,j]:=b[L,j]; b[L,j]:=c; i:=1,n j:=1,m вывод b[i,j] кон

Домашнее задание 1. Контрольная работа «Двумерные массивы» 2. Индивидуальная практическая работа Анализ решения задачи Блок-схема алгоритма Программа на языке Паскаль

Задача 1. Найти средние арифметические значения элементов строк двумерного массива. Задача 2. Найти сумму элементов квадратной матрицы, находящихся выше главной диагонали. Задача 3. Найти сумму элементов каждой строки квадратной матрицы, находящихся выше главной диагонали. Задача 4. Дополнительно: Определить, является ли данная квадратная матрица (элементы квадратной матрицы 3Х3 вводятся с клавиатуры) магическим квадратом. Практическая работа

S1:=0 i:=2, N j:=1, i-1 S1:=S1 + A[i,j] Вывод S1 S2:=0 i:=1, N-1 j:=i+1, N S2:=S2 + A[i,j] Вывод S Контрольная работа 78