МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • 10 задач с решениями программированием на Паскале

    10 задач с решениями программированием на Паскале

    Задача 1.

    Условие: Найти среднее арифметическое общей совокупности элементов тех

    строк заданной матрицы, последний элемент которых равен 1.

    Программа:

    program S2_Z1;

    type m=array[1..100,1..100] of integer;

    var A:m;

    procedure vvod(m,n:integer;var x:m);

    var i,j: integer;

    begin writeln('введите элементы массива');

    for i:=1 to m do

    for j:=1 to n do

    read(x[i,j]);

    end;

    procedure arf(m,n:integer;var x:m);

    var i,j,s:integer;sr:real;

    begin

    for i:=1 to m do begin s:=0; sr:=0;

    if x[i,n]=1 then begin

    for j:=1 to n do

    s:=s+x[i,j]; sr:=s/n;

    writeln ('среднее арифметическое ',i,' строки равно ',sr:5:2); end; end;

    end;

    begin

    vvod(3,3,A);

    arf(3,3,A);

    end.

    Задача 2.

    Условие: Получить массив Х(n) по правилу: Хi =1, если в i-м столбце

    заданной матрицы есть хотя бы один элемент превышающий заданное значение С,

    иначе Xi=0. Найти общее число элементов, больших С.

    Программа:

    program S2_Z2;

    type m=array[1..100,1..100] of integer; mas=array[1..100] of integer;

    var A:m;

    procedure vvod(m,n:integer;var x:m);

    var i,j: integer;

    begin writeln('введите элементы массива');

    for i:=1 to m do

    for j:=1 to n do

    read(x[i,j]);

    end;

    procedure moped(m,n:integer;var y:m);

    var i,j,c,k:integer; X:mas;

    begin k:=0; writeln('введите величину С='); readln(c);

    for j:=1 to n do x[j]:=0;

    for j:=1 to n do

    for i:=1 to m do

    if y[i,j]>c then begin X[j]:=1; k:=k+1; end;

    writeln('элементы массива Х:');

    for j:=1 to n do write(X[j],' ');

    writeln;

    writeln('число элементов матрици превышающих число ',c,' равно ',k)

    end;

    begin

    vvod(2,5,A);moped(2,5,A);readln;

    end.

    Задача 3.

    Условие: Дан массив A(5,5). Изменить часть матрицы, находящуюся под

    главной диагональю следующим образом: если элемент A[i,j] этой части

    матрицы больше элемента A[j,i], то задать элементу A[i,j] новое значение,

    равное полу сумме двух этих элементов.

    Программа:

    program S2_Z3;

    type m=array[1..100,1..100] of real;

    var A:m;

    procedure vvod(m,n:integer;var x:m);

    var i,j: integer;

    begin

    writeln('введите элементы массива');

    for i:=1 to m do

    for j:=1 to n do

    read(x[i,j]);

    end;

    procedure mat(m,n:integer;var x:m);

    var i,j: integer; t:real;

    begin

    writeln('изменённый матрица A[i,j] будет выглядеть так');

    for i:=1 to m do

    for j:=1 to n do

    if i>j then if x[i,j] > x[j,i] then x[i,j]:=(x[i,j]+x[j,i])/2;

    for i:=1 to m do

    for j:=1 to n do

    write( A[i,j]:2:1,' ');

    end;

    begin

    vvod(5,5,A);

    mat(5,5,A);

    end.

    Задача 4.

    Условие: Определить самую длинную последовательность подряд идущих нулей

    в заданном одномерном массиве.

    Программа:

    program S2_Z4;

    type m=array[1..100] of integer;

    var A:m;

    procedure vvod(m:integer;var x:m);

    var i: integer;

    begin writeln('введите элементы массива');

    for i:=1 to m do

    read(x[i]);

    end;

    procedure moped(m:integer;var x:m);

    var i,k,n:integer;

    begin k:=0;n:=0;

    for i:=1 to m do

    if x[i]=0 then k:=k+1

    else begin

    if x[i-1]=0 then

    if k>n then n:=k;

    k:=0;end;

    if k>n then

    writeln('самая большая последовательность нулей состовляет ',k)

    else

    writeln('самая большая последовательность нулей состовляет ',n);

    end;

    begin

    vvod(20,A); moped(20,A);

    end.

    Задача 5.

    Написать программу, считывающую заданное количество одномерных массивов,

    определяющую минимальный элемент в каждом из них и подсчитывающую

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

    Программа:

    program S2_Z5;

    type m=array[1..100] of integer; mas=array[1..10] of m;

    var A:mas;

    procedure vvod(kn:integer;x:mas);

    var y:m;i,t,k,min,k0:integer;

    begin

    for k:=1 to kn do begin

    k0:=0; min:=1000;

    writeln('введите кол-во эл-ов в ',k,'-ом массиве');read (t);

    writeln('теперь введите элементы этого массива');

    for i:=1 to t do

    read(y[i]);

    for i:=1 to t do

    if y[i]0 do begin k:=k+1;delete(st,pos('мама',st),4); end;

    writeln('кол-во слов мама в ',i,'-ой строке ',k);end;end;

    begin

    vvod(5,A);

    moped(5,A);

    end.

    Задача 7.

    Условие: Дан массив из 7 строк, в каждой из которых не более 50

    элементов. Удалить из каждой строки все пробелы и записать количество

    удалённых пробелов в конец этой строки.

    Программа:

    program S2_Z7;

    type s=string[50]; ms=array[1..100] of s;

    var A:ms;

    procedure vvod(m:integer;var x:ms);

    var i:integer;

    begin

    for i:=1 to m do begin writeln('введите ',i,'-ю строку');

    readln(A[i]);end; end;

    procedure prob(m:integer;var x:ms);

    var i,k:integer;st,p:s;

    begin

    for i:=1 to m do begin

    st:=x[i]; k:=0;

    while pos(' ',st)<>0 do begin delete(st,pos(' ',st),1);k:=k+1;end;

    str(k,p);

    insert(p,st,length(st)+1); writeln(i,'-ая строка:', st);end;

    end;

    begin

    vvod(7,A);prob(7,A);

    end.

    Задача 8.

    Условие: В текстовом файле отсортировать строки по возрастанию их длин.

    Прграмма:

    program S2_Z8;

    type ft=text; mas=array[1..100] of string;

    var f1:ft;k,i,j:integer;s:string;A:mas;

    procedure sozd(var f:ft;n:integer);

    var i:integer; s:string;

    begin assign(f,'c:\1.txt');rewrite (f);

    for i:=1 to n do

    begin writeln('введите ',i,'-ю строку');readln(s);

    writeln(f,s);

    end; close(f);

    end;

    procedure w(var f:ft);

    var s:string;

    begin writeln('измененный фаил будет выглядеть так:');

    reset(f);

    while not eof(f) do begin readln(f,s); writeln(s)

    end; close(f);

    end;

    begin writeln('введите кол-во строк в файле'); readln(k);

    sozd(f1,k);

    reset(f1);

    while not eof(f1) do

    begin for i:=1 to k do begin readln(f1,s); A[i]:=s;end;end;

    for j:=1 to k do

    for i:=1 to k do

    if length(a[i])a[i-1] then begin

    s:=a[i];a[i]:=a[i-1];a[i-1]:=s;end;

    k:=0;

    for i:=1 to n do

    if a[i]=0 then begin s:=a[i];a[i]:=a[n-k];a[n-k]:=s;k:=k+1;end;

    for i:=1 to n do write(buf,a[i]);

    close(buf);close(f);

    erase(f);

    rename(buf,'c:\f.int');

    end;

    procedure w(var f:fi);

    var a:integer;

    begin

    reset(f);

    while not eof(f) do begin

    read(f,a);write(a:4);end;

    end;

    begin

    writeln('Задайте кол-во компонентов файла');readln(n);

    vvod(n,f1);

    sort(n,f1);

    w(f1);

    write;

    end.

    Блок схема:

    Задача 10.

    Условие: Записать в конец каждой строки текстового файла количество слов

    в этой строки.

    Программа:

    program S2_Z10;

    type ft=text; mas=array[1..100] of string;

    var f1:ft;k:integer;

    procedure sozd(var f:ft;n:integer);

    var i:integer; s:string;

    begin assign(f,'c:\f.txt');rewrite (f);

    for i:=1 to n do

    begin writeln('введите ',i,'-ю строку');readln(s);

    writeln(f,s);

    end; close(f);

    end;

    procedure kslov(var f:ft);

    var s,pk,p:string;k:integer; buf:ft;

    begin

    reset(f);

    assign(buf,'c:\buf.txt');

    rewrite(buf);

    while not eof(f) do begin k:=0;readln(f,s);

    p:=s;

    while pos(' ',p)>1 do begin k:=k+1; delete(p,1,pos(' ',p));end;

    str(k,pk);insert(pk,s,length(s)+1); writeln(buf,s);end;

    close(f); close(buf);

    erase(f);

    rename(buf,'c:\f.txt');

    end;

    procedure w(var f:ft);

    var s:string;

    begin writeln('измененный фаил будет выглядеть так:');

    reset(f);

    while not eof(f) do begin readln(f,s); writeln(s)

    end; close(f);

    end;

    begin

    writeln('введите кол-во строк в файле'); readln(k);

    sozd(f1,k); kslov(f1);w(f1);

    end.

    Блок схема:


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.