![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Roman |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 10 Репутация: ![]() ![]() ![]() |
Здрасте,
извиняюсь за прошлый топик, надеюсь, что такое название темы более информативно, к сожалению места хватило токо на описание 1 задачки. Всего их 5 (есть ещё 3, но с их переводом у меня проблемы). Мне очень нужна ваша помощь. Пожалуста,помогите получить допуск к экзамену, а там я на теории вытяну боле менее положительную оценку. 1.Матрица до 20 рядов и 30колонн(вроде так их называют).Найти, есть ли в матрице зона 4*3 где значения элементов равны. Кол рядов и колон вводится пользователем(процедура), поиск одинаковых элементов-функция. Ввод: Код TYPE MAT=ARRAY[1..20,1..30]of real; VAR N,M:integer; A:MAT; Procedure Matvvod(VAR:MAT;VAR RJAD,KOLON:integer); VAR I,J:integer; BEGIN Write(`vvedi kol rjadov`); readln(RJAD); Write(`kol kolon`); readln(KOLON); for i:=1 to rjad do {спасибо fms} for j:=1 to KOLON do read (A[I,J]); end; _________________- 2.програма читает из текст фаила слово(до 256 букв) и: а)находит кол. повторов заданного 3 значного буквосочетания. б)сообщает чего больше- гласных или согласных букв. в)производит замену 2 одинаковых рядом стоящих гласных, написанных с маленкой буквы, на большие(аа=>АА) Выводит слово в указынное пользователем место и цветом(CRT) на экран.(буквы латинские) _________________ 3. Програма спрашивает у пользователя какоето время и число(не прошедшее) этого года, затем выводит на экран скоко осталось дней, часов,минут до этого момента. ________________ 4. Написать модуль и тест програму для него, который позволяет: октаэдер http://www.tmn.fio.ru/works/22x/307/oktaed...osaedr_tabl.htm http://bammako.narod.ru/octaedr.htm 1) ввод граней 2)вычислить площадь 1 стороны 3)объём 4)диогональ 5)полную площадь _________________ 5.написать графическую программу, которая будет геометр. тело (не круг) как можно плавнее двигать по экрану(анимация). ___________ заранее благодарен Сообщение отредактировано: volvo - 17.12.2004 20:08 |
![]() ![]() |
Roman |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 10 Репутация: ![]() ![]() ![]() |
вот вариант 3 задачки.
Код program prog3; uses dos, crt; var h,h1,m,m1,s,s1,c,d,c1,d1,y,f1,f:word; sum,sum1,sum2:LongInt; i,j,k:integer; z:string; A:array [1..12] of integer; function check(s:string; v:integer; u:integer):integer; var tmp:integer; begin val(z,tmp,j); if j<>0 then writeln('It must be a number'); if ((tmp<v) or (tmp>u)) and (j=0) then writeln('It must be ',v,'..',u); check:=tmp; end; begin ClrScr; GetDate (y,c,d,f); GetTime (h,m,s,f1); A[1]:=31; if (y mod 4)=0 then A[2]:=29 else A[2]:=28; A[3]:=31; A[4]:=30; A[5]:=31; A[6]:=30; A[7]:=31; A[8]:=31; A[9]:=30; A[10]:=31; A[11]:=30; A[12]:=31; writeln ('Enter date.'); repeat write ('month: '); readln (z); c1:=check(z,1,12); until (c1>=1) and (c1<=12) and (j=0); repeat write ('date: '); readln (z); d1:=check(z,1,A[c1]); until (d1>=1) and (d1<=A[c1]) and (j=0); writeln ('Enter time.'); repeat write ('hour: '); readln (z); h1:=check(z,0,23); until (h1>=0) and (h1<=23) and (j=0); repeat write ('minutes: '); readln (z); m1:=check(z,0,59); until (m1>=0) and (m1<=59) and (j=0); repeat write ('seconds: '); readln (z); s1:=check(z,0,59); until (s1>=0) and (s1<=59) and (j=0); sum:=0; for i:=1 to c-1 do sum:=sum+A[i]; sum:=sum+d-1; sum:=sum*3600*24; sum:=sum+h*3600+m*60+s; sum1:=0; for i:=1 to c1-1 do sum1:=sum1+A[i]; sum1:=sum1+d1-1; sum1:=sum1*3600*24+h1*3600+m1*60+s1; sum2:=Abs (sum1-sum); d:=sum2 div 86400; h:=(sum2-d*86400) div 3600; m:=(sum2-d*86400-h*3600) div 60; s:=sum2-d*86400-h*3600-m*60; if sum>sum1 then write ('Time past ',d, ' days ', h, ' hours ', m, ' minutes ', s, ' seconds ') else write ('Time left ',d, ' days ', h, ' hours ', m, ' minutes ', s, ' seconds '); readln; end. |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 3:52 |