Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Задача №7

Читайте также:
  1. Б) задача
  2. Билет № 26 задача № 20
  3. Билет № 26 задача № 20
  4. Билет № 37 задача № 1
  5. Билет № 37 задача № 1
  6. В чем основная задача самообразования
  7. Важнейшая задача оптовой торговли

Задача №1

Создайте массив А[1..15], заполненного случайными числами от -15 до +30. Дано число X в указанном интервале. Вывести слева от числа X все элементы числового массива меньшие этого числа, а справа - большие его.

 

Задача №2

Введите с клавиатуры пять целочисленных элементов массива X. Выведите на экран значения корней и квадратов каждого из элементов массива

 

Задача №3

Данные о температуре воды на Черноморском побережье за декаду сентября хранятся в массиве T. Минимальная и максимальная температуры составляют 15° и 30°соответсвенно. Определить, сколько за это время было дней, пригодных для купания (Т > 20).

Задача №4

Найти, сколько раз каждый элемент массива целых случайных чисел встречается в массиве. Размерность массива и максимальное значение элементов массива задавать в программе. Дополнительных массивов не создавать.

Задача №5

Дано 20 вещественных чисел. Найти разницу между минимальным и максимальным из них.

Задача №6

Дано 10 вещественных чисел. Определить образуют ли они возрастающую последовательность.

Задача №7

Дано 10 целых чисел. Определить количество положительных чисел, которые делятся без остатка на 3.

 


 

Возведение в квадрат и извлечение корня   Задача:№2 Введите с клавиатуры пять целочисленных элементов массива X. Выведите на экран значения корней и квадратов каждого из элементов массива. Код:
    program sq; var X: array[1..5] of longint; i: integer; Begin Writeln('Введите 5 целых чисел:'); for i:= 1 to 5 do Read(X[i]); Writeln; for i:= 1 to 5 do begin Write('X[',i,']= ',X[i]:5,' '); Write('sqr(',X[i]:5,')= ',sqr(X[i]):10,' '); Writeln('sqrt(',X[i]:5,')= ',sqrt(X[i]):5:5,' '); end; Readln; Readln; End.  

 

 

Вывод массива на экран   Задача: Создайте массив А[1..15], заполненного случайными числами от-15 до 30. Дано число X. Вывести слева от числа X все элементы числового массива меньшие этого числа, а справа - большие его. Код:
    program mb; var A: array[1..15] of integer; X, i: integer; Begin X:= 10; Randomize; for i:= 1 to 15 do begin A[i]:= Random(46)-15; if A[i] < X then write(A[i],' '); {выводим элементы, меньшие Х} end; Write(X, ' '); {сам Х} for i:= 1 to 15 do if A[i] > X then write(A[i],' '); {и элементы больше него} Readln; End.  

 


 

Троичная система   Задача: Дано натуральное n, напечатать в троичной системе счисления все числа от нуля до n. См. также "Системы счисления с основанием k". Код:
  program Three_sys; uses crt; const lim=20; {размер массива} var n, i, p:longint; {n-число} j, r:integer; mas:array[1..lim] of integer; {массив, в котором храниться число в троичной записи} Begin clrscr; Write('Введите n: '); Readln(n); for i:= 0 to n do {перебираем все числа до n} begin p:=i; {сохраняем i в p} for j:= 1 to lim do {цикл по всем элементам массива} begin mas[j]:= p mod 3; {остаток от деления в массив} p:= p div 3; {целое от деления будем дальше делить} end; for j:= 1 to lim do if (mas[j]<>0) then r:=j; {считаем число ненулевых ячеек в массиве} if i= 0 then r:=1; Write(i,' = '); {вывод числа} for j:= 1 to r do {и его троичной записи} Write(mas[r-j+1]); {идем от конца массива} for j:= 1 to lim do mas[lim-j+1]:=0; {обнуляем массив} Writeln; end; Readln; end.  

 


 

Системы счисления   Задача1: подсчитать количество цифр в записи числа n в системе счисления с основанием k. Код:
    program n_in_k_sys; uses crt; var n, p:longint; {n-число} j, r, k:integer; Begin clrscr; Write('Введите n: '); Readln(n); Write('Введите k: '); Readln(k); p:=n; {сохраняем n в p} while p > 0 do begin p:= p div k; {целое от деления будем дальше делить} inc(r); {инкремент или увеличение на 1} end; if n = 0 then r:=1; Write('n в системе счисления с основанием ',k,' займет ',r,' разрядов'); {вывод} Readln; end.     Задача2: вывести представление этого числа на экран в системе k. Описание: Сделаем вывод этого числа на экран. Для его представления будем брать символы из таблицы кодов ASCII(смотри функцию Chr). Эта программа написана на основе "Троичная система". Код:   program n_in_k_sys_2; uses crt; const lim=20; {размер массива} var n, p:longint; {n-число} j, r, k:integer; mas:array[1..lim] of integer; {массив, в котором храниться число в k-ичной записи} Begin clrscr; Write('Введите n: '); Readln(n); Write('Введите k: '); Readln(k); p:=n; {сохраняем n в p} for j:= 1 to lim do {цикл по всем элементам массива} begin mas[j]:= p mod k; {остаток от деления в массив} p:= p div k; {целое от деления будем дальше делить} end; for j:= 1 to lim do if (mas[j]<>0) then r:=j; {считаем число ненулевых ячеек в массиве} if n= 0 then r:=1; Writeln('n в системе счисления с основанием ',k,' займет ',r,' разрядов'); {вывод числа} Write(n,' in 10 = '); for j:= r downto 1 do Write(Chr(mas[j]+48)); {выводим число, кодируя его символами таблицы ASCII} Write(' in ',k); Readln; end.  

 


 

Бархатный сезон   Задача:Задача №3 Данные о температуре воды на Черноморском побережье за декаду сентября хранятся в массиве Определить, сколько за это время было дней, пригодных для купания (Т > 20). Код:
    program Temperature; var i,n: integer; T: array[1..10] of integer; Begin Randomize; for i:= 1 to 10 do begin T[i]:= 15 + Random(15); Write(T[i], ' '); if T[i] > 20 then inc(n); end; Writeln; Write('Дней для купания: ',n); Readln; End.  

 


 

Вычисления   Задача: Даны K,L,P. Вычислить Z=корень квадратный из (L-P2)/L*P; и S=sinZ+K2/cosK Код:
    program klp; var k,l,p: integer; s,z: real; Begin repeat Write('Введите k,p,l: '); Readln(k,p,l); until (p*l <> 0) and ((l- sqr(p))/(l*p) > 0); {чтобы не было деления на 0 и} {подкоренное выражение не меньше 0} z:= sqrt((l- sqr(p))/(l*p)); s:= sin(z) + sqr(k)/cos(k);   Writeln('z= ',z:6:6); Writeln('s= ',s:6:6);   Readln; End.  

 


 

Разложение ln(x) в ряд Тейлора   Задача: Используя разложение в ряд Тейлора найти значение ln(x) с заданной точностью e. Описание: Код:
    program lnx_teilor; var x,stx,lnt,e: real; i,fakt,z: integer; Begin Write('Введите 1 < x < 2: '); Readln(x); Write('Введите точность e: '); Readln(e); stx:= x-1; {x в степени} fakt:= 1; {значение знаменателя} lnt:= 0; {первый элемент в разложении} i:= 1; {счётчик} z:= 1; {знак элемента} while stx/fakt>=e do begin {до тех пор, пока элемент в разложении не меньше точности} lnt:=lnt+z*stx/fakt; inc(i); stx:=stx*(x-1); fakt:=i; z:=z*(-1); {смена знака} end; Writeln('Количество элементов в разложении = ',i); Writeln('Значение ln(',x:6:6,')= ',lnt:6:6); Writeln('Значение компьютера: ',ln(x):6:6); Readln; End.  

 


 

Разложение ex в ряд Тейлора   Задача: Используя разложение в ряд Тейлора найти значение ex с заданной точностью e. Описание: Код:
      program ex_teilor; var x,stx,ex,e: real; i,fakt: integer; Begin Write('Введите x: '); Readln(x); Write('Введите точность e: '); Readln(e); stx:=x; {x в степени} fakt:=1; {значение факториала в знаменателе} ex:=1; {первый элемент в разложении} i:=1; {счётчик} while stx/fakt>=e do begin {до тех пор, пока элемент в разложении не меньше точности} ex:=ex+stx/fakt; inc(i); stx:=stx*x; fakt:=fakt*i; end; Writeln('Количество элементов в разложении = ',i+1); Writeln('Значение e^',x:6:6,'= ',ex:6:6); Writeln('Значение компьютера: ',exp(x):6:6); Readln; End.  

 


 

Разложение гиперболического косинуса в ряд Тейлора   Задача: Используя разложение в ряд Тейлора найти значение ch(x) с заданной точностью e. Описание: Код:
    program ch_teilor; var x,stx,ch,e: real; i,fakt: integer; Begin Write('Введите x: '); Readln(x); Write('Введите точность e: '); Readln(e); stx:= x*x; {x в степени} fakt:= 2; {значение факториала в знаменателе} ch:= 1; {первый элемент в разложении} i:= 2; {счётчик} while stx/fakt>=e do begin {до тех пор, пока элемент в разложении не меньше точности} ch:=ch+stx/fakt; inc(i,2); stx:=stx*x*x; fakt:=fakt*(i-1)*i; end; Writeln('Количество элементов в разложении = ',i div 2 + 1); Writeln('Значение ch(',x:6:6,')= ',ch:6:6); Readln; End.  

 


 

Разложение синуса в ряд Тейлора   Задача: Используя разложение в ряд Тейлора найти значение sin(x) с заданной точностью e. Описание: Код:
    program sin_teilor; var x,stx,sint,e: real; i,fakt,z: integer; Begin Write('Введите x: '); Readln(x); Write('Введите точность e: '); Readln(e); stx:= x; {x в степени} fakt:= 1; {значение факториала в знаменателе} sint:= 0; {первый элемент в разложении} i:= 1; {счётчик} z:= 1; {знак элемента} while stx/fakt>=e do begin {до тех пор, пока элемент в разложении не меньше точности} sint:=sint+z*stx/fakt; inc(i,2); stx:=stx*x*x; fakt:=fakt*(i-1)*i; z:=z*(-1); {смена знака} end; Writeln('Количество элементов в разложении = ',i div 2); Writeln('Значение sin(',x:6:6,')= ',sint:6:6); Writeln('Значение компьютера: ',sin(x):6:6); Readln; End.  

 


 

Сортировка массива I   Задача: Сортировка массива методом пузырька. Описание: Эту сортировку так называют потому, что при обработке массива более "лёгкие" элементы перемещаются вверх. Код:  
    program pyz; const n = 20; var V:array[1..n] of integer; i,j,tmp:integer; begin Randomize; for i:=1 to n do V[i]:= Random(100); Writeln('Исходный массив: '); for i:=1 to n do Write(V[i],' ');   for i:=1 to n-1 do for j:=i+1 to n do if V[i] >= V[j] then begin tmp:= V[i]; V[i]:= V[j]; V[j]:= tmp; end; Writeln; Writeln('Упорядоченный по неубыванию массив: '); for i:=1 to n do Write(V[i],' '); Readln; End. По убыванию элементов: Код: program pyz; const n = 20; var V:array[1..n] of integer; i,j,tmp:integer; begin Randomize; for i:=1 to n do V[i]:= Random(100); Writeln('Исходный массив: '); for i:=1 to n do Write(V[i],' ');   for i:=1 to n-1 do for j:=i+1 to n do if V[i] < V[j] then begin tmp:= V[i]; V[i]:= V[j]; V[j]:= tmp; end; Writeln; Writeln('Упорядоченный по убыванию массив: '); for i:=1 to n do Write(V[i],' '); Readln; End.    
Сортировка массива II   Задача: Сортировка массива c помощью рекурсивной функции, меняющей местами соседние элементы массива Описание: В функции, которая упорядочивает массив имеется флаг, который сбрасывается, когда обнаруживается нарушение порядка. Затем производится перестановка элементов и флаг восстанавливается в истину. Далее, вызовом этой же функции, проверяется следование всех элементов, и если все упорядочено, то функция завершается. Код:  
    program smass; {сортировка массива по возрастанию} uses crt; const N = 20; {размер массива} var A:Array[1..N] of integer; {Массив чисел} i, s: integer; {счетчики} flag: boolean; {флаг}   Procedure SMass; begin {пусть массив упорядочен} flag:= true; {установка флага в истину} for i:= 1 to N - 1 do {проверка массива--} if A[i] > A[i+1] then begin {если i-ый элемент больше (i+1)-го, то} s:= A[i]; {меняем их местами} A[i]:= A[i+1]; A[i+1]:= s; flag:= false; {и флаг ставим в ложь, так как} end; {порядок был нарушен} {если были проведены перестановки, то заново проверяем массив, рекурсивно} if flag = false then SMass; {вызывая эту же процедуру} end;   Begin clrscr; {очистка экрана} Randomize; for i:= 1 to N do begin {задание массива случайными числами} A[i]:=Random(100); {--} Write(A[i], ' '); {вывод на экран} end;   SMass; {вызов процедуры}   Writeln; Writeln; for i:= 1 to N do {вывод упорядоченного массива} Write(A[i], ' '); {--}   readln; End.  
         

 


 


Дата добавления: 2015-07-10; просмотров: 242 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Января 2015 года, 12-е лунные сутки, 11-е солнечные| Перевод числа из десятичной системы счисления в шестнадцатеричную систему счисления

mybiblioteka.su - 2015-2024 год. (0.01 сек.)