Автор работы: Пользователь скрыл имя, 13 Ноября 2010 в 18:25, Не определен
решение задач с массивами
Колледж
Экономики и информационных технологий
Отчет
по учебной практике
Дисциплина:
Основы алгоритмизации.
Выполнила: Гавриляченко Н.
Группа Г-121
Уральск,
2009
Одномерные массивы.
Организация
ввода и вывода
данных
Вариант- 6.
Задание 1.
Организовать ввод и вывод одномерного массива А1..А10 из вещественных чисел с помощью формулы А[i]:=cos(i +2i+1).
program p1;
var a:array [1..10] of integer;
i:integer;
begin
for i:=1 to 10 do a[i]:=cos(sqr(i)+2*i+1)
for i:=1 to 10 do
writeln ('a[',i,']=',a[i]);
readln;
end.
Задание 2.
Напишите программу,
которая сначало вводит 15 чисел,
складывает отдельно элементы с четными
номерами и складывает отдельно нечетные
элементы и выдает полученные результаты.
Program p1;
Var a: array [1..15] of integer;
i,j,k,n:integer;
Begin
For i:=1 to 15 do
Read(a[i]);
For i:=1 to 15 do
Write(' ',a[i]);
For i:=1 to 15 do
Begin
If i mod 2=0 then k:=k+a[i];
If i mod 2=1 then n:=n+a[i];
End;
WriteLn('k=',k);
Writeln('n=',n);
Readln;
End.
Задание 3. Организовать
одномерный массив из 20 целых чисел. Найти
сумму всех квадратных элементов в массиве
и вывести на экран.
program p2;
uses crt;
var a:array [1..20] of integer;
i,s:integer;
begin clrscr;
writeln ('vvedi 20 chisel');
for i:=1 to 20 do readln (a[i]);
for i:=1 to 20 do a[i]:=sqr(i);
for i:=1 to 20 do writeln ('a[','i',']=',a[i]);
for i:=1 to 20 do
s:=s+a[i];
writeln ('summa vsex kvadratnix elementov=',s);
readln;
end.
Задание 4.
Организовать
одномерный массив путем заполнения
его квадратами чисел от 1 до 10. Найти
сумму чисел кратных 3.
Program p4;
Uses crt;
Var a:array[1..10] of integer;
i,s:integer;
Begin
ClrScr;
Writeln('vvedite 10 chisel');
for i:=1 to 10 do Readln (a[i]);
for i:=1 to 10 do a[i]:=Sqr(i);
For i:=1 to 10 do WriteLn('a[',i,']=',a[i]);
For i:=1 to 10 do
if (a[i] mod 3=0) then
s:=s+a[i];
writeln('s=',s);
Readln;
End.
Задание 5.
Организовать
одномерный массив из 20 чисел. Удвоить
наибольший и наименьший элементы.
Program p6;
Uses crt;
Var a:array[1..20] of integer;
i,max,min:integer;
Begin
ClrScr;
WriteLn('Vvedite massiv');
For i:=1 to 20 do readln(a[i]);
max:=a[1];
For i:=1 to 20 do If a[i]>max then max:=a[i];
max:=max*2;
min:=a[1];
For i:=1 to 20 do If a[i]<min then min:=a[i];
min:=min*2;
Writeln('Maksimalnij element massiva=',max);
Writeln('Minimalnij element massiva=',min);
Readln; End.
Задание 6.
Организовать
массив из 20 чисел. Отсортировать по
возрастанию. Вывести массив до и
после обработки.
Program sortirovka;
Uses crt;
Var a:array[1..20] of integer;
i,j,b,d:integer;
Begin
ClrScr;
Randomize;
For i:=1 to 20 do a[i]:=random(51);
For i:=1 to 20 do Write('a[',i,']=',a[i]:3);
For j:=1 to 19 do
For i:=1 to 19 do
If a[i]>a[i+1] then
Begin
b:=a[i];
a[i]:=a[i+1];
a[i+1]:=b
End;
For i:=1 to 20 do Write('a[',i,']=',a[i]:3);
Readln;
End.
Задание 7
Организовать
одномерный массив из 15 чисел. Первые 7
чисел отсортировать по возрастанию,
последние 7 чисел по возрастанию. Вывести
массив до и после обработки.
Program p8;
Uses crt;
Var a:array [1..15] of integer;
i,j,t,b:integer;
Begin
ClrScr;
For i:=1 to 15 do ReadLn(a[i]);
For j:=1 to 7 do
Begin
t:=j;
For i:=j to 7 do
If a[i]<a[t] then
t:=i;
b:=a[t];
a[t]:=a[j];
a[i]:=b; End;
For j:=9 to 15 do
Begin
t:=i;
For i:=j to 15 do
If a[i]<a[t] then
t:=i; b:=a[t]; a[t]:=a[j];
a[j]:=b; End;
For i:=1 to 15 do
Write(' ',a[i]); End.
Задание 8.
В одномерном массиве
целых чисел определить минимальный
элемент, заменить его на 0. Стоящие
за ним элементы на 6.
Program p2;
Var a: array [1..10] of integer;
i,min,j,t:integer;
begin
Writeln ('vvedite massiv');
For i:=1 to 10 do Readln(a[i]);
For j:=1 to 10 do
begin
min:=a[1];
t:=1;
for i:=2 to 10 do
If a[i] <min: =a[i];
t:=i; End;
a[t]:=0;
for i:=t+1 to 10 do
a[i]:=6;
for i:=1 to 10 do
Writeln('a[',i,']=',a[i]);
Readln; End.
Задание 9.
Организовать одномерный массив целых положительных чисел. Найти среднее арифметическое, определить количество элементов, больших этого среднего.
Program p3;
Uses crt;
Var a :array[1..10] of integer;
i,s,n:integer;
sa,sg:real;
Begin
ClrScr;
Writeln ('vvedite massiv');
Begin
For i:=1 to 10 do Readln(a[i]);
End;
For i: =1 to 10 do
s:=s+a[i];
sa:=s/5;
For i:=1 to 10 do
If a[i]>sa then
Begin
n:=n+1;
End;
Writeln ('srednee arifmeticheskoe=', sa:3:2);
Writeln ('V massive',n,'elementov
bolshih sred.arifmetich'); Readln; End.
Задание 10.
Организовать
массив. Определить среднее арифметическое
и геометрическое, сравнить их между собой,
если ср. арифметическое>ср. геометрического,
то прибавить к каждому элементу массива
2, если ср. геометрическое>ср. арифметического,
то умножить на 2.
Program p4;
Uses crt;
Var a :array[1..10] of integer;
c,n:real;
i:integer;
Begin
ClrScr;
Writeln('vvedite massiv');
for i:=1 to 10 do readln(a[i]);
for i:=1 to 10 do
c:=(c+a[i]);
c:=c/10;
for i:=1 to 10 do
n:=sqr(10);
if c>n then for i:=1 to 10 do
a[i]:=a[i]+2 else if n>c then for i:=1 to 10 do a[i]:=a[i]*2;
Writeln('c=',c,' n=',n);
Readln;
End.
Задание 11.
Дан массив 10 целых
чисел. Отсортируйте его, найдите в нем
контрольное число. Все элементы до контрольного
числа замените на противоположные.
Program p5;
Uses crt ;
Var a:array [1..10] of integer;
c,b,i,t,j:integer;
begin
Writeln('vvedite massiv');
For i:=1 to 10 do Readln(a[i]);
For j:=1 to 10 do
Begin
t:=j;
For i:=j to 10 do
If a[i]<a[t] then t:=i;
b:=a[t];
a[t]:=a[j];
a[j]:=b;
End;
Write('vivesti kontrolnoe chislo b=');
readln(b);
c:=0;
For i:=1 to 10 do
if a[i]=b then c:=i;
If c:=0 then
WriteLn('ravnih b net')
else for i:=1 to c-1 do a[i]:=-a[i];
For i:=1 to 10 do write(a[i]:2);
Readln;
End.
Задание 12.
Дан массив, состоящий
из 20 символов. Отсортировать его
по возрастанию. Ввести 2 числа a и b от
0 до 255. Определить количество элементов,
входящие в отрезок [char(a), char(b)].
Program p6;
Uses crt;
Var a:array[1..10] of integer;
i,j,b,t,c,f:integer;
Begin
Writeln('vvedite 20 elemenyov');
for i:=1 to 20 do Readln(a[i]);
for j:=1 to 20 do
Begin
t:=j;
for i:=j to 20 do
if a[i]<a[t] then t:=i;
b:=a[t];
a[t]:=a[j];
a[j]:=b;
End;
writeln('vvedite 2 chisla c<f');
Readln(c,f);
Writeln('elementi vhodyachie v otrezok [c,f]');
for i:=1 to 20 do
if (a[i]>=c) and (a[i]<=f) then write(a[i]:3);
WriteLn;
For i:=1 to 20 do
Write(' ',a[i]);
Readln;
End.
Задание 13.
Дан одномерный массив из 10 целых чисел. Среди элементов массива найти корни квадратного уравнения x2+5-6=0. Если таковые отсутствуют, то вывести сообщение об этом.
Program P8;
var m:array [1..5] of integer;
p, i:integer;
a,b,c,x1,x2:real;
D:real;
Begin
a:=1;
b:=5;
c:=-6;
D:=b*b-4*a*c;
If D>0 then
begin
x1:=(-b+sqrt(D))/(2*a);
Информация о работе Одномерные массивы. Организация ввода и вывода данных