Хелпикс

Главная

Контакты

Случайная статья





const N=10;. for i:=1 to N do begin. Sum := Sum + max;. const N=10;. var A: array[1..N,1..N] of integer;. i, k, max, Sum: integer;. for i:=1 to N do begin. for k:=2 to N do. if A[i,k] > max then max := A[i,k];. Sum := Sum + max;. writeln(Sum);



const N=10;

{ ввод матрицы N на N }

Sum: = 0;

for i: =1 to N do begin

{ max: = максимальный элемент в i-ой строке }

Sum: = Sum + max;

end;

4) остается записать на Паскале те части, которые взяты в фигурные скобки, и до конца оформить программу; по правилам ЕГЭ можно не писать в программе команды для ввода массива, поэтому мы оставим на этом месте комментарий:

const N=10;

var A: array[1.. N, 1.. N] of integer;

i, k, max, Sum: integer;

begin

{ ввод матрицы N на N }

Sum: = 0;

for i: =1 to N do begin

max: = A[i, 1];

for k: =2 to N do

if A[i, k] > max then max: = A[i, k];

Sum: = Sum + max;

end;

writeln(Sum);

end.

 

Возможные проблемы: · проверьте, правильно ли заданы (и заданы ли вообще) начальные значения для всех переменных · проверьте, правильно ли расставлены операторные скобки begin-end, ограничивающие тело цикла; их обязательно нужно ставить, если в теле цикла несколько операторов · проверяйте, не выйдет ли индекс за границу массива в начале или в конце цикла · не перепутайте номер строки (это первый индекс) и номер столбца (второй индекс) · для надежности не рекомендуется использовать в одной программе переменные i и j, потому что они слишком похоже выглядят, вот пример ошибочного решения в этой задаче: for i: =1 to N do begin max: = A[i, 1]; for i: =2 to N do if A[j, i] > max then max: = A[i, j]; Sum: = Sum + max; end; · если вы все же используете переменные i и j, нужно писать их очень четко, чтобы они отличались друг от друга

 

Немного тактики: · в этом задании можно написать алгоритм на русском языке, а можно (вместо этого) написать компьютерную программу на одном из языков программирования · если вы хорошо умеете выражать свои мысли по-русски, собаководы эксперты рекомендуют писать только алгоритм на русском языке; дело в том, что если вы сделаете много ошибок в программе, оценка будет снижена даже при абсолютно правильном алгоритме · если вам сложно изъясняться на родном языке, а легче записать свои мысли на Паскале или Си – пишите программу, но тщательно проверяйте ее на предмет возможных случайных ошибок-опечаток, которые можно сделать просто по невнимательности: o задавайте все начальные значения для переменных o проверяйте правильность написания ключевых слов o если в теле цикла несколько операторов, заключайте их в блок begin-end (операторные скобки) o проверяйте начальное и конечное значение переменной цикла o если вы используете циклы while или repeat, проверьте, что переменная цикла изменяется в теле цикла (иначе в программе будет зацикливание, а на ЕГЭ – потерянные баллы) o выводите на экран именно то, что требуется по условию o ставьте точку с запятой в конце операторов o НЕ ставьте точку с запятой перед else (Паскаль) o ставьте точку в конце последнего оператора end (Паскаль)

 


 

За что снимают баллы: · задано неверное начальное значение переменных (или вообще не задано) · неверно указано условие завершения цикла · «забыли» изменять переменную цикла в цикле while (repeat) · перепутаны знаки < и >, логические операции or и and · неверно расставлены операторные скобки begin-end · программа не выводит результат или выводит не то, что спрашивают · синтаксические ошибки (знаки пунктуации – запятые, точки, точки с запятой; неверное написание ключевых слов) допускаются в разумных пределах (если они не искажают замысел автора)

Задачи для тренировки:

1) Опишите на русском языке или одном из языков программирования алгоритм поиска номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, сумма которых максимальна (если таких пар несколько, то можно выбрать любую из них).

 

2) Опишите на русском языке или одном из языков программирования алгоритм подсчета числа элементов, равных максимальному, в числовом массиве из 30 элементов.

 

3) Опишите на русском языке или одном из языков программирования алгоритм поиска трех последовательных элементов, сумма которых максимальна, в числовом массиве из 30 элементов.

 

4) Дан прямоугольный массив целых положительных чисел 10 х 20. Опишите на русском языке или на одном из языков программирования алгоритм поиска строки с наименьшей суммой элементов. Вывести на печать номер строки и сумму ее элементов. Предполагается, что такая строка единственна.

 

5) Дан квадратный массив целых положительных чисел 10 х 10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы элементов строки, в которой расположен элемент с максимальным значением. Вывести значение суммы на печать. Предполагается, что такой элемент единственный.

 

6) Дан целочисленный прямоугольный массив 6x10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы минимальных элементов из каждой строки. Напечатать значение этой суммы. Предполагается, что в каждой строке минимальный элемент единственный.

 

7) Дан целочисленный массив из 30 элементов. Элементы могут принимать значения от 0 до 100 ­– баллы, полученные на ЕГЭ. Опишите на русском языке или на одном из языков программирования алгоритм, который подсчитывает и выводит средний балл учащихся, сдавших экзамен (получивших оценку более 20 баллов). Гарантируется, что хотя бы один ученик в классе успешно сдал экзамен. Исходные данные объявлены так, как показано ниже. Использовать другие переменные запрещается.

Паскаль Естественный язык
const N = 30; var A: array[1.. N] of integer; i, x, y: integer; s: real; begin for i: =1 to N do readln(A[i]); ... end. Объявляется массив A из 30 элементов. Объявляются целочисленные переменные i, x и y, а также вещественная переменная s. В цикле от 1 до 30 заполняются все элементы массива A с 1-ого по 30-ый.

 

8)  Дан целочисленный массив из 30 элементов. Элементы могут принимать значения от 160 до 200 ­– рост учащихся выпускного класса. В баскетбольную команду берут тех, чей рост не менее 180 см. Опишите на русском языке или на одном из языков программирования алгоритм, который подсчитывает и выводит минимальный рост игрока баскетбольной команды. Гарантируется, что хотя бы один ученик играет в баскетбольной команде. Исходные данные объявлены так, как показано ниже. Использовать другие переменные запрещается.

Паскаль Естественный язык
const N = 30; var A: array[1.. N] of integer; i, x, y: integer; s: real; begin for i: =1 to N do readln(A[i]); ... end. Объявляется массив A из 30 элементов. Объявляются целочисленные переменные i, x и y, а также вещественная переменная s. В цикле от 1 до 30 заполняются все элементы массива A с 1-ого по 30-ый.

 

9) Дан целочисленный массив из 31 элемента, в котором записаны значения температуры воздуха в марте. Элементы массива могут принимать значения от (–20) до 20. Опишите на русском языке или на одном из языков программирования алгоритм, который подсчитывает и выводит среднюю температуру по всем дням, когда была оттепель (температура поднималась выше нуля). Гарантируется, что хотя бы один день в марте была оттепель. Исходные данные объявлены так, как показано ниже. Использовать другие переменные запрещается.

Паскаль Естественный язык
const N = 31; var A: array[1.. N] of integer; i, x, y: integer; s: real; begin for i: =1 to N do readln(A[i]); ... end. Объявляется массив A из 31 элемента. Объявляются целочисленные переменные i, x и y, а также вещественная переменная s. В цикле от 1 до 31 заполняются все элементы массива A с 1-ого по 31-ый.

 


[1] По традиции нумерация элементов массива в Паскале обычно начинается с единицы, далее N обозначает размер массива (количество элементов).



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.