Задачи в сборнике классифицированы по основным разделам: линейные алгоритмы, разветвляющиеся алгоритмы, циклические алгоритмы, обработка массивов, обработка строк и создание графических изображений. После каждого раздела предлагаются задачи для самостоятельного решения. Внутри каждого раздела задачи по мере возможности расположены по возрастанию степени трудности.
лабораторные работы и задачи по программированию и информатике, егэ по информатике
Для начала рассмотрим не сильно сложную задачу с одномерными массивами в Pascal:
Результат:
Подумайте, пригодится ли в программе счетчик или нет, нужны ли дополнительные переменные.
const m = 20; var arr: array[1..m] of byte; max_index: byte; i: byte; begin randomize; for i := 1 to m do begin arr[i] := random(100); write (arr[i]:3); end; max_index := 1; for i := 2 to m do if arr[i] > arr[max_index] then begin max_index := i; end; writeln; writeln (‘Max = ‘,arr[max_index]); writeln (‘position: ‘, max_index); end.
Результат:
Следующую сложную задачу с одномерными массивы следует разобрать подробно.
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; writeln; m:=n; i:=1; while i n переменной m требуется, т.к. n — константа и не может быть изменена. Поскольку при «просмотре» массива в цикле while некоторые элементы будут удаляться, то значение m , обозначающее длину массива, будет уменьшаться.
Пример:
- Определите в массиве A номер первого элемента, равного X .
- Определите номер первого элемента, равного X , в первой половине массива A (массив имеет чётное число элементов).
- Определите номер первого элемента, равного X , во второй половине массива A (массив имеет чётное число элементов).
Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:
Дистанционная развивающая олимпиада
Олимпиадные задачи по информатике с решениями
Предлагается более 60 олимпиадных задач, условно разбитых на несколько групп по степени их сложности и тематике. Для каждой из групп предлагаются примеры решения задач, основные идеи их решения, программы на языке Паскаль. Задачи излагаются в порядке нарастания трудности.
Используются следующие обозначения:
Решение — переход к решению задачи;
Подсказка — переход к подсказке по задаче.