Задания для самостоятельной работы




Рабочая программа учебной практики

 

Направление подготовки – Прикладная информатика

Профиль подготовки - социально-культурная сфера

Квалификация выпускника - бакалавриат

 

Краснодар – 2012

 

Содержание

1.ВВЕДЕНИЕ………………………………………..…..3-4

2.Цели и задачи практики………………………………4

3.Задания и их решения….…….…………....................6

4.Дневник практики…………………………..……...76

5.Рекомендуемая литература.…………………………..78

 

ВВЕДЕНИЕ

 

Так как ЭВМ является "слепым" исполнителем программ, то успешное решение задачи полностью определяется квалификацией программиста.

В общем случае решение задачи на ЭВМ можно разбить на следующие этапы:

- постановка задачи;

- разработка алгоритма;

- составление программы;

- трансляция программы;

- отладка и выполнение программы;

- анализ результатов.

В программировании используется такое определение алгоритма: "алгоритм – это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату".

Алгоритм должен обладать следующими основными свойствами:

- детерминированность (определенность) – при заданных исходных данных обеспечивается однозначность искомого результата;

- массовость – пригодность для задач данного типа при исходных данных, принадлежащих заданному подмножеству;

- результативность – реализуемый вычислительный процесс выполняется за конечное число этапов с выдачей осмысленного результата;

- дискретность – разбиение на отдельные этапы, выполнение которых не вызывает сомнений.

Под программой понимают описание, воспринимаемое ЭВМ и достаточное для решения на ней определенной задачи. Для создания программы используются искусственные языки, называемые языками программирования. ЭВМ, как правило, непосредственно воспринимает и выполняет программы, написанные только на одном из языков программирования – машинном языке для данной ЭВМ. С помощью специальных программ можно получить опосредованное "понимание" других языков. Одна из таких программ – транслятор. Транслятор – это программа, осуществляющая перевод текстов с одного языка на другой, т.е. с входного языка (Паскаль и др..) на машинный язык реальной ЭВМ. Программа, попадающая на вход транслятора, называется исходной, а результат трансляции – объектной программой.

 

 

Цели и задачи практики

  • изучение и освоение методов разработки и приемов эксплуатации информационных систем.
  • подготовка к осознанному и углубленному изучению общепрофессиональных и специальных дисциплин;
  • углубление и систематизация знаний по программному обеспечению информационных систем;
  • подготовка будущего специалиста к самостоятельной трудовой деятельности;
  • формирование умений и навыков по базовым информационным технологиям;
  • приобретение умений и навыков по рабочей профессии «Прикладная информатика в социально-культурной сфере»;
  • развитие профессионального мышления;
  • обеспечение связи практики с теоретическим обучением.
  • формирование умений и навыков по работе на персональном компьютере;
  • приобретение практических умений и навыков по видам деятельности техника – производственно-технологической и организационно-управленческой;

 

 

Задания и их решения

 

Практические задания

Написать представленные задачи в виде текстовых файлов в программе Word и проверить их работоспособность.

Создать на основе решения блок-схему каждой задачи.

1.Составить программу, которая запрашивает возраст ребенка и затем выдает решение о приеме ребенка в школу (возраст ³ 7лет).

 

Program sh;

Var v: integer;

Begin

Write(‘Введите возраст ребенка’);

Readln(v);

If v>=7 then writeln(‘Принимаем в школу’)

else writeln (‘Не принимаем в школу’);

end.

 

начало
конец
v>=7
Ввод v
Прин.
Не прин.
+
-

 


2. Модифицировать данную программу, чтобы ограничить верхнюю границу приема в школу 16 годами.

Program sh;

Var v: integer;

Begin

Write(‘Введите возраст ребенка’);

Readln(v);

If (v>=7) and (v<=16) then writeln(‘Принимаем в школу’)

else writeln (‘Не принимаем в школу’);

end.

начало
Ввод v
v>=7 and v<=16
Не прин.
Прин.
конец
+
-
Прин.

 

 


3.Даны два числа. Меньшее из этих чисел заменить суммой данных чисел, большее - произведением.

Program sh;

Var x, y,s,p: integer;

Begin

Write(‘Введите 2 числа’);

Readln(x, y);

s:=x+y; p:=x*y;

If x>y

then begin y:=s; x:=p; end

else begin x:=s; y:=p; end;

начало
writeln(‘x=’, x);

writeln(‘y=’, y);

end.

Ввод x,y
конец
s:=x+y p:=x*y
x>y
x:=s y:=p
y:=s x:=p
+
-
x= y=

 


4.Составить программу, которая по введенному номеру дня недели выводит на экран его название.

начало
Program days;

Var day:byte;

Begin

Write(‘Введите номер дня недели’);

Ввод day
Readln(day);

Case day of

-
1: writeln(‘Понедельник’);

+
+
 
 
 
2: writeln(‘Вторник’);

Пн
Пн
Пн
3: writeln(‘Среда’);

Ср
4: writeln(‘Четверг’);

-
-
-
5: writeln(‘Пятница’);

+
6: writeln(‘Суббота’);

Вт
7: writeln(‘Воскресенье’)

else writeln(‘Такого дня нет’);

end; end.

 

 

 
 
 
 
Чт
Пт
Сб
Вс
-
-
-
+
+
+
+
Такого дня нет
конец

 

 


5.Составить программу, которая по введенному номеру месяца выводит на экран название времени года.

Program m;

Var k:byte;

Begin

Write(‘Введите номер месяца’);

Readln(k);

Case k of

1, 2, 12: writeln(‘Зима’);

3, 4, 5: writeln(‘Весна’);

6, 7, 8: writeln(‘Лето’);

9, 10, 11: writeln(‘Осень’)

else writeln(‘Такого месяца нет’);

end; end.


 

начало
Ввод k
1,2,12
3,4,5
Весна
-
+
Зима
6,7,8
Лето
9,10,11
Осень
+
+
+
-
-
-
Такого месяца нет
конец

 


6.Вывести на экран таблицу перевода из градусов по шкале Цельсия в градусы по Фаренгейту для значений от 15°С до 30°С с шагом в 1°С. Перевод осуществляется по формуле: F=C*1.8+32.

Program zf;

Var i:integer; f:real;

Begin

Writeln(‘Температура’);

For i:=15 to 30 do

Begin

f:=i*1.8+32;

Writeln(‘по Цельсию’, i, ‘по Фаренгейту’, f:5:2);

End;

End.

начало
Температура
i:=15..30
+
f:=i*1.8+32
по Цельсию, i, по Фаренгейту, f
конец
-

 

 


7. Найти сумму 10 произвольных чисел.

Program z;

Const

N=10;

Var k, x, s: integer;

Begin

k:=0; s:=0; {k- количество введенных чисел}

while k < N do

begin

k:=k+1;

write(‘Введите число’);

readln(x);

s:=s+x;

end;

writeln(‘Сумма чисел равна’, s);

end.


 

начало

k<N
k:=k+1
Ввод x
+
-
N:=10, k:=0, s:=0
s:=s+x
s
конец

 


 


8. В автопарке, имеющем 18 машин марки КАМАЗ, каждый из КАМАЗов перевез за день определенный объем груза. Определить суммарный объем перевозок грузов за день.

Uses wincrt;

Type KAMAZ=array [1..18] of real;

Var

i:integer;

p:KAMAZ;

S:real;

Begin

S:=0;

For i:=1 to 18 do

Begin

Writeln(‘Введите объем перевозок’, I,‘-ой машины, т’);

Readln(p[i]);

S:=S+p[i]; End;

Writeln(‘Суммарный объем перевозок S=’,S:8:2,‘т’);

End.

конец
начало
i:=1..18
S:=0
+
-
Ввод p[i]
S:=S+p[i]
S



9. Известна среднемесячная зарплата всех 16 сотрудников одного отдела. Найти величину наибольшей среднемесячной зарплаты в отделе.

Uses wincrt;

Type ZARPL=array [1..16] of real;

Var

i:integer;

sotr:ZARPL;

max:real;

Begin

For i:=1 to 16 do

Begin

Writeln(‘Введите зарплату ’,I,‘-го сотрудника, руб.’);

Readln(sotr[i]);

End;

max:=sotr[1];

For i:=2 to 16 do

If max<sotr[i] then max:=sotr[i];

Writeln(‘Наибольшая зарплата =’, max:10:2, ‘руб.’);

начало
End.

 

Ввод sort[i]
i:=1..16
+
-
max:=sort[1]

конец
i:=2..16
max:=sort[i]
max
max<sotr[i]
+
-
+
-
конец

 

 


10. Известны результаты экзамена по информатике одной группы из 22 студентов. Определить, сколько студентов сдали экзамен на 4 и 5.

Текст программы:

Type INF=array[1..22] of integer;

Var

stud:INF;

i,p:integer;

begin

p:=0;

for i:=1 to 22 do

begin

stud[i]:=0;

while ((stud[i]<1) or (stud[i]>5)) do

writeln(‘Введите оценку ’,i,’-го студен-та’);

readln(stud[i]);

if stud[i]>3 then p:=p+1;

end;

writeln(‘На 4 и 5 сдали экзамен ’,p,’ сту-дентов’);

end.

 

начало
p:=0
i:=1..22
+
-
stud[i]<1) or (stud[i]>5)
-
+
-
stud[i]:=0
Ввод stud[i]
stud[i]>3
p:=p+1
-
+
-
+
На 4 и 5 сдали экзамен p сту-дентов
конец

 

 


11. Предположим, известны результаты соревнований по стрельбе, в которых принимали участие 9 человек. Расположить данные результаты в порядке возрастания набранных при стрельбе очков.

Type STREL=array[1..9]of integer;

Var

rez:strel;

i,j,s:integer;

Begin

For i:=1 to 9 do

begin

writeln(‘Введите результаты ’,i,’-го участни-ка’);

readln(rez[i]);

end;

for i:=1 to 8 do

for j:=i+1 to 9 do

if rez[i]>rez[j] then

begin

s:=rez[j];

rez[j]:=rez[i];

rez[i]:=s;

end;

writeln(‘Отсортированные по возрастанию результаты:’);

for i:=1 to 9 do write (rez[i]:5,’ ‘);

end.

начало
i:=1..9
+
-
Ввод rez[i]


s:=rez[j], rez[j]:=rez[i], rez[i]:=s,
i:=1..8 j:=i+1..9
+
-
конец
Отсортированные по возрастанию результаты:
rez[i]>rez[j]
+
-
i:=1..9
+
-
rez[i]


12. Задан одномерный массив В (10), заполненный произвольным образом. Подсчитать количество элементов массива, больших заданного числа k.

Var b:array [1..10] of word;

I, k, s: word;

Begin

s:=0;

For i:=1 to 10 do

b[i]:=random(100);

Write(‘Введите число k’);

Readln(k);

For i:=1 to 10 do

If b[i]>k then s:=s+1;

Write(‘Количество элементов’, s);

End.

начало
i:=1..10
+
-
Ввод k
b[i]:=random(100);
s:=0
i:=1..10
b[i]>k
s:=s+1
+
-
+
-
s
конец



13. Определить самую высокую температуру и самый теплый день в мае.

Var t:array [1..31] of integer;

I, max, n: integer;

Begin

For i:=1 to 31 do

Begin

t[i]:=random(30);

Write(b[i], ‘ ‘);

End;

max:=t[1]; n:=1;

For i:=2 to 31 do

Begin

If t[i] > max then max:=t[i]; n:=i;

End;

Write(‘максимальная температура’, max, ‘в’, n, ‘день’);

End.

начало
i:=1..31
t[i]:=random(30)
+
-
b[i]
max:=t[1] n:=1
i:=2..31
+
-
t[i] > max
-
max:=t[i] n:=i
max,n
конец
+



14. Пусть задана матрица А из действительных чисел размера 3х4. Найти наибольший элемент во второй строке данной матрицы.

Type Matr=array[1..3,1..4] of real;

Var max:real;

a:Matr;

i,j:integer;

begin

for i:=1 to 3 do

for j:=1 to 4 do

begin

writeln(‘Введите элемент а[‘,i,’,’,j,’]’);

readln(a[i,j]);

end;

max:=a[2,1];

for j:=2 to 4 do

if max<a[2,j] then max:=a[2,j];

writeln(‘Наибольший элемент второй строки=’,max:8:2);

max:=a[2,1]
max:=a[2,j]
j:=2..4
-
начало
+
i:=1..3 j:=1..4
end.
+
конец
max
-
+
-
max<a[2,j]
a[i,j]

 

 

15. Известны результаты 5 студентов по итогам экзаменов по химии и информатике. Найти фамилии студентов, сдавших оба экзамена на отлично.

Program Sessia;

type PR=array [1..5,1..2]of integer;

Fam=array[1..5]of string[10];

var r:PR;

st:Fam;

i,j:integer;

begin

for i:=1 to 5 do

begin

writeln('Введите фамилию ',i,'-го сту-дента');

readln(st[i]);

writeln('Введите оценку данного сту-дента по химии (от 2 до 5)');

readln(r[i,1]);

writeln('Введите оценку данного сту-дента по информатике (от 2 до 5)');

readln(r[i,2]);

end;

for i:=1 to 5 do

if (r[i,1]=5) and (r[i,2]=5) then writeln('Студент-отличник - ',st[i]);

i:=1..5
end.

-
+
(r[i,1]=5) and (r[i,2]=5)
-
конец
+
st[i]
i:=1..5
+
-
Ввод st[i], r[i,1], r[i,2]
начало


 

 


16. Сформировать таблицу Пифагора (таблица умножения) и вывести ее на экран.

Program Pifagor;

Uses crt;

Var p: array[1..9, 1..9] of integer; i, j:integer;

Begin

Clrscr;

for i:=1 to 9 do

for j:= 1 to 9 do

begin

p[i,j]:= i*j;

write(p[i,j], ‘ ‘);

writeln

end;

end.

i:=1..9 j:=1..9
+
-
конец
начало
p[i,j]:= i*j
p[i,j]

 



17. Задан двумерный массив В(10, 10), заполненный случайными числами из [-10,10]. Найти и вывести на экран те элементы массива, которые

больше заданного числа k.

Program massiv;

Uses crt;

Var b: array[1..10, 1..10] of integer; i, j, k:integer;

Begin

Clrscr;

for i:=1 to 10 do

начало
begin

for j:= 1 to 10 do

begin

b [i,j]:= random(20)-10;

-
i:=1..10 j:=1..10
write(b[i,j], ‘ ‘);

end;

writeln;

end;

+
write(‘Введите число k’);

readln (k);

b [i,j]:= random(20)-10
For i:=1 to 10 do

For j:=1 to 10 do

If b[i, j] >k then write (b[i, j]);

конец
b[i,j]
+
-
b[i, j] >k
+
-
i:=1..10 j:=1..10
Ввод k
b[i,j]
End.

 

18. Дано предложение. Сколько слов является перевёртышами и будет ли это число совершенным.

var i,j,k,l,l1,sum,k1: longint;

a,b,c: string;

d: array [1..60] of longint;

begin

clrscr;

textcolor(11);

write('введите текст: ');

readln(a);

l:=length(a);

if (a[l]<>'.')or(a[l]<>'!')or(a[l]<>'?')

then begin

a[l+1]:=' ';

inc(l);

end

else a[l]:=' ';

for i:=1 to l do if (a[i]=' ')

then begin

l1:=length(b);c:='';

for j:=l1 downto 1 do c:=c+b[j];

if b=c then inc(k);b:='';

end

else b:=b+a[i];

if k=1 then begin

write('совершенное');

readln;halt;

end;

sum:=0;k1:=1;

for i:=1 to k-1 do if k mod i=0 then begin

d[k1]:=i;inc(k1);

end;

for i:=1 to k1-1 do sum:=sum+d[i];

if k=sum then write('совершенное')

else write('не совершенное');

readln;

end.

 


 

for
начало
l:=length(a)
Ввод а
-
+
a[l+1]:=' ', inc(l);
a[l]:=' '
(a[l]<>'.')or(a[l]<>'!')or(a[l]<>'?')
-
+
a[l]:=' '
l1:=length(b),c:=''
j:=11..1
inc(k)
+
+
c:=c+b[j]
-
a[l]:=' '
b:=''
b:=b+a[i];
-

i:=1.. k-1
k mod i=0
+
+
-
-
d[k1]:=i,inc(k1)
i:=1..k1-1
+
-
sum:=sum+d[i]
k=sum
+
-
совершенное
не совершенное
конец
k=1
+
-
совершенное
sum:=0, k1:=1

 

 



19. Найти значение выражения 1*1+2*2+...+n*n

var n,s,i: integer;

begin

write('n = ');

readln(n);

s:=0;

for i:=1 to n do

s:=s+i*i;

writeln('s = ',s);

readln;

end.

 

+
-
конец
s:=0
Ввод n
i:=1.. n
s:=s+i*i
s
начало


20. Найти сумму.

var a,b,s: integer;

begin

clrscr;

write('a=');readln(a);

write('b=');readln(b);

s:=a+b;

write('сумма s=',s);

readln;

end.

 

s:=a+b
s
начало
Ввод a,b
конец

 

 


21. Составить из двух таблиц 3-ю упорядоченную по возрастанию

var a: array [1..10] of longint;

b: array [1..20] of longint;

c: array [1..30] of longint;

n,m,k,l,i,j,min: longint;

begin

clrscr;

write('введ.кол.эл.таб.а n=');readln(n);

write('введ.кол.эл.таб.b m=');readln(m);

for i:=1 to n do

begin

write('a[',i,']=');readln(a[i]);

end;

for i:=1 to m do

begin

write('b[',i,']=');readln(b[i]);

end;

k:=n+m;{кол.эл.таб.с}

(*заносим эл.таб.а в таб.с*)

for i:=1 to n do c[i]:=a[i];

(*заносим эл.таб.в в таб.с*)

for i:=1 to m do c[i+n]:=b[i];

(*упорядочим таб.с[1..k] по возраст*)

for i:=1 to k-1 do

begin

l:=i;{номер мин.}min:=c[i];

for j:=i+1 to k do

if c[j]<min then

begin

min:=c[j];l:=j;

end;

c[l]:=c[i];{меняем местами 1-й и мин.эл.}

c[i]:=min;

end;

for i:=1 to k do writeln('Ответ:c[',i,']=',c[i]);

readln;

начало
end.

 

Ввод n,m
+
-
i:=1.. n
Ввод a[i]


-
k:=n+m
i:=1.. m
+
Ввод b[i]
i:=1.. m
-
+
c[i+n]:=b[i]
i:=1.. n
-
+
c[i]:=a[i]

конец
i:=1.. k
-
+
c[i]
c[l]:=c[i] c[i]:=min
i:=i+1..k
+
l:=i, min:=c[i]
i:=1..k-1
+
c[j]<min
+
min:=c[j], l:=j
-
-


22. Найти максимальное число из трёх

var a,b,c,max: integer;

begin

clrscr;

write('a=');readln(a);

write('b=');readln(b);

write('c=');readln(c);

if (a>b) and (a>c) then max:=a;

if (b>a) and (b>c) then max:=b

else max:=c;

write('max=',max);

readln;

end.

(a>b) and (a>c)
+
max:=a
-
Ввод a,b,c
начало
(b>a) and (b>c)
+
max:=b
-
max:=c
max
конец



23. Найти наибольшее из четырёх чисел.

var a,b,c,d,max,max1,max2: real;

procedure bol2(aa,bb: real; var maxmax: real);

begin

if aa>bb then maxmax:=aa

else maxmax:=bb;

end;

begin

clrscr;

write('введте a,b,c,d через пробел ');

readln(a,b,c,d);

bol2(a,b,max1);

bol2(c,d,max2);

bol2(max1,max2,max);

writeln('max=',max);

readln;

end.

 

1) Блок-схема процедуры:

bol2(aa,bb: real; var maxmax: real)
2)Блок-схема основной программы:

aa>bb
+
maxmax:=aa
maxmax:=bb
-
конец
начало
Ввод a,b,c,d
bol2(a,b,max1)
bol2(c,d,max2)
bol2(max1,max2,max)
max
конец


24. Количествово букв "а" в тексте

uses crt;

var d: string;

n,i: integer;

begin

write('наберите текст ');

readln(d);

n:=0;

for i:=1 to length(d) do

if d[i]='а' then n:=n+1;

write('В тексте а=',n);

readln;

end.

начало
Ввод d
n:=0
i:=1..length(d)
+
-
d[i]='а'
+
-
n:=n+1
n
конец


25. Составить программу определения среднего арифметического

uses crt;

var a: array [1..10] of integer;

s: real;

sum,n,i: integer;

begin

clrscr;

write('n=');readln(n);

for i:=1 to n do

begin

write('a[',i,']=');

readln(a[i]);

начало
end;

sum:=0;

for i:=1 to n do

Ввод n
sum:=sum+a[i];

s:=sum/n;

writeln('ср ариф= ',s);

-
-
i:=1..n
readln;

end.

+
a[i]
+
sum:=0
s
i:=1..n
sum:=sum+a[i];
s:=sum/n
конец



26. Записать программу возвед. числа а в степень n

var a,n,i,p: integer;

begin

clrscr;

write('n=');readln(n);

write('a=');readln(a);

p:=1;

начало
for i:=1 to n do p:=p*a;

write('p=',p);

readln;

Ввод n,a
end.

 

p
p:=1
i:=1..n
p:=p*a
конец
+
-


27. Сост. прог. выч. факториала числа n.

Пример: 5!=1*2*3*4*5

7!=1*2*3*4*5*6*7 }

var f,n,i: integer;

begin

clrscr;

write('n=');readln(n);

f:=1;

for i:=1 to n do f:=f*i;

write('f=',f);

readln;

f:=f*i
f:=1
Ввод n
начало
end.

 

 

конец
f
+
-
i:=1..n


28. Написать программу подсчета количества часов, минут и секунд в данном количестве суток.

uses crt;

var syt,has,min,sec: extended;

begin

clrscr;

write('сут = ');

readln(syt);

has:=24*syt;

min:=60*has;

sec:=60*min;

writeln('часов: ',has:0:0);

writeln('минут: ',min:0:0);

writeln('секунд: ',sec:0:0);

readln;

Ввод syt
начало
end.

 

has:=24*syt min:=60*has sec:=60*min
has, min, sec
конец


29. Составить программу проверки есть ли в тексте буква "s"

var t: string;

i: integer;

ot: boolean;

begin

clrscr;

writeln('введите текст:');readln(t);

ot:=false;

for i:=1 to length(t) do

if t[i]='s' then ot:=true;

if ot=true then write('да')

else write('нет');

readln;

Ввод t
начало
end.

 

i:=1..length(t)
конец
ot:=false
+
-
t[i]='s'
+
-
ot;=true
ot=true
+
-
Да
Нет


30. Найти значение выражения (-натуральное число, а>0, х>0, у=1+(1/(1+(1/1+...1+1/x))..)) n знаков "+"

uses crt;

var x,n,i: integer;

y: real;

begin

clrscr;

write('n=');readln(n);

write('x=');readln(x);

y:=x;

for i:=1 to n do y:=1+1/y;

write('y=',y);

readln;

end.

 

i:=1..n
начало
Ввод n,x
y:=x
y:=1+1/y
y
конец
+
-


31. Найти значение выражения (-нат. число, а>0, х>0, f=sqr(a+sqr(a+sqr(a+..sqr(a))..)) n знаков "+"

 

uses crt;

var a,n,i: integer;

f: real;

begin

clrscr;

write('n=');readln(n);

write('a=');readln(a);

f:=a;

for i:=1 to n do f:=a+sqr(f);

write('f = ',f);

readln;

f:=a+sqr(f)
f:=a
Ввод n,a
начало
i:=1..n
end.

 

 

-
конец
f
+


32. Дано предложение составить программу располагающую слова в порядке убывания длины слов

uses crt;

type slov = array [1..10] of string;

var p,b: string;

s: slov;

i,j,l: integer;

q: boolean;

procedure maxdl(ii,jj: integer;ss: slov; var ll: integer);

var t:integer;m:string;

begin

m:=ss[ii]; { считает max(t) }

ll:=ii; { l-номер max }

for t:=ii+1 to jj do

if length(m)<length(ss[t]) then

begin

m:=ss[t];

ll:=t;

end;

end {maxdl};

begin

clrscr;

write('текст p=');readln(p);

j:=1;

for i:=1 to length(p) do

begin

b:=p[i];

if b=' ' then j:=j+1

else s[j]:=s[j]+b;{ склеивание слова и заносим в таб }

end;

b:='';

for i:=1 to j do

begin

maxdl(i,j,s,l); { находим номер мах элм }

b:=s[i]; { меняем местами мах элм: }

s[i]:=s[l];

s[l]:=b;

end;

for i:=1 to j do write(s[i],' ');

readln;

end.

 


1 Блок-схема процедуры.

конец
t:=ii+1.. jj
Maxdl(ii,jj:integer; ss:slov;var ll:integer)
m:ss[ii], ll:=ii
t:=ii+1.. jj
length(m)<length(ss[t])
m:=ss[t],ll:=t
+
-
-
+


2 Блок-схема основной программы.

конец
i:=1..length(p)
начало
Ввод p
j:=1
b:=p[i]
+
-
b=’’
j:=j+1
s:=s[i]+b
b:=’’
i:=1..j
maxdl(i,j,s,l)
b:=s[i],s[i]:=s[l], s[l]:=b
i:=1..j
s[i]
+
-
-
+
+
-


33. Дана вещ. таблица a[1..n].

Найти кол-во отрицательных элементов таблицы. }

uses crt;

var k,n,i: longint;

a: array [1..10] of longint;

begin

clrscr;

write('n = ');readln(n);

for i:=1 to n do

begin

write('a[',i,']=');readln(a[i]);

end;

for i:=1 to n do

Ввод n
начало
if a[i]<0 then inc(k);

write('k = ',k);

readln;

end.

+
-
i:=1..n
inc(k)
i:=1..n
a[i]<0
a[i]
k
конец
+
-
-
+


34. Найти максимальный элемент таблицы а[1..10]

uses crt;

var a: array [1..10] of longint;

max,i,n: longint;

begin

clrscr;

write('n = ');readln(n);

for i:=1 to n do

begin

a[i]
Ввод n
начало
i:=1..n
write('a[',i,']=');readln(a[i]);

end;

max:=a[1];

for i:=2 to n do

if a[i]>max then max:=a[i];

write('max = ',max);

readln;

end.

 

max:=a[i]
i:=2..n
a[i]>max
max
конец
+
-
-
+
max:=a[1];
+
-


35. Дана таблица [1..n] из целых чисел. Получить элементы, которые находятся между max и min

const L=20

type massiv=array[1..L] of integer;

var tabl:massiv;

n,i,max,min:integer;

begin

writeln(‘>n’);

readln(n);

for i:1 to n do

begin

writeln(i,’й элемент=’);

readln(tabl[i]);

end;

max:=tabl[1];

min:=tabl[1];

for i:=2 to n do

begin

if tabl[i]>max

then max:=tabl[i];

if tabl[i]<min

then min:=tabl[i]

end;

for i:1 to n do

if (tabl[i]>min) and (tabl[i]<max) then

writeln(i,’й элемент=’,tabl[i]);

readln;

end.


 

i:=1..n
начало
Ввод n
max:=tabl[1],min:=tabl[1]
-
+
Ввод tabl[i]
i:=2..n
tabl[i]>max
tabl[i]<min
min:=tabl[i]
max:=tabl[i]
tabl[i],i
(tabl[i]>min) and (tabl[i]<max)
i:=1..n
конец
-
+
-
+
+
-
+
-
-
+


36. Составить программу для определения лежит ли точка (x3;y3),

на прямой проходящей через точки (x1;y1),C(x2;y2)

uses crt;

var v,x1,x2,x3,y1,y2,y3: real;

begin

clrscr;

write('x1=');readln(x1);

write('y1=');readln(y1);

write('x2=');readln(x2);

write('y2=');readln(y2);

write('x3=');readln(x3);

write('y3=');readln(y3);

v:= (x3-x1)*(y2-y1)-(y3-y1)*(x2-x1);

if v=0

then write('лежит')

else write('не лежит');

readln;

end.

 

+
-
начало
Ввод x1,x2,x3,y1,y2,y3
v=0
v:= (x3-x1)*(y2-y1)-(y3-y1)*(x2-x1);
конец
лежит
не лежит


37. Найти номер максимального элемента таблицы а[1..10]

uses crt;

var a: array [1..100] of longint;

k,i,n,max: longint;

begin

Ввод n
max:=a[1];k:=1
конец
i:=1.. n
начало
-
+
k
clrscr;

write('n=');readln(n);



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: