- •Язык программирования. Основные элементы.
- •Операторы ввода/вывода.
- •Массивы:
- •Для массива характерны:
- •Программа: Наибольший элемент в двумерном массиве
- •Программа: Количество положительных элементов в двумерном массиве
- •Программа: Смена первого и последнего элементов двумерного массива
- •Программа: Вставка столбца из нулей в двумерный массив
- •Программа: Cумма и среднее арифметическое последовательности положительных чисел
- •Программа: Найти разницу между минимальным и максимальным элементами в массиве
- •Программа: Определить сколько раз встречается макс. Элемент
- •Программа: Встречается ли k число в массиве?
- •Программа: Заменить во веденном предложении буквы
- •Программа: Определение процентного содержания буквы в предложении
- •Программа: Вывод второй строки двумерного массива
- •Программа: Операции с четырехзначным числом
- •Программа: Вычисление цены на обои
- •Программа: Какое расстояние меньше? в футах или километрах?
- •Программа: Количество одинаковых букв в слове
- •Программа: Определение длины слова
- •Программа: Кратна ли сумма цифр, трем?
- •Программа: Изменение трехзначного числа
Массивы:
Массив – совокупность данных (элементов) одного типа с общим для всех элементов именем.
Все элементы массива прономерованы , поэтому к каждому из них можно обратится.
Одномерные. А – имя массива а[i] – индекс.
1 2 3 4 5 А = {1,3,4,5,6} а[1] = 1 a[3] = 4
Двумерные. j
i (123) В= (567) в [i, j] (819) в[2,2] =6 в[3,2] =1
Для массива характерны:
Тип – является общим для всех элементов массива.
Размерность (ранг) – количество индексов массива.
Диапазон изменения индекса – определяет количество элементов в массиве.
Программа: Сумма элементов по диагонали в двумерном массиве
Задача: Заполнить двумерный массив размером 16x16 любыми числами. Найти сумму всех элементов по диагонали. Вывести результат.
PROGRAM summapodiag;
var i,k,s :integer;
M :array[1..16,1..16] of integer;
BEGIN
Randomize;
s:=0;
for i:=1 to 16 do
begin
for k:=1 to 16 do
begin
M[i,k]:=random(10);
Write(M[i,k],' ');
end;
Writeln
end;
for k:=1 to 10 do
s:=M[k,k]+s;
WriteLn('Сумма диагонали равна: ',s);
END.
Программа: Наибольший элемент в двумерном массиве
Задача: Заполнить двумерный массив положительными или отрицательными числами. В качестве результата вывести наибольший элемент массива из всех строк.
PROGRAM naibelmass;
var i,k,s :integer;
M :array[1..10,1..10] of integer;
BEGIN
Randomize;
s:=0;
for i:=1 to 10 do
begin
for k:=1 to 10 do
begin
M[i,k]:=random(10);
Write(M[i,k],' ');
end;
Writeln
end; // Забитие и вывод массива
for i:=1 to 10 do
begin
for k:=1 to 10 do
begin
if M[i,k]>s then s:=M[i,k]
end;
end; // Проверка если больше...
WriteLn('Самый большой элемент массива: ',s);
END.
Программа: Количество положительных элементов в двумерном массиве
Задача: Заполнить двумерный массив положительными и отрицательными числами. Вывести количество положительных элементов массива во всех строках. Использовать массив размерностью 3 на 3.
PROGRAM kolpolog;
var i,k,s :integer;
M :array[1..3,1..3] of integer;
BEGIN
Randomize;
s:=0;
for i:=1 to 3 do
begin
for k:=1 to 3 do
begin
M[i,k]:=-random(19)+10;
Write(M[i,k],' ');
if M[i,k]>0
then s:=s+1;
end;
Writeln
end; // Забитие и вывод массива
WriteLn('Количество положительных элементов во всех строках = ',s); // Положительные числа
END.
Программа: Смена первого и последнего элементов двумерного массива
Задача: Заполнить двумерный массив. Поменять местами первый и последний элементы.
PROGRAM perviiposlednii;
var i,k,s :integer;
M :array[1..10,1..10] of integer;
BEGIN
Randomize;
s:=0;
for i:=1 to 10 do
begin
for k:=1 to 10 do
begin
M[i,k]:=random(10);
Write(M[i,k],' ');
end;
Writeln
end; // Забитие и вывод массива
s:=M[1,1];
M[1,1]:=M[10,10];
M[10,10]:=s; // Замена 1 и 10
Writeln;
for i:=1 to 10 do
begin
for k:=1 to 10 do
begin
Write(M[i,k],' ');
end;
Writeln
end; //Снова вывод
END.
Программа: Вставка столбца из нулей в двумерный массив
Задача: Заполнить двумерный массив. Вставить столбец из нулей вместо случайно выбранного столбца.
PROGRAM nuli;
var i,k,s :integer;
M :array[1..3,1..3] of integer;
BEGIN
Randomize;
s:=random(4);
for i:=1 to 3 do
begin
for k:=1 to 3 do
begin
M[i,k]:=random(10);
Write(M[i,k],' ');
end;
Writeln
end; // Забитие и вывод массива
WriteLn(s,' - Случайное число ');
for i:=1 to 3 do
begin
for k:=1 to 3 do
begin
if k=s
then M[i,k]:=0;
Write(M[i,k],' ');
end;
Writeln
end; // Проверка если больше...
END.
