Turbo pascal - Форум
Воскресенье, 04.12.2016, 17:11
Задачи по информатике
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ignorer, KOT_B_MEIIIKE, PASCAL26, atvrider 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » Turbo pascal ([12.06.2011] конкретной темы не знаю)
Turbo pascal
ЛёфкаДата: Понедельник, 06.06.2011, 20:59 | Сообщение # 1
Сержант
Группа: Новичок
Сообщений: 7
[ 0 ]
Статус: Offline
Прошу помочь в решении десяти задач в паскале. Очень нужно. Буду очень благодарен за помощь.

1) Ввести с клавиатуры произвольную последовательность целых чисел (количество вводимых чисел должно задаваться в ходе диалога с программой), используя для ввода цикл с параметром (for-to-do). Отыскать среди чисел последовательности такие, которые по абсолютной величине превосходят некоторое наперед заданное число (число должно задаваться в ходе диалога с программой), и вычислить их среднее арифметическое. Полученное значение вывести на экран.
2) Записать в файл NUM.DAT простые числа из диапазона от 1 до 100. Простое число – число, которое делиться на единицу и само на себя. Вывести содержимое файла на экран и количество простых чисел.
3) Ввести с клавиатуры произвольную последовательность целых чисел (количество вводимых чисел должно задаваться в ходе диалога с программой), используя для ввода цикл с предусловием (while-do). Отыскать среди чисел последовательности такие, которые попадают в указанный диапазон [a,b], и вычислить их среднее арифметическое. Полученное значение вывести на экран.
4) Матрицу 5х5 заполнить целыми положительными числами, вводимыми из файла NUM_5X5.DAT (привести пример программы создания файла NUM_5X5.DAT). Элементы матрицы, находящиеся над дополнительной диагональю, заменить их отрицательными значениями, элементы матрицы, находящиеся под ней, обнулить, а элементы дополнительной диагонали оставить без изменения. Полученную в результате матрицу вывести на экран.
5) Ввести с клавиатуры произвольную последовательность целых чисел (количество вводимых чисел должно задаваться в ходе диалога с программой), используя для ввода цикл с постусловием (repeat-until). Отыскать среди чисел последовательности такие, которые кратны 4 и меньше 100, и вычислить их среднее арифметическое. Полученное значение вывести на экран.
6) Матрицу 3х3 заполнить целыми числами, вводимыми из файла NUM_3X3.DAT (привести пример программы создания файла NUM_3X3.DAT). Элементам матрицы, находящимся над её главной и дополнительной диагоналях, присвоить нулевые значения. Полученную в результате матрицу вывести на экран.
7) Ввести с клавиатуры произвольную последовательность целых чисел (количество вводимых чисел должно задаваться в ходе диалога с программой), используя для ввода цикл с параметром (for-to-do). Отыскать среди чисел последовательности такие, которые кратны 3 и лежат в диапазоне [20,200], и вычислить их сумму. Полученное значение вывести на экран.
8) Матрицу 3х4 заполнить целыми числами, вводимыми из файла NUM_3X4.DAT (привести пример программы создания файла NUM_3X4.DAT). Найти и вывести на экран ее максимальный и минимальный элементы и вычислить их среднее арифметическое.
9) Ввести с клавиатуры квадратную матрицу 5х5, состоящую из целых чисел. Просуммировать элементы матрицы, находящиеся на главной диагонали, и перемножить элементы матрицы – на дополнительной диагонали. Сравнить полученные значения и большее вывести на экран.
10) Разработать программу, которая обеспечивала:
- ввод с клавиатуры N записей (где N задается в ходе диалога с программой);
- заполнение ими одномерного массива. Каждая запись должна иметь структуру:
фамилия – 15 символов, имя – 15 символов, оценка по информатике – целое число в диапазоне от 2 до 5;
- подсчет среднего балла, полученного студентами на экзамене.

Заранее огромное спасибо.
 
KOT_B_MEIIIKEДата: Понедельник, 06.06.2011, 22:30 | Сообщение # 2
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
Code
program n1;
var i,n,p,sch,A:integer;sr:real;
begin
writeln('Vvedite predel: ');read(A);
writeln('Skolko chisel vi hotite vvesti: ');read(n);
wrteiln('Vvodite chisla: ');
sch:=0; sr:=0;
for i:=1 to n do
          begin
          read(p);
          if p<=A then begin
             inc(sch);sr:=sr+p end;
          end;
if sch=0 then sr:=0 else sr:=sr/sch;
writeln(sr);
end.


Code
program n3;
var i,n,p,sch,a,b:integer;sr:real;
begin
writeln('Vvedite nizh i verh predeli: ');read(a,b);
writeln('Skolko chisel vi hotite vvesti: ');read(n);
sch:=0; sr:=0;i:=1;
writeln('Vvodite chisla: ');
while i<=n do
       begin
       read(p);
       if (p<=b) and (p>=a) then begin
          inc(sch);sr:=sr+p end;
       inc(i);
       end;
if sch=0 then sr:=0 else sr:=sr/sch;
writeln(sr);
end.


Code
program n5;
var i,n,p,sch:integer;sr:real;
begin
writeln('Skolko chisel vi hotite vvesti: ');read(n);
sch:=0; sr:=0;i:=1;
writeln('Vvodite chisla: ');
repeat
      read(p);
      if (p<100) and (p mod 4 =0) then begin
         inc(sch);sr:=sr+p end;
      inc(i);
until i>n;
if sch=0 then sr:=0 else sr:=sr/sch;
writeln(sr);
end.


Code
program n7;
var i,n,p,s:integer;
begin
writeln('Skolko chisel vi hotite vvesti: ');read(n);
s:=0;i:=1;
writeln('Vvodite chisla: ');
for i:=1 to n do
     begin
     read(p);
     if (p<=200) and (p>=20) and (p mod 3 =0) then s:=s+p;
     end;
writeln(s);
end.
 
ЛёфкаДата: Понедельник, 06.06.2011, 23:36 | Сообщение # 3
Сержант
Группа: Новичок
Сообщений: 7
[ 0 ]
Статус: Offline
Спасибо большое!А с остальными задачами не получится?
 
KOT_B_MEIIIKEДата: Вторник, 07.06.2011, 09:37 | Сообщение # 4
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
Code
program n2;
label fin;
var t:file of integer;i,j:integer;
begin
assign (t,'/home/vasya/num.dat');
rewrite(t);
for i:=2 to 100 do
             begin
             for j:=2 to round(sqrt(i)) do
                 if (i mod j=0) then goto fin ;
             write(t,i);
             write(i,' ');
fin:
             end;
close(t);
end.


Code
program n4;
var t:file of integer;var i,k,j:integer;
m:array[1..5,1..5] of integer;
begin
assign(t,'/home/vasya/num.dat');
reset(t);
writeln;
for i:=1 to 5 do
       begin
       for j:=1 to 5 do
           begin
           read(t,m[i,j]);
           if (j>6-i) then m[i,j]:=0;
           if (j<6-i) then m[i,j]:=0-m[i,j];
           write(m[i,j]:4);
           end;
       writeln;
       end;
close(t);
end.

кстати проги ввода и вывода файла (для проверки)
Code
program vvod;
const m=5;n=5;
label fin;
var t:file of integer;i,p:integer;
begin
assign (t,'/home/vasya/num.dat');
rewrite(t);
p:=m*n;
for i:=1 to p do
            write(t,random(100));
close(t);
end.

Code
program readfile;
var t:file of integer;i:integer;
begin
assign(t,'/home/vasya/num.dat');
reset(t);
while not eof(t) do
         begin
         read(t,i);
         write(i,' ');
         end;
close(t);
end.

шестая
Code
program n6;
var t:file of integer;var i,k,j:integer;
m:array[1..3,1..3] of integer;
begin
assign(t,'/home/vasya/num.dat');
reset(t);
writeln;
for i:=1 to 3 do
     begin
     for j:=1 to 3 do
         begin
         read(t,m[i,j]);
         if (j=4-i) or (j=i) then m[i,j]:=0;
         write(m[i,j]:4);
         end;
     writeln;
     end;
close(t);
end.
 
KOT_B_MEIIIKEДата: Вторник, 07.06.2011, 10:01 | Сообщение # 5
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
Code
program n8;
var t:file of integer;var i,max,min,j:integer;sr:real;
m:array[1..3,1..4] of integer;
begin
assign(t,'/home/vasya/num.dat');
reset(t);
writeln;
max:=-1;min:=100;
for i:=1 to 3 do
       begin
       for j:=1 to 3 do
           begin
           read(t,m[i,j]);
           if max<m[i,j] then max:=m[i,j];
           if min>m[i,j] then min:=m[i,j];
           write(m[i,j]:4);
           end;
       writeln;
       end;
writeln(max,' ',min);
sr:=(max+min)*0.5;
writeln(sr);
close(t);
end.

Code
program n9;
var i,j,sum,mul:integer;
m:array[1..5,1..5] of integer;
begin
writeln;
sum:=0;mul:=1;
writeln('Vvodite elementi matrici: ');
for i:=1 to 5 do
      begin
      for j:=1 to 5 do
          begin
          read(m[i,j]);
          if i=j then sum:=sum+m[i,j];
          if (6-i=j) then mul:=mul*m[i,j];
          write(m[i,j]:4);
          end;
      writeln;
      end;
if sum>mul then writeln(sum) else writeln(' ',mul);
end.

Code
program n10;
type stud=record
      fam,name:string[15];
      mark:2..5;
      end;
var i,n:integer;m:array[1..100] of stud;sr:real;
begin
writeln;
writeln('Vvodite kol-vo zapisei: '); read(n);
for i:=1 to n do
  with m[i] do begin write('Vvedite dannie o novom studente: ');read(fam,name,mark);sr:=sr+mark end;
sr:=sr/n;
writeln(sr);
  end.
 
ЛёфкаДата: Вторник, 07.06.2011, 12:52 | Сообщение # 6
Сержант
Группа: Новичок
Сообщений: 7
[ 0 ]
Статус: Offline
Извиняюсь за глупый вопрос, но для чего проги для проверки и к каким задачам они?)
 
KOT_B_MEIIIKEДата: Вторник, 07.06.2011, 13:57 | Сообщение # 7
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
Там нужны примеры програм, для создания файла, из которого чиселки в матрицы берутся. Для этого есть файл, в котором program vvod; Там ставишь нужные m и n - и задаёшь требуемое имя файла. Он заполнит его числами от 0 до 99, скока надо штук (всего m*n). Для того чтобы понять правильно ли всё работает (занос в массив и его обработка) есть program readfile; Она выводит на экран числа из созданного тобой файла (опять же нужное имя надо указать).
 
ЛёфкаДата: Вторник, 07.06.2011, 14:05 | Сообщение # 8
Сержант
Группа: Новичок
Сообщений: 7
[ 0 ]
Статус: Offline
Огромное спасибо за помощь!Чем обязан?
 
KOT_B_MEIIIKEДата: Вторник, 07.06.2011, 14:17 | Сообщение # 9
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
ничем)))
 
ЛёфкаДата: Вторник, 07.06.2011, 14:18 | Сообщение # 10
Сержант
Группа: Новичок
Сообщений: 7
[ 0 ]
Статус: Offline
Тогда еще раз огромное спасибо!!!!!!!Выручил!!!!!!!!!а репутацию не могу поднять...не полуется(((
 
KOT_B_MEIIIKEДата: Вторник, 07.06.2011, 14:20 | Сообщение # 11
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
ну и ладно))) у меня её и так больше всех))
 
ЛёфкаДата: Вторник, 07.06.2011, 14:24 | Сообщение # 12
Сержант
Группа: Новичок
Сообщений: 7
[ 0 ]
Статус: Offline
Видать max)))))

Добавлено (07.06.2011, 14:24)
---------------------------------------------
А ты будешь тут 19,06?А то у девушки экзамен по информатике если будет паскаль,то можно будет прислать условие?

 
KOT_B_MEIIIKEДата: Вторник, 07.06.2011, 14:28 | Сообщение # 13
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
ммм... ну буду наверное. Присылай - попробую решить.
 
ЛёфкаДата: Вторник, 07.06.2011, 19:16 | Сообщение # 14
Сержант
Группа: Новичок
Сообщений: 7
[ 0 ]
Статус: Offline
Заранее спасибо!
 
KOT_B_MEIIIKEДата: Вторник, 07.06.2011, 20:59 | Сообщение # 15
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
спасибо будет потом, если я буду на месте и хоть чем-то помогу
 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » Turbo pascal ([12.06.2011] конкретной темы не знаю)
Страница 1 из 11
Поиск:

Copyright MyCorp © 2016