Программирование операций с массивами данных

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.