byot pole s 1 hoda 3 8 3 6 byot pole s 1 hoda 2 8 3 5 ne byot pole s 1 hoda 1 1 1 7 byot pole s 1 hoda 3 7 3 8 byot pole s 1 hoda 5 8 2 8 byot pole s 1 hoda 7 3 4 5 ne byot pole s 1 hoda 2 6 2 7 byot pole s 1 hoda 3. Задано целое число n: 20  n  99. Напечатать его в словесной форме, например: 31 - тридцать один. Блок-схема: Текст программы: Program odintri; uses crt; var n,m,k: integer; begin clrscr; writeln('vvedite
chislo n ot 20 do 99'); readln(n); m:=n div 10; {Разбиваем двузначное число на два и задаем условия записи} k:=n mod 10; if m=2 then writeln('dvadcat'); if m=3 then writeln('tridcat'); if m=4 then writeln('sorok'); if m=5 then writeln('pyatdesyat'); if m=6 then writeln('shesdesyat'); if m=7 then writeln('semdesyat'); if m=8 then writeln('vosemdesyat'); if m=9 then writeln('devyanosto'); if k=1 then writeln('odin'); if k=2 then writeln('dva'); if k=3 then writeln('tri'); if k=4 then writeln('chetire'); if k=5 then
writeln('pyat'); if k=6 then writeln('shest'); if k=7 then writeln('sem'); if k=8 then writeln('vosem'); if k=9 then writeln('devyat'); readkey; end. Результаты программы: Вводимые данные Выводимые данные 20 dvadcat 31 tridcat odin 42 sorok dva 53 pyatdesyat tri 64 shesdesyat chetire 75 semdesyat pyat 86 vosemdesyat shest 97 devyanosto sem 78 semdesyat vosem 49 sorok devyat 1. Вычислить приближенное значение интеграла по формуле прямоугольников для заданного целого n >
39. Блок-схема: Текст программы: Program dvaodin; uses crt; const n=40; var a,b,f,h,x,p,s: real; i: integer; begin clrscr; a:=0.1; {Задаем пределы интегрирования} b:=0.5; h:=(b-a)/n; {Задаем значения по формуле} s:=0; for i:=1 to n do begin p:=(1-sqr(a+i*h))/(a+i*h+sqr(a+i*h)*( a+i*h)); {Задаем значения по формуле} s:=s+p; end; f:=h*s; writeln(f); readkey; end. Результаты программы: 1.3540421380Е+2. Дана квадратная матрица
A(N,N). Выполнить перестановку строк и столбцов исходной матрицы таким образом, чтобы элементы первой главной диагонали упорядочились по возрастанию. Блок-схема: fuction proVd: procedure zamen: procedure printF: procedure recur: randomize: Текст программы: Program dvadva; uses crt; const n=3; type massiv = array[1 n,1 n] of integer; var mas:massiv; i,j:integer; function proVd(tmp:massiv):boolean; {функция проверяет главную диагональ на правильность к условию
} var toll:boolean; i:integer; begin toll:=true; for i:=1 to n - 1 do if tmp[i,i]>tmp[i+1,i+1] then toll:=false; proVd:=toll; end; procedure zamen(var tmp:massiv;x,y:integer;toll:boolean); {процедура упорядочивает элементы главной диагонали по возрастанию} var t,i:integer; begin for i:=1 to n do if toll then begin t:=tmp[i,x]; tmp[i,x]:=tmp[i,y]; tmp[i,y]:=t; end else begin t:=tmp[x,i]; tmp[x,i]:=tmp[y,i]; tmp[y,i]:=t; end; end; procedure printF(tmp:massiv); {процедура
выводит матрицу на экран} var i,j:integer; begin for i:=1 to n do begin for j:=1 to n do write(tmp[i,j]:4);writeln;end; end; procedure recur(step:integer); { главная рекурсивная процедура, которая перебирает все возможны перестановки столбцов и строк, и если диагональ стала правильной выводит полученный массив и выходит} var i,j:integer; k:integer; begin if step>n then exit; if proVd(mas) then begin printF(mas); readkey; halt; end; for i:=step to n-1 do for j:=i+1 to n do for k:= 0 to 1 do begin if k = 0 then
begin zamen(mas,i,j,true); recur(step+1); zamen(mas,i,j,true); end else begin zamen(mas,i,j,false); recur(step+1); zamen(mas,i,j,false); end; end; end; begin clrscr; randomize; {формируем матрицу случайным образом} for i:=1 to n do for j:=1 to n do mas[i,j]:=random(10); printF(mas); writeln( ); recur(1); readkey; end. Результаты программы: Первоначальные данные Итоговые данные 2 4 8 3 1 3 2 7 9 1 3 3 4 2 8 7 2 9 2.3
Напечатать слова заданной непустой строки в порядке увеличения их длины. Считать, что слова разделены одним или несколькими пробелами или запятой. Блок-схема: Текст программы: Program dvatri; uses crt; var m,k,n,i,j:integer; s,p:string; a:array[1 100]of string; begin clrscr; readln(s); i:=1; for j:=1 to length(s) do begin {Считаем кол-во букв в каждом слове} if s[j]<> then a[i]:=a[i]+s[j]; if ((s[j]=' ') and (s[j+1]<>' '))then i:=i+1; end;
for j:=1 to i do begin for n:=1 to i-1 do begin m:=length(a[n]); {Присваиваем в цикле длину каждого слова новой переменной} k:=length(a[n+1]); if m>k then {Сравниваем длину слов и расставляем в порядке увеличения} begin p:=a[n]; a[n]:=a[n+1]; a[n+1]:=p; writeln(a[j]); end; end; end; readkey; end. Результаты программы: Вводимые данные Выводимые данные 123 1234 1234567 12345 123 1234 12345 1234567 Wert werty wer wertyu we We wer wert werty wertyu Qazxsw edc rfvb gtyhn
Edc rfvb gtyhn qazxsw Odin dva chetitre Dva odin chetire 123456789 12345678 1234567 123456 12345 1234 123 12 1 1 123 1234 12345 123456 1234567 12345678 123456789 Tyugh okm rfgh Okm rfgh tyugh Abc ab abcd Ab abc abcd Za z zaz Z za zaz Ret tero er Er ret tero Koluni step lex Lex step koluni 3.1 Используя множественный тип, описать функцию f(n), подсчитывающую количество гласных букв латинского алфавита в заданной непустой строке (прописные и строчные буквы не различать), и процедуру,
печатающую эту строку без гласных букв и выводящую только первые вхождения каждого символа. Составить программу, использующую описанные процедуру и функцию. Пример: My name is Ann, функция f(x) возвращает 4, а процедура печатает буквы: MNS. Блок-схема: functin posch:
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |