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
| спасибо будет потом, если я буду на месте и хоть чем-то помогу
|
|
| |
|