Программирование операций с массивами данных
Нахождение суммы, произведения и количества элементов массива с помощью программирования. Особенности применения цикла. Перестановка значений без использования дополнительной переменной. Вычисление сложных функций с тригонометрическими операторами.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 26.08.2014 |
Размер файла | 26,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ЗАДАНИЕ:
1. Переставить значения х и у без использования дополнительной переменной;
2. Составить программу, вычисляющую Q при условии, что вводится значение а.
;
;
3. Дано а, b. Найти d:
4. Дано а,b. Найти d=(min(a,b))8
5. Саse Дано целое число в диапазоне 100-999. Вывести строку-описание данного числа, например, 256 - "двести пятьдесят шесть", 814 - "восемьсот четырнадцать".
6. Вычислить:
7. (Char). Пользователь вводит текст, признаком конца которого является точка. Определить каких букв больше в заданном тексте "т", "к" или "р".
8. *Дана последовательность ненулевых вещественных чисел, за которой следует 0 (0 - признак конца последовательности). Вывести на экран порядковые номера элементов, больших заданного числа alfa и их сумму.
9. Найти сумму, произведение и количество элементов массива больших - 2 и меньших 3. а
10. Дано 2 массива а (n) b(n). Найти количество нулевых элементов в двух массивах (используя один цикл).
11. Дано два массива p(n) и r(n) Создать массив z(n) каждый элемент которого равен: zi= 1/pi+2ri. В этом же цикле найти сумму элементов массива z.
12. Известно, что в массиве х(n) есть один элемент = 1. Определить, где он находится и вычислить сумму положительных элементов последующих за ним и стоящих на нечетных местах.
13. Задан одномерный массив а={ai} i=1,n. Найти минимум из чисел cos(ai)+sin(ai).
14. Есть набор книг и учебников для студентов первого курса и количество страниц в каждой книге. Определить порядковый номер самой толстой книги и среднюю толщину книг.
15. Дан двумерный массив a, размером (nm). Заполнить одномерный массив, найдя произведение отрицательных элементов в каждой строке матрицы.
16. Дан двумерный массив a, размером (nm). Найти минимальный элемент в каждом столбце матрицы. Затем каждую строку матрицы умножить на минимальный элемент столбца.
17. Дан двумерный массив a, размером (nn). Упорядочить по возрастанию последнюю строку матрицы.
РЕШЕНИЕ:
1. Переставить значения х и у без использования дополнительной переменной
var x,y: integer;
begin
write (`Введите х и у');
read (x,y);
x:=x+y;
y:=x-y;
x:=x-y;
writeln(`x=',x,' y=',y)
end.
2. Составить программу, вычисляющую Q при условии, что вводится значение а
;
;
var q, x, y, a: real;
begin
write('Введите значение а');
read(a);
y:=(exp(sqr(a)-(ln(a)/ln(10)))*ln(8))/(1+(exp(3*ln(a))));
x:=exp(1/5*(ln(abs(ln(sqr(y)+1)))));
q:=sqr(-sin(sqrt(abs(1-8.2*x))))+exp((cos(x-1)/sin(x-1))*ln(3));
write(q:10:3);
end.
3. Дано а,b. Найти d
var d, a, b, max, min: real;
begin
writeln('Введите значение а, b');
readln(a,b);
if (a>0) then max:=a
else max:=b;
d:=max;
if (a<=0)then min:=a
else min:=b;
d:=min;
write('d=',d)
end.
4. Дано а, b. Найти d
d=(min(a,b))8,
var a, b, d, min: real;
begin
writeln('Ввести значения a,b');
readln(a,b);
if (a>b) then min:=b else min:=a;
d:=exp(8*ln(min));
writeln('d=',d)
end.
5. Саse Дано целое число в диапазоне 100-999. Вывести строку-описание данного числа, например: 256 - "двести пятьдесят шесть", 814 - "восемьсот четырнадцать"
var i:integer; s, d, e:string;
begin
repeat
write('Введите число в диапазоне 100-999 ');
readln(i);
until (i>100) and (i<999);
case i div 100 of
1:s:='сто'; 2:s:='двести'; 3:s:='триста'; 4:s:='четыреста'; 5:s:='пятьсот'; 6:s:='шестьсот';
7:s:='семьсот'; 8:s:='восемьсот'; 9:s:='девятьсот';
end;
if (i mod 100 <20) and (i mod 100>=11) then
case i mod 100 of
11:d:='одинадцать'; 12:d:='двенадцать'; 13:d:='тринадцать'; 14:d:='четырнадцать';
15:d:='пятнадцать'; 16:d:='шестнадцать'; 17:d:='семнадцать'; 18:d:='восемнадцать';
19:d:='девятнадцать';
end
else
begin
case (i div 10) mod 10 of
2:d:='двадцать'; 3:d:='тридцать'; 4:d:='сорок'; 5:d:='пятьдесят'; 6:d:='шестьдесят';
7:d:='семьдесят'; 8:d:='восемдесят'; 9:d:='девяносто';
else
d:='десять';
end;
case i mod 10 of
1:e:='один; 2:e:='два'; 3:e:='три'; 4:e:='четыре'; 5:e:='пять'; 6:e:='шесть'; 7:e:='семь'; 8:e:='восемь'; 9:e:='девять';
end;
end;
writeln(s,' ',d,' ',e);
readln;
end.
6. Вычислить
,
var y: real;
i: integer;
const pi=3.14;
begin
i:=1;
for i:=2 to 4 do
begin
y:=y*sin(pi*i);
end;
writeln('y=',y)
end.
7. Вычислить
,
var x, r: integer;
z, y, pr, sum: real;
begin программирование массив переменная оператор
writeln (`Введите значение z');
readln (z);
pr:=1;
for x:=1 to 5 do
begin pr:=pr*0.5*x; end;
sum:=0;
for r:=3 to 2 do
begin sum:=sum+(exp(r+sqr(r))*ln(z)); end;
y:=z/pr+sum;
writeln ('y=',y)
end.
8. (Char). Пользователь вводит текст, признаком конца которого является точка. Определить каких букв больше в заданном тексте "т", "к" или "р"
var c: char; T,K,R: byte; S: string;
begin
S:=' ';
T:=0;
K:=0;
R:=0;
repeat
c:= readkey;
S:=S+c;
write(c);
until c='.';
While S<>' ' do
begin
case S [1]of
'т': inc(T);
'к': inc(K);
'р': inc(R);
end;
delete(S,1,1);
end;
If T>=K then
if T>=R then writeln('т больше')
else writeln('р больше')
else writeln('к больше');
readln;
end.
9. Дана последовательность ненулевых вещественных чисел, за которой следует 0 (0 - признак конца последовательности). Вывести на экран порядковые номера элементов, больших заданного числа alfa и их сумму
var i: integer;
x, alfa, sum: real;
begin
writeln (`Введите значение ограничения последовательности');
readln (alfa);
sum:=0; i:=1;
repeat
writeln(`Введите число последовательности');
readln (x);
if x>alfa then writeln (`Порядковый номер последовательности', i);
sum:=sum+x;
until x=0;
writeln (`Сумма последовательности',sum)
end.
10. Найти сумму, произведение и количество элементов массива больших - 2 и меньших 3 а
const n=10;
var a: array [1..n]of real;
k,i: integer;
p,s: real;
begin
randomize;
s:=0;
p:=1;
for i:=1 to n do a [i]:=random(8)-4;
if (a [i]>-2) and (a [i]<3) then
begin
s:=s+a [i];
p:=p*a [i];
inc(k);
end;
writeln('Сумма элементов',s, ' произведение элементов',p, ' количество элементов', k)
end.
11. Дано 2 массива а (n) b(n). Найти количество нулевых элементов в двух массивах (используя один цикл)
сonst n=10;
var a,b:array [1..n]of integer;
a0,b0,i:integer;
begin
a0:=0;
b0:=0;
writeln('Исходный массив а:');
for i:=1 to n do
begin
a [i]:=random(8)-4;
write(a [i],' ');
b [i]:=random(8)-4;
if a [i]=0 then inc(a0);
if b [i]=0 then inc(b0)
end;
writeln;
writeln('Исходный массив b:');
for i:=1 to n do
write(b [i],' ');
writeln;
writeln('В массиве a нулей',a0);
writeln('В массиве b нулей',b0)
end.
12. Дано два массива p(n) и r(n) Создать массив z(n) каждый элемент которого равен
zi= 1/pi+2ri.
В этом же цикле найти сумму элементов массива z.
const
n=10;
var
p,r:array [1..n]of integer;
z:array [1..n]of real;
i:integer;
s:real;
begin
s:=0;
for i:=1 to n do
begin
p [i]:=random(10)-5;
r [i]:=random(10)-5;
z [i]:=1/p [i]+2*r [i];
s:=s+z [i];
end;
writeln('Сумма элементов z=',s)
end.
13. Известно, что в массиве х(n) есть один элемент = 1. Определить где он находится и вычислить сумму положительных элементов последующих за ним и стоящих на нечетных местах
const n=50;
var x: array [1..n]of integer;
i,j: integer;
sum:real;
begin
for i:=1 to n do
x [i]:=random(15)-7;
i:=1;
while x [i]<>0 do i:=i+1;
sum:=0;
j:=i+1;
while j<=n do
begin
if (x [i]>0)and(odd(j)) then sum:=sum+x [i];
j:=j+1;
end;
writeln('элемент "1" находится на позиции',i);
writeln('сумма положительных и нечетных элементов',sum);
end.
14. Задан одномерный массив а={ai} i=1,n. Найти минимум из чисел cos(ai)+sin(ai)
const
n=5;
var
a:array [1..n]of integer;
i,min:integer;
begin
for i:=1 to n do
begin
a [i]:=random(8)-4;
write(a [i],' ')
end;
writeln;
min:=a [1];
for i:=2 to n do
if (cos(a [i])+sin(a [i]))<(cos(min)+sin(min)) then
min:=a [i];
writeln('Минимальное значение достигается с элементом: ',min);
writeln('cos(',min,')+sin(',min,')=',cos(min)+sin(min):10:3)
end.
15. Есть набор книг и учебников для студентов первого курса и количество страниц в каждой книге. Определить порядковый номер самой толстой книги и среднюю толщину книг
const n=10;
var a:array [1..n]of integer;
s, Nom, tol: real;
i: integer;
begin
s:=0;
for i:=1 to n do
begin
a [i]:=random(120);
s:=s+a [i];
tol:=s/n;
end;
Nom:=a [1];
for i:=2 to n do
begin
if Nom>a [i]then Nom:=a [i];
end;
writeln ('Средняя толщина книг',tol, 'Номер самой толстой книги ',Nom);
end.
16. Дан двумерный массив a, размером (nm). Заполнить одномерный массив, найдя произведение отрицательных элементов в каждой строке матрицы
сonst n=3; m=4;
var
a:array [1..n,1..m]of integer;
b:array [1..n]of integer;
i,j:integer;
begin
writeln('Исходная матрица:');
writeln('------------------');
for i:=1 to n do
begin
for j:=1 to n do
begin
a [i,j]:=random(8)-4;
write(a [i,j],' ')
end;
writeln
end;
writeln;
for i:=1 to n do
begin
b [i]:=1;
for j:=1 to m do
begin
if a [i,j]<0 then
b [i]:=b [i]*a [i,j];
writeln('Полученный одномерный массив ',b [i]);
end;
end;
end.
17. Дан двумерный массив a, размером (nm). Найти минимальный элемент в каждом столбце матрицы. Затем каждую строку матрицы умножить на минимальный элемент столбца
const
n=3; m=4;
var
a:array [1..n,1..m]of integer;
i,j,min:integer;
pr: real;
begin
writeln('Исходная матрица:');
writeln('------------------');
for i:=1 to n do
begin
for j:=1 to m do
begin
a [i,j]:=random(20)-5;
write(a [i,j],' ')
end;
writeln
end;
writeln;
for i:=1 to n do
begin
min:=a [i,1];
for j:=1 to m do
if a [i,j]<min then
begin
min:=a [i,j];
writeln('min=',min);
pr:=min*a [i,j];
end;
writeln('произведение матрицы на минимальный элемент ',pr);
end.
18. Дан двумерный массив a, размером (nn). Упорядочить по возрастанию последнюю строку матрицы
const n=10;
var a:array [1..n,1..n]of real;
min, temp: real;
n_min,i,j: integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
a [i,j]:=random (10)-5;
end;
for j:=1 to n-1 do
begin
min:= 1000;
for i:=j to n do
begin
if a [10,j]<min then
begin
min:=a [10,j];
n_min:=i;
end;
end;
temp:=a [10,n_min];
a [10,n_min]:=a [10,j];
a [10,j]:=temp;
end;
for i:=1 to n do
begin
for j:=1 to n do
write (a [i,j], ' ');
writeln;
end;
end.
Размещено на Allbest.ru
Подобные документы
Вычисление значений выражений при вещественных типах данных float и double. Нахождение суммы элементов, используя оператор цикла. Вычисление функций с разложением в степенной ряд. Работа со строками. Обработка массивов с использованием функций.
лабораторная работа [24,3 K], добавлен 09.02.2010Перевод числа из десятичной системы счисления в двоичную. Результат выполнения в TURBO PASKAL заданных функций и операций. Программа вычисления значений функции на языке PASKAL, блок-схема. Вычисление суммы и произведения всех элементов массива.
контрольная работа [66,6 K], добавлен 15.02.2013Составление программы разветвляющейся структуры для вычисления заданной функции. Нахождение произведения чётных и нечётных первых чисел натурального ряда. Приёмы программирования обработки одномерных массивов. Расчет суммы положительных элементов массива.
контрольная работа [1,3 M], добавлен 20.12.2012Основные типы циклов программирования. Методы применения специальных функций break, continue и цикла while. Обработка массивов информации. Условия применения циклических алгоритмов на языке программирования С++. Инициализация одномерного массива.
курсовая работа [1,7 M], добавлен 06.01.2014Вычисление суммы положительных элементов массива. Упорядочивание элементов массива по убыванию. Решение задачи с помощью алгоритма, реализованного в среде Microsoft Visual 2008 Express. Реализация и тестирование программы. Выполнение трассировки функций.
практическая работа [146,3 K], добавлен 23.01.2015Работа в Pascal, теория рядов. Главные признаки сходимости знакоположительных рядов. Общее понятие о ряде Тейлора. Вычисление конечной суммы факториального ряда для заданного массива значений. Исходный текст программы. Результаты выполнения программы.
контрольная работа [1,6 M], добавлен 06.08.2013Выведение значения элементов массива, которые удовлетворяют неравенству. Подсчет количества отрицательных элементов массива. Изменение исходного массива. Тестирование программы. Проверка её работоспособности. Реакция программы на сообщение об ошибке.
лабораторная работа [1,3 M], добавлен 23.11.2014Вычисление выражений, использование стандартных функций; работа с графикой. Порядок действий при вычислении, способы ввода данных с клавиатуры. Построение таблиц функций. Организация циклов в программе, итерационные процессы. Работа с массивами чисел.
контрольная работа [614,7 K], добавлен 16.09.2012Работа с одномерными и двухмерными массивами: составление функций нахождения заданных элементов, их количества и суммы под и над главной диагональю, поиск среднего арифметического. Составление блок-схемы, написание текста программы, его тестирование.
контрольная работа [52,0 K], добавлен 27.12.2010Особенности работы с массивами с помощью MS Excel. Вычисление определителей матриц, произведения матриц и матрицы на вектор. Скалярное произведения найденных векторов. Поиск обратных матриц. Решение системы линейных уравнений, проверка найденных решений.
лабораторная работа [270,9 K], добавлен 05.06.2015