Меню
Разработки
Разработки  /  Информатика  /  Разное  /  11 класс  /  "Одномерные массивы" на языке программирования PASCAL в теории и практике школьного курса «Информатика и ИКТ»

"Одномерные массивы" на языке программирования PASCAL в теории и практике школьного курса «Информатика и ИКТ»

Методическая разработка содержит теоретический и практический материал, который позволит подготовиться обучающимся в единому государственному экзамену по информатике при решения заданий части С высокого уровня сложности.
19.02.2014

Описание разработки

Введение

Сейчас компьютеры есть в каждом доме, ими пользуются миллионы человек, поэтому все, что с ними связано, является очень актуальным и востребованным в быстроразвивающемся мире. Единый государственный экзамен по информатике нужен тем выпускникам школы, которые планируют поступать в вузы на самые перспективные специальности, например нанотехнологии, системный анализ и управление, ракетные комплексы и космонавтика, ядерные физика и технологии и многие другие. Но, несмотря на востребованность, это не самый популярный у школьников экзамен по выбору – только 5% выпускников 2013 года сдавали информатику.

Чем это можно объяснить? Многие обучающиеся, начиная изучать информатику с энтузиазмом, теряют интерес к ней, когда начинается раздел «Алгоритмизация и программирование», так как одной из проблем современного школьника, даже математически образованного, является иллюзия компетентности в работе с компьютером (все знают, как скачать музыку или установить Skype) и одновременно страх и неуверенность перед программированием («это сложно, мне никогда не понять»).

С другой стороны особенностью сегодняшнего образования является наличие доступного всем информационно - образовательного пространства, которое все активнее начинает использоваться субъектами образовательного процесса. Образование в информационном обществе приобретает новое качество благодаря наличию информационных и телекоммуникационных технологий, информационного пространства, которое представляет каждому человеку широкие возможности образования и самообразования, увеличивает доступное информационное поле.

Но не смотря на это, некоторые обучающиеся видят в программировании свое профессиональное будущее.

Цель работы:

Обобщение и систематизация содержания по теме «Одномерные массивы» раздела «Алгоритмизация и программирование» в курсе «Информатика и ИКТ» для среднего (полного) общего образования, необходимого для выполнения части С2 при сдаче единого государственного экзамена по информатике в виде методической разработки.

Задачи:

 - систематизировать содержание по теме «Одномерные массивы»;

 - показать образцы решения задач на обработку одномерных массивов на языке программирования Pascal;

 - рассмотреть решение задач С2 в ЕГЭ по информатике за период 2012 - 2014 годы.

Отличительной особенностью данной работы является то, что она может быть использована как учителями для подготовки к урокам, так и обучающимися при подготовки к единому государственному экзамену по информатике.

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

Массив – совокупность переменных одного типа, объединенных общим именем и различаемых с помощью выражения порядкового типа, называемого индексом.

Массив данных в программе рассматривается как переменная структурированного типа. Массиву присваивается имя, посредством которого можно ссылаться как на массив данных в целом, так и на любую из его компонент.

Вообще, массив – однородный, упорядоченный структурированный тип данных с прямым доступом к элементам.

Переменные, представляющие компоненты массивов, называются переменными с индексами в отличие от простых переменных, представляющих в программе элементарные данные. Индекс в обозначении компонент массивов может быть константой, переменной или выражением порядкового типа (целочисленный, логический, символьный, перечислимый, диапазон).

Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным или одномерным. Вообще количество индексов элементов массива определяет размерность массива. По этом признаку массивы делятся на одномерные (линейные), двумерные, трёхмерные и т. д.

Пример: числовая последовательность четных натуральных чисел 2, 4, 6, . . . , N представляет собой линейный массив, элементы которого можно обозначить А[1]=2, А[2]=4, А[3]=6, . . . , А[К]=2*(К+1), где К — номер элемента, а 2, 4, 6, . . . , N — значения. Индекс (порядковый номер элемента) записывается в квадратных скобках после имени массива.

Например, A[7] — седьмой элемент массива А; D[6] — шестой элемент массива D.

Описание одномерного массива осуществляется в разделе описаний с помощью одного из операторов: var, const или type.

Var <имя> : Array [<Описание индекса>] of <Тип элементов>;

<Имя> - имя массива, общее для всех его элементов, составляется как всякий идентификатор;

<Описание индекса> - указание диапазона значений индексного выражения в виде: <Начальное значение>. . <Конечное значение>, например, 1. . 5;. . - это две точки, набранные без пробела между ними;

<Тип элементов> - тип элементов массива, может быть любым и никак не связан с типом индексного выражения.

Примеры:

Var height : array [5. . 10] of real;

Flats : array [5. . 10] of integer;

Alfabet : array [1. . 33] of char;

Массив height – высота шести домов с номерами от 5 до 10 включительно, Flats - количество квартир в этих же домах, Alfabet – буквы русского алфавита.

При описании индексного выражения допустимо использование констант, что делает программы более доступными для изменения:

Const n=5;

Var a : array [1. . n] of real;

Здесь массив a состоит из n вещественных чисел, n равно 5, что легко изменить.

При описании нескольких массивов одного типа (с одинаковым количеством элементов и их типом) можно описать свой тип и использовать его при описании всех массивов.

Type <имя типа> = Array [<Описание индекса>] of <Тип элементов>;

Эта команда НЕ СОЗДАЕТ переменной типа массив (и вообще какой бы то ни было переменной). Для того. Чтобы массив был создан, нужно применить описанный тип в операторе VAR.

Пример:

type temperature_of_month=array [1. . 31] of real;

var t_junuary, t_february, t_march : temperature_of_month;

Здесь три массива описаны с использованием созданного пользователем типа temperature_of_month. Для таких массивов допустимо присваивание значения всего массива другому целиком, например:

t_junuary:=t_february

Весь материал - смотрите документ.

Содержимое разработки



Войтикова Н.В.







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

на языке программирования PASCAL

в теории и практике школьного курса

«Информатика и ИКТ»



































Анжеро-Судженский городской округ

2013



«Одномерные массивы» на языке программирования PASCAL в теории и практике школьного курса «Информатика и ИКТ»/ Методическая разработка. Автор-составитель, Войтикова Наталья Владимировна учитель математики и информатики второй квалификационной категории МБОУ «СОШ №3 с УИОП им. Г. Панфилова»










Методическая разработка «Одномерные массивы» на языке программирования PASCAL в теории и практике школьного курса «Информатика и ИКТ» содержит теоретический и практический материал по теме «Одномерные массивы», который позволит подготовиться обучающимся в единому государственному экзамену по информатике при решения заданий части С высокого уровня сложности.

В работе разобраны примеры задач на обработку одномерных массивов: нахождение максимального и минимального элемента, сортировка элементов, вставка и удаление элементов в одномерном массиве, которые встречаются в задании С2 единого государственного экзамена по информатике. Так же представлен разбор задач из открытого банка заданий для подготовки к ЕГЭ по информатике 2014 года на сайте www.fipi.ru.

Разработка будет полезна учителям информатики, выпускникам средней школы.














«Одномерные массивы» на языке программирования PASCAL в теории и практике школьного курса «Информатика и ИКТ»/ Методическая разработка. – Анжеро-Судженский городской округ, МБОУ «СОШ №3 с УИОП им. Г. Панфилова», 2013,- 22 с.




Муниципальное бюджетное общеобразовательное учреждение

«Средняя общеобразовательная школа №3

с углубленным изучением отдельных предметов имени Г. Панфилова»











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

на языке программирования PASCAL

в теории и практике школьного курса

«Информатика и ИКТ»


(методическая разработка)




Автор-сотавитель: Войтикова Н.В.

учитель информатики

МБОУ «СОШ №3 с УИОП им. Г. Панфилова»











Анжеро-Судженский городской округ

2013

Содержание



Введение………………………………………………………………………...3

  1. Одномерные массивы……………………………………………………….4

    1. Описание массива………………………………………………………4

    2. Ввод элементов массива……………………………………………….6

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

  1. Обработка одномерных массивов………………………………………….9

    1. Нахождение максимального и минимального элемента массива…..9

    2. Вычисление суммы и количества элементов массива……….……..10

    3. Сортировка массива…………………………………………………..12

    4. Удаление элемента массива………………………………………….13

    5. Вставка элемента в массив…………………………………………...16

  1. Образцы решения заданий С2 в ЕГЭ по информатике за период 2012-2013 годы……………………………………………………………………………17

  2. Задания С2 для подготовки к ЕГЭ по информатике 2014 года………...19

Заключение………………………………………………………………….....22

Список литературы……………………………………………………………23


Введение

Сейчас компьютеры есть в каждом доме, ими пользуются миллионы человек, поэтому все, что с ними связано, является очень актуальным и востребованным в быстроразвивающемся мире. Единый государственный экзамен по информатике нужен тем выпускникам школы, которые планируют поступать в вузы на самые перспективные специальности, например нанотехнологии, системный анализ и управление, ракетные комплексы и космонавтика, ядерные физика и технологии и многие другие. Но, несмотря на востребованность, это не самый популярный у школьников экзамен по выбору – только 5% выпускников 2013 года сдавали информатику.

Чем это можно объяснить? Многие обучающиеся, начиная изучать информатику с энтузиазмом, теряют интерес к ней, когда начинается раздел «Алгоритмизация и программирование», так как одной из проблем современного школьника, даже математически образованного, является иллюзия компетентности в работе с компьютером (все знают, как скачать музыку или установить Skype) и одновременно страх и неуверенность перед программированием («это сложно, мне никогда не понять»).

С другой стороны особенностью сегодняшнего образования является наличие доступного всем информационно-образовательного пространства, которое все активнее начинает использоваться субъектами образовательного процесса. Образование в информационном обществе приобретает новое качество благодаря наличию информационных и телекоммуникационных технологий, информационного пространства, которое представляет каждому человеку широкие возможности образования и самообразования, увеличивает доступное информационное поле.

Но не смотря на это, некоторые обучающиеся видят в программировании свое профессиональное будущее.


Цель работы:

Обобщение и систематизация содержания по теме «Одномерные массивы» раздела «Алгоритмизация и программирование» в курсе «Информатика и ИКТ» для среднего (полного) общего образования, необходимого для выполнения части С2 при сдаче единого государственного экзамена по информатике в виде методической разработки.

Задачи:

- систематизировать содержание по теме «Одномерные массивы»;

- показать образцы решения задач на обработку одномерных массивов на языке программирования Pascal;

- рассмотреть решение задач С2 в ЕГЭ по информатике за период 2012-2014 годы.

Отличительной особенностью данной работы является то, что она может быть использована как учителями для подготовки к урокам, так и обучающимися при подготовки к единому государственному экзамену по информатике.

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

    1. Описание массива


Массив – совокупность переменных одного типа, объединенных общим именем и различаемых с помощью выражения порядкового типа, называемого индексом.

Массив данных в программе рассматривается как переменная структурированного типа. Массиву присваивается имя, посредством которого можно ссылаться как на массив данных в целом, так и на любую из его компонент.

Вообще, массив – однородный, упорядоченный структурированный тип данных с прямым доступом к элементам.

Переменные, представляющие компоненты массивов, называются переменными с индексами в отличие от простых переменных, представляющих в программе элементарные данные. Индекс в обозначении компонент массивов может быть константой, переменной или выражением порядкового типа (целочисленный, логический, символьный, перечислимый, диапазон).

Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным или одномерным. Вообще количество индексов элементов массива определяет размерность массива. По этом признаку массивы делятся на одномерные (линейные), двумерные, трёхмерные и т.д.

Пример: числовая последовательность четных натуральных чисел 2, 4, 6, ..., N представляет собой линейный массив, элементы которого можно обозначить А[1]=2, А[2]=4, А[3]=6, ..., А[К]=2*(К+1), где К — номер элемента, а 2, 4, 6, ..., N — значения. Индекс (порядковый номер элемента) записывается в квадратных скобках после имени массива.

Например, A[7] — седьмой элемент массива А; D[6] — шестой элемент массива D.


Описание одномерного массива осуществляется в разделе описаний с помощью одного из операторов: var, const или type.


Var : Array [] of ;


- имя массива, общее для всех его элементов, составляется как всякий идентификатор;

- указание диапазона значений индексного выражения в виде:  значение ..  значение, например, 1..5; ..- это две точки, набранные без пробела между ними;

- тип элементов массива, может быть любым и никак не связан с типом индексного выражения.

Примеры:

Var height : array [5..10] of real;

Flats : array [5..10] of integer;

Alfabet : array [1..33] of char;


Массив height – высота шести домов с номерами от 5 до 10 включительно, Flats - количество квартир в этих же домах, Alfabet – буквы русского алфавита.

При описании индексного выражения допустимо использование констант, что делает программы более доступными для изменения:


Const n=5;

Var a : array [1..n] of real;


Здесь массив a состоит из n вещественных чисел, n равно 5, что легко изменить.

При описании нескольких массивов одного типа (с одинаковым количеством элементов и их типом) можно описать свой тип и использовать его при описании всех массивов.


Type = Array [] of ;


Эта команда НЕ СОЗДАЕТ переменной типа массив (и вообще какой бы то ни было переменной). Для того. Чтобы массив был создан, нужно применить описанный тип в операторе VAR.


Пример:

type temperature_of_month=array [1..31] of real;

var t_junuary, t_february, t_march : temperature_of_month;


Здесь три массива описаны с использованием созданного пользователем типа temperature_of_month. Для таких массивов допустимо присваивание значения всего массива другому целиком, например:

t_junuary:=t_february


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



  • Ввод значений элементов массива с клавиатуры

Пример:

Const n = 5;

Var num : array [1..n] of real;

I : integer;

begin

for i:=1 to n do begin

write(’Вводите элемент номер ’,i,’ ’);

readln(num[i]);

end;

  • Ввод значений элементов из текстового файла

Текстовый файл должен содержать значения элементов массива, записанные так, как будто бы их вводят с клавиатуры (через пробел, ‘Enter’ и т.п.). В программе должна быть объявлена переменная типа TEXT, которая будет указывать на текстовый файл, файл нужно открыть и указывать на него в каждом операторе ввода (или вывода).


Пример:

var F : TEXT;

В файле my.txt в каталоге C:\tp\bin должны быть размещены в столбик пять вещественных чисел

i : integer;

M : array [1..5] of real;

begin

assign(F,’C:\tp\bin\my.txt’);

reset(F);

for i:=1 to 5 do readln(F,M[i]);

close(F);



  • Присвоение элементам значений по какой-либо закономерности

Пример: присвоение элементам массива целых чисел, проиндексированных от 1 до n, утроенного значения соответствующего индекса:

Const n = 5;

Var num : array [1..n] of integer;

I : integer;

begin

for i:=1 to n do

num[i]:=i*3;







  • Задание значений элементов массива с использованием
    генератора псевдослучайных чисел

Генератором псевдослучайных чисел называют функцию RANDOM. Обращаться к этой функции можно двумя способами:

  • При вызове функции без параметра она возвращает дробное число в интервале от 0 до 1 (0- включается, а 1 – нет)
    пример: R:=RANDOM;

  • При вызове функции с указанием параметра – целого положительного числа N функция возвращает целое число в интервале от 0 до N (0- включается, а N– нет)

пример: NUM:=RANDOM(10);


num получит в качестве значения одно из чисел 0..9.


Чтобы значения, возвращаемые генератором, различались при повторных запусках программы, необходимо до обращения к генератору инициализировать его процедурой RANDOMIZE

Пример:

Const n = 5;

Var num : array [1..n] of integer;

I : integer;

begin

randomize;

for i:=1 to n do

num[i]:=random(5)+10;

В примере элементы массива получают случайные значения от 10 до 14 включительно

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


Целые числа из массива выводятся последовательно через пробел. Завершающий оператор WriteLn обеспечивает начало возможного последующего вывода программы с новой строки.


Вывод массива в Паскале осуществляется также поэлементно, в цикле, где параметром выступает индекс массива, принимая последовательно все значения от первого до последнего.


Var

A: array [1..10] of integer;

I : byte ; {переменная I вводится как индекс массива}

Begin

For i :=1 to 10 do

Write ( a [ i ],’ ‘); {вывод массива осуществляется в строку, после каждого элемента печатается пробел}


Вывод можно осуществить и в столбик с указанием соответствующего индекса. Но в таком случае нужно учитывать, что при большой размерности массива все элементы могут не поместиться на экране и будет происходить скроллинг, т.е. при заполнении всех строк экрана будет печататься очередной элемент, а верхний смещаться за пределы экрана.


Var

A: array [1..10] of integer;

I : byte ; {переменная I вводится как индекс массива}

Begin

For i:=1 to 10 do

Writeln (‘a[‘, i,’]=’, a[i]); { вывод элементов массива в столбик }


  1. Обработка одномерных массивов

    1. Нахождение максимального и минимального элемента массива


Перед началом поиска максимального элемента допустим, что его первый элемент и является максимальным элементом, а его индекс указывает позицию максимального элемента в массиве. Это запишется так:


max := m[1]; {Cчитать 1-й элемент максимальным}

numer_max := 1; {Запомнить номер максимального элемента}


Для организации просмотра элементов будем использовать оператор цикла с параметром, который будет указывать индекс очередного элемента (переменная цикла будет индексом элемента массива).

Сравнение очередного элемента массива с максимальным осуществляется оператором

if m[i] max then….


Если очередной элемент массива больше, чем максимальный, то следует считать его значение максимальным и запомнить его индекс. Данный фрагмент кода записывается таким образом:


for i:= 2 to n do

begin

if m[i] max then

begin

max:= m[i];

numer_max:= i;

end;

end;

Для поиска минимального элемента и его порядкового номера меняем обозначения:


min - значение наименьшего элемента;


numer_min - его порядковый номер.


Перед началом поиска предполагаем, что первый элемент массива минимальный, и его индекс - номер минимального элемента. При сравнении очередного элемента с минимальным, меняем знак отношения на противоположный.

    1. Вычисление суммы и количесства элементов массива


  1. Вычисление суммы элементов одномерного массива.


Для вычисления суммы всех элементов массива берем переменную S и присваиваем ей такое начальное значение, чтобы оно не повлияло на результат суммирования. Таким числом является ноль (S:=0). Затем в цикле к переменной S прибавляем элемент массива

for i:=1 to n do S:=S+a[i]…


PROGRAM Summa;

const n=10;

var a:array[1..n] of real;

S:real; i:integer;

BEGIN

{заполнение массива}

for i:=1 to n do

begin

write (‘введите‘,i,’-й элемент’);

readln (a[i]);

end;

S:=0;

for i:=1 to n do S:=S+ a[i];

write ('сумма элементов массива равна ',S:7:3);

readln;

END.


  1. Вычисление суммы положительных элементов массива

Для вычисления суммы положитеных элементов в цикле используем условный оператор

if A[i]0 then …..для проверки элементов на положительность


program PositivSumm;

const n=10;

var a:array[1..n] of real;

S:real; i:integer;

BEGIN

{заполнение массива}

for i:=1 to n do

begin

write (‘введите‘,i,’-й элемент’);

readln (a[i]);

end;

{ Присвоим переменным начальные значения }

S:=0; { Переменная S будет накапливать сумму всех положительных элементов. }

for i:=l to N do

if A[i]0 then

S:=S+A[i];

writeln('Сумма положительных элементов =',S)

;readln; end.

  1. Подсчитать количество отрицательных элементов одномерного массива a[n] вещественных чисел.


Для вычисления количества элементов массива, удовлетворяющие условию, берем переменную p и присваиваем ей такое начальное значение, чтобы оно не повлияло на результат суммирования. Таким числом является ноль (p:=0). Затем в цикле, проверяем условие и к переменной p прибавляем единицу

for i:=1 to n do

if a[i]

.

Program KOLICHESTVO;

Var a: array[1..100] of real;

n,p,i: integer;

begin

write('Введите количество элементов: ');

readln(n);

write('Введите элементы массива');

for i:=1 to n do readln(a[i]);

p:=0;

for i:=1 to n do

if a[i]

writelen ('Количество отрицательных элементов ',p);

readln;

end.


    1. Сортировка массива


Сортировка — перестановка местами объектов в определенном порядке. Известно несколько сотен алгоритмов сортировки. Рассмотрим два способа сортировки.


  1. Метод прямого выбора

Алгоритм сортировки массива по возрастанию методом прямого выбора может быть представлен так:

  1. Просматривая массив с первого и до последнего элемента, найти минимальный и поменять его местами с первым элементом.

  2. Просматривая массив со второго и до последнего элемента, найти минимальный и поменять его местами со вторым элементом.

  3. И, так далее, до последнего элемента.

Пример работы алгоритма:

  • Исходный массив: 8, 3, 6, 1, 4

( меняются местами 8 и 1)

  • После первого шага: 1, 3, 6, 8, 4

( меняются местами 3 и 3)

  • После второго шага: 1, 3, 6, 8, 4

(меняются местами 6 и 4)

  • После третьего шага: 1, 3, 4, 8, 6

(меняются местами 8 и 6)

  • После четвертого шага: 1, 3, 4, 6, 8

Program Vibor;

const

SIZE = 5;

var

a: array [1..SIZE] of integer;

i,j,buf,k: integer;

begin

for k:=1 to SIZE do read (a [k]);

for i:=1 to SIZE -1 do

{поиск минимального элемента в части массива от a[i] до a[SIZE]}

begin

min:= i;

for j:= i + 1 to SIZE do

if a [j]

{поменяем местами a [min] и a [i]}

buf:= a [i];

a [i]:= a [min];

a [min]:= buf;

end;

{выведем массив}

writeln (‘Массив отсортирован^’);

for k:= 1 to SIZE do write (a [k], ‘ ‘);

readln;

end.



  1. Метод простого обмена
    (пузырьковая сортировка)

В основе алгоритма лежит обмен соседних элементов массива.

Каждый элемент массива, начиная с первого, сравнивается со следующим и, если он больше следующего, то элементы меняются местами.

Таким образом, элементы с меньшим значением продвигаются к началу массива, а элементы с большим значением – к концу массива (всплывают), поэтому этот метод иногда называют методом “пузырька”.

Пример работы алгоритма простого обмена

Первый проход:

(5 1 4 2 8) (1 5 4 2 8), Здесь алгоритм сравнивает два первых элемента и меняет их местами.

(1 5 4 2 8) (1 4 5 2 8), Меняет местами, так как 5 4

(1 4 5 2 8) (1 4 2 5 8), Меняет местами, так как 5 2

(1 4 2 5 8) (1 4 2 5 8), Теперь, ввиду того, что элементы стоят на своих местах (8 5), алгоритм не меняет их местами.

Второй проход:

(1 4 2 5 8) (1 4 2 5 8)

(1 4 2 5 8) (1 2 4 5 8), Меняет местами, так как 4 2

(1 2 4 5 8) (1 2 4 5 8)

(1 2 4 5 8) (1 2 4 5 8)



Program Obmen;

const n=5;

var

a: array [1..n] of integer;

i,k, buf: integer;

begin

for k:= 1 to n do read (a [k]);

for i:=1 to n-1 do

for j:=i+1 to n do

if a[i]a[j] then

begin

buf:=a[i];

a[i]:=a[j];

a[j]:=buf;

end;

writeln;

writeln('Массив после сортировки пузырьковым методом: ');

for i:=1 to n do write(a[i],' ');

end.



    1. Удаление элемента массива


Задача 1:

Допустим, имеется одномерный массив, содержащий числа от 0 до 49 включительно. Требуется исключить из него все элементы, значения которых меньше 15.


Алгоритм решения задачи:


Присваивание значение n переменной m требуется, т.к. n - константа и не может быть изменена. Поскольку при "просмотре" массива в цикле while некоторые элементы будут удаляться, то значение m, обозначающее длину массива, будет уменьшаться.


Если очередной элемент не удаляется, то переходим к просмотру следующего элемента (i := i + 1) и не уменьшаем массив (m не меняется).


Program vvv;

const n = 20;

var

arr: array[1..n] of integer;

i, j, m: integer;

begin

randomize;

for i := 1 to n do begin

arr[i] := random(50);

write(arr[i]:4);

end;

m := n;

i := 1;

while i

if arr[i]

for j := i to m - 1 do

arr[j] := arr[j+1];

m := m - 1

end

else

i := i + 1;

for i:= 1 to m do

write(arr[i]:4);

readln

end.









Задача 2:


Произвести удаление элемента из одномерного массива. Номер удаляемого элемента вводится с клавиатуры.


program рrim3;

var a.array [1..1000] of integer;

i,k,n:integer;

begin

randomize;

write(' число элементов n=');readln(n);

for i:=1 to n do

begin

a[i]:=random(45)-22;

write(a[i], ' ');

end;

write(' номер удал. элем. k=п ');readln(k); { Вводим номер удаляемого элемента.}

for i:=1 to n-1 do

begin

{Смещаем элементы массива к началу, начиная с К-го.}

if i=k then a[i]:=a[i+1];

end;

{Обнуляем последний элемент.}

a[n]:=0;

{Выводим на экран измененный массив.}

for i:=1 to n - 1 do

begin

write(a[i],' ');

end;

readln;

end.


    1. Вставка элемента в массив


Добавление элемента в массив:


1) Задать случайным образом N элементов числового массива – числа от 0 до 20. Вставить в него число «-20» перед к-ым элементом.


Чтобы вставить в массив новый элемент на место К, нужно прежде всего предусмотреть для него место в массиве. Поэтому объявление массива будет выглядеть так: : array [1..n+1] of ;


Обязательно ввести к – ый порядковый номер. В теле программы все элементы, начиная с к-ого и до N, следует передвинуть на 1 место к концу массива. После этого можно на к-ое место поставить значение, заданное по условию задачи:


For i := n downto к do

a[i+1] := a[i];

a[i] := новое значение;


Решение:


Program zad1;

Var I,N,K:byte;

A:array[1..100] of integer;

Begin

Writeln(‘Введи размерность массива’);

Readln (N);

Writeln(‘исходный массив’);

Randomize;

For i:=1 to N do begin

A[i]:=random(20)+1;

Write(A[i]:3);

End;

Writeln;

Writeln(‘Введи номер к-го элемента’);

Readln (K);

For i:=N downto K do

A[i+1]:=A[i];

A[i]:=-20;

Writeln(‘измененный массив’);

For i:=1 to N+1 do begin

Write(A[i]:3);

Readln;

End.


  1. Образцы решения заданий С2 в ЕГЭ по информатике за период 2012-2013 годы


Задача С2 (демоверсия 2012 )

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 1000. Опишите на русском языке или наодном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди элементов массива, которые имеют чётное значение и не делятся на три. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого чётно и не кратно трем.

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но использовать все описанные переменные не обязательно.

Паскаль

Алгоритмический язык

const

N=20;

var

a: array [1..N] of integer;

i, j, min: integer;

begin

for i:=1 to N do

readln(a[i]);

end.

алг

нач

цел N=20

целтаб a[1:N]

цел i, j, MIN

нц для i от 1 до N

ввод a[i]

кц

...

кон

Решение:

Program zadС;

const N=20;

Var a: array [1..N] of integer;

i, j, min: integer;

begin

for i:=1 to N do

readln(a[i]);

min:=1000;

for i:=1 to N do

if (a[i] mod 2=0) and (a[i] mod 30) and (a[i]

min:=a[i];

writeln(min);

end.


Задача С2 (демоверсия 2013 бескомпьютерный вариант)

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти и вывести произведение элементов массива, которые имеют нечётное значение и делятся на 3. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого нечётно и кратно 3.

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. Исходные данные всегда подобраны так, что результат произведения не выходит за пределы объявленных типов данных.





Паскаль

Алгоритмический язык

const

N=30;

var

a: array [1..N] of longint;

i, j, p: longint;

begin

for i := 1 to N do

readln(a[i]);

end.

нач

цел N=30

целтаб a[1:N]

цел i, j, p

нц для i от 1 до N

ввод a[i]

кц

...

кон


Решение:

Program zadС2;

const

N=30;

var

a: array [1..N] of longint;

i, j, p: longint;

begin

for i := 1 to N do

readln(a[i]);

p := 1;

for i := 1 to N do

if (a[i] mod 20) and (a[i] mod 3=0) then

p := p * a[i];

writeln(p);

end.


Задача С2 (демоверсия 2013 компьютерный вариант)

Составьте программу, которая вводит с клавиатуры 8 целых неотрицательных чисел (каждое число — с новой строки отдельной командой «ввод»), записывает их в массив, выводит на экран сначала в прямом порядке все без исключения элементы массива, затем, в обратном порядке относительно следования в массиве, все чётные элементы. Например, для массива «1 2 5 4 5 3 7 8» программа должна выводить числа в таком порядке: 1 2 5 4 5 3 7 8 8 4 2. Каждое число программа должна выводить в отдельной строке; ничего, кроме чисел, программа выводить не должна


Program zadС2;

var a:array[1..8] of integer;

i:integer;

begin

for i:=1 to 8 do

readln(a[i]);

for i:=1 to 8 do

writeln(a[i]);

for i:=8 downto 1 do

if a[i]mod 2 =0 then

writeln(a[i]);

end.



  1. Задания С2 для подготовки к ЕГЭ по информатике

2014 года


  1. Задача С2 (демоверсия 2014)

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести максимальное значение среди трёхзначных элементов массива, не делящихся на 9. Если в исходном массиве нет элемента, значение которого является трёхзначным числом и при этом не кратно 9, то выведите сообщение «Не найдено».

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.


Паскаль

Const N = 20;

var

a: array [1..N] of integer;

i, j, max: integer;

begin

for i := 1 to N do readln(a[i]);

...

end.


Решение:

Const N = 20;

var

a: array [1..N] of integer;

i, j, max: integer;

begin

for i := 1 to N do

readln(a[i]);

max := 99;

for i := 1 to N do

if (a[i]=100) and (a[i]0) and

(a[i]max) then

max := a[i];

if max 99 then writeln(max) else writeln(‘Не найдено’);

end.



  1. Задача С2 (Открытый банк заданий ЕГЭ по информатике 2014год)

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, кратных 4. Если в исходном массиве нет элемента, значение которого положительно и делится на 4, то вывести сообщение «Не найдено».

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

const N = 20;

var

a: array [1..N] of integer;

i, j, min: integer;

begin

for i := 1 to N do

readln(a[i]);

min := 1001;

for i := 1 to N do

if (a[i]0) and (a[i] mod 4=0) and (a[i]

min := a[i];

if min

end.


Решение:















  1. Задача С2 (Открытый банк заданий ЕГЭ по информатике 2014год)

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, оканчивающихся на 0. Если в исходном массиве нет элемента, значение которого положительно и оканчивается цифрой 0, то вывести сообщение «Не найдено».

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

Решение

Const N = 20;

var

a: array [1..N] of integer;

i, j, min: integer;

begin

for i := 1 to N do

readln(a[i]);

min := 1001;

for i := 1 to N do

if (a[i]0) and (a[i] mod 10=0) and (a[i]

min := a[i];

if min end.















  1. Задача С2 (Открытый банк заданий ЕГЭ по информатике 2014год)

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –1000 до 1000 включительно.

Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, имеющих чётное значение. Если в исходном массиве нет элемента, значение которого чётно и положительно, то вывести сообщение «Не найдено».

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных

Const N = 20;

var

a: array [1..N] of integer;

i, j, min: integer;

begin

for i := 1 to N do readln(a[i]);

min := 1001;

for i := 1 to N do

if (a[i]0) and (a[i] mod 2=0) and (a[i]

min := a[i];

if min

end.















  1. Задача С2 (Открытый банк заданий ЕГЭ по информатике 2014год)

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, кратных 5. Если в исходном массиве нет элемента, значение которого положительно и делится на 5, то вывести сообщение «Не найдено».

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных

Решение

const

N = 20;

var

a: array [1..N] of integer;

i, j, min: integer;

begin

for i := 1 to N do readln(a[i]);

min := 1001;

for i := 1 to N do

if (a[i]0) and (a[i] mod 5=0) and (a[i]

min := a[i];

if min end.

end.


Заключение


Данная работа включает четыре раздела. В первом разделе прописаны способы описания массивов, ввод и вывод данных. Во втором разделе разобраны примеры задач на обработку одномерных массивов: нахождение максимального и минимального элемента, сортировка элементов, вставка и удаление элементов в одномерном массиве. В третьем разделе рассматриваются примеры разобранных задач из демоверсий 2012 и 2013 года, в том числе и компьютерный вариант экзамена, который проводился в октябре 2013 года. Четвертый раздел содержит разбор заданий С2 в ЕГЭ по информатике 2014 года, взятые из банка заданий на сайте www.fipi.ru.

Содержанием экзаменационной работы охватываются основное содержание курса информатики, важнейшие его темы, наиболее значимый в них материал, однозначно трактуемый в большинстве преподаваемых в школе вариантов курса информатики.

Задания части С направлены на проверку сформированности у экзаменующихся важнейших умений записи и анализа алгоритмов, предусмотренных требованиями к обязательному уровню подготовки по информатике учащихся средних общеобразовательных учреждений. Эти умения проверяются на повышенном и высоком уровнях сложности. Задание С2 проверяет умения выпускников по теме «Технология программирования» на высоком уровне сложности.

Данная работа является результатом обобщения материала учителя при подготовке к единому государственному экзамену на протяжении трех лет. Данный материал используется при подготовке обучающихся 11 классов в ЕГЭ по информатике.

Результатом работы является положительные результаты ЕГЭ по информатике прошлых лет. Задание С2 удачно выполняют более 50% обучающихся, сдававших экзамен в течение трех лет.

Методическая разработка может быть дополнена практическим материалом из репетиционных экзаменов и диагностических работ по информатике.


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



  1. ЕГЭ по информатике: подготовка к ЕГЭ по информатике 2014, разбор задач ЕГЭ 2014 по информатике, материал для подготовки к ЕГЭ [Электронный ресурс] –

// URL:http://kpolyakov.narod.ru/school/ege.htm (Дата обращения 12.11.2013)


  1. Кашаев, С.М, Шерстнева, Л.В. Паскаль для школьников. Подготовка к ЕГЭ [Текст] - / Кашаев, С.М, Шерстнева, Л.В – СПб.: БХВ-Петербург, 2011. - 336 с.


  1. Одномерные массивы в языке программирования Паскаль [Электронный ресурс] –

// URL: http://festival.1september.ru/articles/594645/ (Дата обращения 10.09.2013)


  1. Опыт обучения школьников программированию/Хабрахабр [Электронный ресурс] – // URL: http://habrahabr.ru/post/179307/ (Дата обращения 24.11.2013)


  1. Программирование для школьников. Паскаль. Visual Basic.net [Электронный ресурс] – // URL:http://gospodaretsva.com/ (Дата обращения 12.10.2013)


  1. ФИПИ (федеральный институт педагогических измерений) [Электронный ресурс] –

// URL:http://www.fipi.ru/ (Дата обращения19.11.2013)


  1. Чернов, А. А. Информатика. Конспекты уроков. 9-11 классы [Текст] – / Чернов, А. А -Волгоград: Учитель, 2008. - 235 с.




-75%
Курсы повышения квалификации

Применение облачных технологий в образовании

Продолжительность 72 часа
Документ: Удостоверение о повышении квалификации
4000 руб.
1000 руб.
Подробнее
Скачать разработку
Сохранить у себя:
"Одномерные массивы" на языке программирования PASCAL в теории и практике школьного курса «Информатика и ИКТ» (0.12 MB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт

© 2008-2024, ООО «Мультиурок», ИНН 6732109381, ОГРН 1156733012732

Учителю!
Огромная база учебных материалов на каждый урок с возможностью удаленного управления
Тесты, видеоуроки, электронные тетради