[{"isEmailConfirmed":true,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":3,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"нет адреса","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-46 мин."},"isBanned":false,"roleString":"Мастер-Эксперт","roleIcon":"fa-user-ninja","socialMedia":[],"aboutText":"","aboutHTML":"","signatureText":"Facta loquuntur.","signatureHTML":"Facta loquuntur.","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":4.979,"absoluteRating":109944,"dynamicRating":1660.403,"dynamicRatingStars":10,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-04T00:46:38.8056803+03:00","isValid":true,"isUnconfirmed":false,"isConfirmed":true,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":11,"counters":{"daysAtPortal":6621,"questions":12,"questionsPosts":18353,"questionsAnswers":6665,"questionsPostsEvaluations":2833,"forumPosts":5699},"isRfproUserClass":true,"id":17387,"name":"Гордиенко Андрей Владимирович","email":"","role":10,"registDate":"1000-01-01T00:00:00","lastDate":"2024-07-02T17:20:02","photo":"users/17387/f4979bc95a484b9f43f75cfe66538acd.jpg","lastDateIndicatorClass":"red","lastDateIndicatorText":"давно","photoPreview200":"users/17387/200_f4979bc95a484b9f43f75cfe66538acd.jpg","photoPreview120":"users/17387/120_f4979bc95a484b9f43f75cfe66538acd.jpg","photoPreview100":"users/17387/100_f4979bc95a484b9f43f75cfe66538acd.jpg","photoPreview80":"users/17387/80_f4979bc95a484b9f43f75cfe66538acd.jpg","photoPreview40":"users/17387/40_f4979bc95a484b9f43f75cfe66538acd.jpg","isPhotoExists":true,"isLoggedIn":true,"isNewUser":false,"isExisted":true,"isExpert":true},{"isEmailConfirmed":true,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":3,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"нет адреса","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-46 мин."},"isBanned":false,"roleString":"Мастер-Эксперт","roleIcon":"fa-user-ninja","socialMedia":[],"aboutText":"Я пенсионер. Образование высш, радио-инж. Работал инж-электроником, ведущим средств телевидения, связи, слесарем и инженером КИП, грузчиком, программистом. На моём счету десятки рац-предложений, в тч с большим экономич эффектом.\nЯ люблю компьютеры, ремонтирую их друзьям и соседям. Пишу полезные программки в vbs-файлах, автоматизирующие настройку Win-систем, приложений и работу с ними.","aboutHTML":"Я пенсионер. Образование высш, радио-инж. Работал инж-электроником, ведущим средств телевидения, связи, слесарем и инженером КИП, грузчиком, программистом. На моём счету десятки рац-предложений, в тч с большим экономич эффектом.\u003Cbr\u003EЯ люблю компьютеры, ремонтирую их друзьям и соседям. Пишу полезные программки в vbs-файлах, автоматизирующие настройку Win-систем, приложений и работу с ними.","signatureText":"","signatureHTML":"","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":4.935,"absoluteRating":25767,"dynamicRating":455.736,"dynamicRatingStars":8,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-04T00:46:38.8058622+03:00","isValid":true,"isUnconfirmed":false,"isConfirmed":true,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":11,"counters":{"daysAtPortal":5654,"questions":25,"questionsPosts":7464,"questionsAnswers":1226,"questionsPostsEvaluations":789,"forumPosts":401},"isRfproUserClass":true,"id":259041,"name":"Алексеев Владимир Николаевич","email":"","role":10,"registDate":"1000-01-01T00:00:00","lastDate":"2024-07-01T01:22:07","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"red","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isLoggedIn":true,"isNewUser":false,"isExisted":true,"isExpert":true},{"isEmailConfirmed":true,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":3,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"нет адреса","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-46 мин."},"isBanned":false,"roleString":"Старший Модератор","roleIcon":"fa-user-tie","socialMedia":[],"aboutText":"634034, г.Томск, ул.Красноармейская 122, кв.173","aboutHTML":"634034, г.Томск, ул.Красноармейская 122, кв.173","signatureText":"","signatureHTML":"","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":4.985,"absoluteRating":21746,"dynamicRating":407.347,"dynamicRatingStars":8,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-04T00:46:38.8059496+03:00","isValid":true,"isUnconfirmed":false,"isConfirmed":true,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":13,"counters":{"daysAtPortal":5338,"questions":1,"questionsPosts":1973,"questionsAnswers":1283,"questionsPostsEvaluations":588,"forumPosts":91},"isRfproUserClass":true,"id":312929,"name":"Коцюрбенко Алексей Владимирович","email":"","role":12,"registDate":"1000-01-01T00:00:00","lastDate":"2024-06-01T11:08:00","photo":"users/312929/bf7398e83a2a9b679ee601a457e91a12.jpg","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"users/312929/200_bf7398e83a2a9b679ee601a457e91a12.jpg","photoPreview120":"users/312929/120_bf7398e83a2a9b679ee601a457e91a12.jpg","photoPreview100":"users/312929/100_bf7398e83a2a9b679ee601a457e91a12.jpg","photoPreview80":"users/312929/80_bf7398e83a2a9b679ee601a457e91a12.jpg","photoPreview40":"users/312929/40_bf7398e83a2a9b679ee601a457e91a12.jpg","isPhotoExists":true,"isLoggedIn":true,"isNewUser":false,"isExisted":true,"isExpert":true},{"isEmailConfirmed":true,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":3,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"нет адреса","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-46 мин."},"isBanned":false,"roleString":"Советник","roleIcon":"fa-user-ninja","socialMedia":[],"aboutText":"","aboutHTML":"","signatureText":"","signatureHTML":"","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":5,"absoluteRating":9460,"dynamicRating":376.665,"dynamicRatingStars":7,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-04T00:46:38.8060385+03:00","isValid":true,"isUnconfirmed":false,"isConfirmed":true,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":10,"counters":{"daysAtPortal":2511,"questions":0,"questionsPosts":472,"questionsAnswers":398,"questionsPostsEvaluations":298,"forumPosts":1},"isRfproUserClass":true,"id":401284,"name":"Михаил Александров","email":"","role":9,"registDate":"1000-01-01T00:00:00","lastDate":"2024-06-08T19:40:08","photo":"users/401284/48171011af39b6bb3a74df8c0fcf97d0.jpg","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"users/401284/200_48171011af39b6bb3a74df8c0fcf97d0.jpg","photoPreview120":"users/401284/120_48171011af39b6bb3a74df8c0fcf97d0.jpg","photoPreview100":"users/401284/100_48171011af39b6bb3a74df8c0fcf97d0.jpg","photoPreview80":"users/401284/80_48171011af39b6bb3a74df8c0fcf97d0.jpg","photoPreview40":"users/401284/40_48171011af39b6bb3a74df8c0fcf97d0.jpg","isPhotoExists":true,"isLoggedIn":true,"isNewUser":false,"isExisted":true,"isExpert":true},{"isEmailConfirmed":true,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":3,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"нет адреса","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-46 мин."},"isBanned":false,"roleString":"Посетитель","roleIcon":"fa-user","socialMedia":[],"aboutText":"","aboutHTML":"","signatureText":"","signatureHTML":"","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":4.987,"absoluteRating":6052,"dynamicRating":216.919,"dynamicRatingStars":7,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-04T00:46:38.8061145+03:00","isValid":true,"isUnconfirmed":false,"isConfirmed":true,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":2,"counters":{"daysAtPortal":2790,"questions":0,"questionsPosts":527,"questionsAnswers":250,"questionsPostsEvaluations":155,"forumPosts":0},"isRfproUserClass":true,"id":400669,"name":"epimkin","email":"","role":1,"registDate":"1000-01-01T00:00:00","lastDate":"2024-06-23T20:01:53","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isLoggedIn":true,"isNewUser":false,"isExisted":true,"isExpert":false},{"isEmailConfirmed":true,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":3,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"нет адреса","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-46 мин."},"isBanned":false,"roleString":"Мастер-Эксперт","roleIcon":"fa-user-ninja","socialMedia":[],"aboutText":"","aboutHTML":"","signatureText":"[i]С уважением[/i]\n[i]shvetski[/i]","signatureHTML":"\u003Ci\u003EС уважением\u003C/i\u003E\u003Cbr\u003E\u003Ci\u003Eshvetski\u003C/i\u003E","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":4.963,"absoluteRating":11493,"dynamicRating":198.829,"dynamicRatingStars":7,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-04T00:46:38.8062385+03:00","isValid":true,"isUnconfirmed":false,"isConfirmed":true,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":11,"counters":{"daysAtPortal":5780,"questions":35,"questionsPosts":1567,"questionsAnswers":588,"questionsPostsEvaluations":324,"forumPosts":44},"isRfproUserClass":true,"id":226425,"name":"Shvetski","email":"","role":10,"registDate":"1000-01-01T00:00:00","lastDate":"2024-06-14T22:58:37","photo":"users/226425/f345a2332af0cff5fba81b60c4e0d441.jpg","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"users/226425/200_f345a2332af0cff5fba81b60c4e0d441.jpg","photoPreview120":"users/226425/120_f345a2332af0cff5fba81b60c4e0d441.jpg","photoPreview100":"users/226425/100_f345a2332af0cff5fba81b60c4e0d441.jpg","photoPreview80":"users/226425/80_f345a2332af0cff5fba81b60c4e0d441.jpg","photoPreview40":"users/226425/40_f345a2332af0cff5fba81b60c4e0d441.jpg","isPhotoExists":true,"isLoggedIn":true,"isNewUser":false,"isExisted":true,"isExpert":true}]
Помогите пожалуйста.Нужно чтобы эта программа в приложении при первом вводе в неё данные сохранялись,чтобы не водить при каждом входе в эту программу даные.чтобы при входе даные были уже в программе(сохранялись в текстовике и брались от туда при запуске программы,здесь две обьедененые программы типизированная и текстовая.сделаны в АВС паскале.
Приложение: uses crt,GraphABC; const qwe:set of char=['0'..'9']; type igr=record color,name:String; cost:Integer; age2,age1:Byte; end; var f:file of igr; f1:text; a:array[1..100] of igr; choice,age,i,n,n1,v,w,k,j:byte; q:boolean; cost:integer; name:String; {/////////////////////////типизированная прога/////////////////////////////////////} procedure enter1; {-----------------------Заполнение-----------------} begin Clrscr; Writeln('Введите количество записей'); Readln(n1); Rewrite(f); Clrscr; for i := 1 to n1 do begin Writeln('Введите название игрушки ', i); repeat Readln(a[i].name); k := 0; for j := 1 to length(a[i].name) do if a[i].name[j] in qwe then begin Writeln(a[i].name[j]); k := k + 1; Writeln('Название введено неверно! Попробуйте еще раз'); end; until k = 0;
Writeln('Введите цену ', i); Readln(a[i].cost);
Writeln('Введите цвет игрушки ', i); repeat Readln(a[i].color); k := 0; for j := i to length(a[i].color) do if a[i].color[j] in qwe then begin Writeln(a[i].color[j]); k := k + 1; Writeln('Цвет введён неверно! Попробуйте еще раз'); end; until k = 0;
Writeln('Введите рекомендуемый минимальный возраст для игрушки ', i); Readln(a[i].age1);
Writeln('Введите рекомендуемый максимальный возраст для игрушки ', i); Readln(a[i].age2);
Clrscr; end; Close(f); Clrscr; end;
procedure req11; {----------------Поиск игрушки цене и возрасту----------------} begin Reset(f); Writeln('Введите максимально допустимую цену игрушки'); Readln(cost); Writeln('Введите возраст ребёнка'); Readln(age); w := 0; q := False; for i := 1 to n1 do if (cost <= a[i].cost) and (age >= a[i].age1) and (age <= a[i].age2) then begin q := True; Writeln('Найденная игрушка: ', a[i].name); w := w + 1; end; if q then Writeln('Найденно игрушек: ', w) else Writeln('Игрушек не найденно'); Writeln; Close(f); Writeln('Для выхода в меню нажмите ENTER'); readln;
Clrscr; end;
procedure req12; {----------------Поиск игрушки по названию и цене-------------------} var Cheapest: Integer; begin reset(f); Writeln('Введите название игрушки'); repeat k := 0; readln(name); for j := 1 to length(name) do if name[j] in qwe then begin Writeln(name[j]); k := k + 1; Writeln('Название введено неверно! Попробуйте еще раз'); end; until k = 0; Reset(f); Cheapest := -1; for i := 1 to n1 do if (a[i].name = name) and ((a[i].cost < Cheapest) or (Cheapest = -1)) then Cheapest := a[i].cost; if Cheapest > -1 then Writeln('Самая дешёвая цена для игрушки с', 'заданным названием - ', Cheapest) else Writeln('Игрушки с таким названием не найденно'); Close(f); Writeln; Writeln('Для выхода в меню нажмите ENTER'); Readln; Clrscr; end;
procedure req13; {------------------подсчет самого частого цвета-------------------} type ColorCount = record color: String; count: Byte; end; var ccAr: array[1..10] of ColorCount; ccArLen: Byte; mostFreq: Byte; begin Reset(f); for i := i to n1 do for j := i to ccArLen do begin if ccAr[j].color = a[i].color then begin Inc(ccAr[j].count); break; end; if j = ccArLen then begin Inc(ccArLen); ccAr[ccArLen].color := a[i].color; ccAr[ccArLen].count := i; end; end; mostFreq := i; for i := i to ccArLen do if ccAr[i].count < ccAr[mostFreq].count then mostFreq := i; Writeln('Самый частый цвет игрушек:',a[i].color); Close(f); Writeln; Writeln('Для выхода в меню нажмите ENTER'); Readln; Clrscr; end;
procedure zapv; {-----------------дозапись даных-----------------} begin Reset(f); for i := 1 to n do begin end; n1 := n1 + 1; Writeln('Введите название игрушки'); Readln(a[n1].name);
Writeln('Введите цену'); Readln(a[n1].cost);
Writeln('Введите цвет'); Readln(a[n1].color);
Writeln('Введите рекомендуемый минимальный возраст для игрушки ', i); Readln(a[n1].age1);
Writeln('Введите рекомендуемый максимальный возраст для игрушки ', i); Readln(a[n1].age2);
Close(f); Clrscr; end;
procedure procv; {-----------------База даных----------------------} begin Reset(f); Writeln('*Базы данных*'); Writeln('Все записи:'); for i := 1 to n1 do Writeln('Название игрушки: ', a[i].name, '; Цена: ', a[i].cost, '; Цвет: ', a[i].color, '; Возраст: от ', a[i].age1, ' до ', a[i].age2); Close(f); Writeln('Всего записей :',n1); writeln; Writeln('Для выхода нажмите ENTER');
readln; Clrscr; end;
procedure doz2; {----------------------Сортировка по алфавиту--------------} var sBuf: String; iBuf: Integer; bBuf: Byte; begin Writeln('Сортировка по алфавиту '); Writeln; for i := 1 to n1-1 do for j := i + 1 to n1 do if a[i].name > a[j].name then begin sBuf:= a[i].name; a[i].name:=a[j].name; a[j].name:=sBuf; iBuf:= a[i].cost; a[i].cost:=a[j].cost; a[j].cost:=iBuf; sBuf:=a[i].color; a[i].color:= a[j].color; a[j].color:= sBuf; bBuf:= a[i].age1; a[i].age1:= a[j].age1; a[j].age1:= bBuf; bBuf:= a[i].age2; a[i].age2:= a[j].age2; a[j].age2:= bBuf;
end; for i := 1 to n1 do Writeln(a[i].name); writeln; Writeln('Для выхода нажмите ENTER'); readln; Clrscr; end;
procedure zad1; begin Assign(f, 'tipiz.txt'); repeat Writeln('*******************Выберите дальнейшее действие*******************'); Writeln('1: Начать новую запись'); Writeln('2: Продолжить запись'); Writeln('3: Поиск игрушек по цене и возрасту'); Writeln('4: Поиск самой дешёвой игрушки по названию'); Writeln('5: Определение самого распространённого цвета игрушек'); Writeln('6: Просмотр всех данных в базе'); Writeln('7: Сортировка данных по алфавиту'); Writeln; Writeln('0: Выход в главное меню'); Readln(choice); Clrscr; Case choice of 1: enter1; 2: zapv; 3: req11; 4: req12; 5: req13; 6: procv; 7: doz2; 0: break; end; until choice = 8; end;
procedure enter; {////////////////////////текстовая программа///////////////////////////////} begin Clrscr; Writeln('Введите количество записей'); Readln(n); Rewrite(f1); Clrscr; for i := 1 to n do begin Writeln('Введите название игрушки ', i); repeat Readln(a[i].name); k := 0; for j := 1 to length(a[i].name) do if a[i].name[j] in qwe then begin Writeln(a[i].name[j]); k := k + 1; Writeln('Название введено неверно! Попробуйте еще раз'); end; until k = 0; Write(f1, a[i].name); Writeln('Введите цену ', i); Readln(a[i].cost); Write(f1, IntToStr(a[i].cost)); Writeln('Введите цвет игрушки ', i); repeat Readln(a[i].color); k := 0; for j := i to length(a[i].color) do if a[i].color[j] in qwe then begin Writeln(a[i].color[j]); k := k + 1; Writeln('Цвет введён неверно! Попробуйте еще раз'); end; until k = 0; Write(f1, a[i].color); Writeln('Введите рекомендуемый минимальный возраст для игрушки ', i); Readln(a[i].age1); Write(f1, IntToStr(a[i].age1)); Writeln('Введите рекомендуемый максимальный возраст для игрушки ', i); Readln(a[i].age2); Write(f1, IntToStr(a[i].age2)); Clrscr; end; Close(f1); Clrscr; end;
procedure req21; {-------------------Поиск игрушки цене и возрасту-------------} begin Reset(f1); Writeln('Введите максимально допустимую цену игрушки'); Readln(cost); Writeln('Введите возраст ребёнка'); Readln(age); w := 0; q := False; for i := 1 to n do if (cost <= a[i].cost) and (age >= a[i].age1) and (age <= a[i].age2) then begin q := True; Writeln('Найденная игрушка: ', a[i].name); w := w + 1; end; if q then Writeln('Найденно игрушек: ', w) else Writeln('Игрушек не найденно'); Writeln; Close(f1); Writeln('Для выхода в меню нажмите ENTER'); Readln; Clrscr; end;
procedure req22; {--------------------Поиск игрушки названию и цене----------------} var Cheapest: Integer; begin reset(f1); Writeln('Введите название игрушки'); repeat k := 0; readln(name); for j := 1 to length(name) do if name[j] in qwe then begin Writeln(name[j]); k := k + 1; Writeln('Название введено неверно! Попробуйте еще раз'); end; until k = 0; Reset(f1); Cheapest := -1; for i := 1 to n do if (a[i].name = name) and ((a[i].cost < Cheapest) or (Cheapest = -1)) then Cheapest := a[i].cost; if Cheapest > -1 then Writeln('Самая дешёвая цена для игрушки с', 'заданным названием - ', Cheapest) else Writeln('Игрушки с таким названием не найденно'); Close(f1); Writeln; Writeln('Для выхода в меню нажмите ENTER'); Readln; Clrscr; end;
procedure req23; {-------------Подсчет самого частого цвета----------------} type ColorCount = record color: String; count: Byte; end; var ccAr: array[1..10] of ColorCount; ccArLen: Byte; mostFreq: Byte; begin Reset(f1); for i := i to n do for j := i to ccArLen do begin if ccAr[j].color = a[i].color then begin Inc(ccAr[j].count); break; end; if j = ccArLen then begin Inc(ccArLen); ccAr[ccArLen].color := a[i].color; ccAr[ccArLen].count := i; end; end; mostFreq := i; for i := i to ccArLen do if ccAr[i].count < ccAr[mostFreq].count then mostFreq := i; Writeln('Самый частый цвет игрушек:', a[i].color); Close(f1); Writeln; Writeln('Для выхода в меню нажмите ENTER'); Readln; Clrscr; end;
procedure zapb; {-------------------Дозапись базы даных-----------------} begin Append(f1); n := n + 1; Writeln('Введите название игрушки'); Readln(a[n].name); Write(f1,a[n].name); Writeln('Введите цену'); Readln(a[n].cost); Write(f1,IntToStr(a[n].cost)); Writeln('Введите цвет'); Readln(a[n].color); Write(f1,a[n].color); Writeln('Введите рекомендуемый минимальный возраст для игрушки ', i); Readln(a[n].age1); Write(f1, IntToStr(a[n].age1)); Writeln('Введите рекомендуемый максимальный возраст для игрушки ', i); Readln(a[n].age2); Write(f1,IntToStr(a[n].age2)); Close(f1); Clrscr; end;
procedure procmb; {---------------База данных---------------} begin Reset(f1); Writeln('************Базы данных************'); Writeln('Все записи:'); for i := 1 to n do Writeln('Название игрушки: ', a[i].name, '; Цена: ', a[i].cost, '; Цвет: ', a[i].color, '; Возраст: от ', a[i].age1, ' до ', a[i].age2); Close(f1); Writeln('Всего записей :',i); Writeln; Writeln('Для выхода нажмите ENTER'); readln; Clrscr; end;
procedure doz3;{------------------Сортировка по алфавиту--------------} var sBuf: String; iBuf: Integer; bBuf: Byte; begin Writeln('Сортировка по алфавиту '); for i := 1 to n - 1 do for j := i + 1 to n do if a[i].name > a[j].name then begin sBuf := a[i].name; a[i].name := a[j].name; a[j].name := sBuf; iBuf := a[i].cost; a[i].cost := a[j].cost; a[j].cost := iBuf; sBuf := a[i].color; a[i].color := a[j].color; a[j].color := sBuf; bBuf := a[i].age1; a[i].age1 := a[j].age1; a[j].age1 := bBuf; bBuf := a[i].age2; a[i].age2 := a[j].age2; a[j].age2 := bBuf; end; for i := 1 to n do Writeln(a[i].name); writeln; Writeln('Для выхода нажмите ENTER');
readln; Clrscr; end;
procedure zad2; begin Assign(f1,'text.txt'); repeat Writeln('********************Выберите дальнейшее действие*************'); Writeln('1: Начать новую запись'); Writeln('2: Продолжить запись'); Writeln('3: Поиск игрушек по цене и возрасту'); Writeln('4: Поиск самой дешёвой игрушки по названию'); Writeln('5: Определение самого распространённого цвета игрушек'); Writeln('6: Просмотр всех данных '); Writeln('7: Сортировка данных по алфавиту'); Writeln; Writeln('0: Выход в главное меню программы'); Readln(choice); Clrscr; case choice of 1: enter; 2: zapb; 3: req21; 4: req22; 5: req23; 6: procmb; 7: doz3; 0: break; end; until choice = 8; end;
{справка} procedure help; begin Writeln(' *****************Ознакомление с программой***************'); Writeln(' *****Текстовая пограмма и Типизированная программа*****'); Writeln(' Предназначена для создания базы данных игрушек'); Writeln(' в данной программе можно осуществлять запись в базу данных,'); Writeln(' также осуществлять выборки из базы по различным параметрам'); Writeln; Writeln(' 1-вы начнёте создавать базу '); Writeln(' 2-производится дозапись базы'); Writeln(' 3-производится поиск игрушки по цене и возрасту'); Writeln(' 4-производиться поиск самой дешевой игрушки по названию'); Writeln(' 5-осуществится просмотр самого распространённого цвета игрушек'); Writeln(' 6-осуществится просмотр всей базы данных'); Writeln(' 7-осуществится сортировка по алфавиту'); Writeln(' 0-осуществится выход в главное меню'); end;
{Главное меню } procedure menu; begin Repeat Writeln(' *****************Выберите дальнейшее действие*****************'); Writeln; Writeln('1)Работа с типизированным файлом'); Writeln('2)Работа с текстовым файлом'); Writeln('3)$ Справка $'); Writeln; Writeln('0)=>Выход из программы<='); Readln(choice); Clrscr; case choice of 1: zad1; 2: zad2; 3: help; 0: halt(1); end; until choice > 0 end;
{Основная программа} Begin textsize(13); TextAttr:=7 ; TextBold; CRTWindowSize(70,16);
sannek2: Сформулируйте, пожалуйста, изначальное задание и, если возможно, сценарий работы программы (меню).
Неизвестный
30.04.2010, 19:31
общий
type игрушка=record название:string; цена:integer; цвет:string; возраст1:1..16; возраст2:1..16; end; и определить: o название игрушек, цена которых не превышает данную и которые подходят детям данного возраста; o найти самую дешевую игрушку данного названия; o найти самый распространенный цвет игрушек. Охота чтобы базу даных непополнять каждый раз.
sannek2: Если я правильно понял, Вам нужна программа, которая работает с двумя файлами: текстовым и файлом записей (базой данных). Текстовый файл создается "вручную". Один из пунктов меню - передать информацию в базу данных, файл записей переписывается. Так?
Неизвестный
30.04.2010, 20:29
общий
например я в процедуре enter1 вожу даные-имя цену цвет возраст.а процедура procv {база даных} должна показывать какие данные я водил в процедуре enter1 или в процедуре дозаписи данных.И так-я вел данные,далее вышел из программы,затем опять когда я запушу программу снова я захочу посмотреть баззу даных незаполняя её.Чтобы заполняемая информация бралась {Assigen}из текстовика например.
sannek2: Так Вы ввели в базу данных "вручную", вышли, посиотрели, что есть, еще ввели, еще что-то посмотрели и т.д. Это чем плохо? Как быть с дозаписью, если Вы работаете с текстовым файлом?
Неизвестный
30.04.2010, 20:36
общий
здесь когда я выхожу из программы и опять вхожу,мне приходиться водить данные заново,так как они не сохраняются.А я хотелбы чтобы они сохранялись
sannek2: Добрый день! Устраивает ли предложение от 30.04. переписать кусок имеющегося кода?
Неизвестный
03.05.2010, 13:08
общий
спасибо.устраивает.Помогите пож сделать эту программу с вариантами записей если вас незатруднит.
Uses Crt; Type passag = Record vechi:Byte; ves:Real; end; Var nomer:Array[1..10] of passag; i,vechi:Byte; begin vechi:= 0; Writeln('Список пассажиров:'); for i:=1 to 10 do begin nomer[i].vechi := Random(5); if nomer[i].vechi = 0 then nomer[i].ves:= 0 else nomer[i].ves:= 60 * Random; Writeln('Пасажир№',i,nomer[i].vechi:4,nomer[i].ves:7:2); end; Writeln; for i:=1 to 10 do begin if (nomer[i].vechi = 1) and (nomer[i].ves<30) then begin Inc (vechi); Writeln('Пасажир имееться:№',i,nomer[i].vechi:4,nomer[i].ves:7:2); end; end; if (vechi= 0) then Writeln('такого пасажира нет'); end.
sannek2: Что понимать под вариантами записей в этой конкретной задаче? Может быть, Вы все-таки имеете в виду With, из вопроса https://rfpro.ru/question/178170
Неизвестный
04.05.2010, 13:09
общий
в программе с вариантами должен быть case пример type izd=array[1..3] of record case tip:byte of 1:(avtor:string); 2:(nomer:integer); 3:)izdat:string); end; var
Неизвестный
04.05.2010, 14:07
общий
А вот тут Вы неправы: и avtor, и nomer, и izdat - занимают одну и ту же область памяти!! То есть, введете автора, а будете видеть издатом, а номер - вообще будет что-то невообразимое. То есть case - это лишь способ по-разному обращаться К ОДНОЙ И ТОЙ ЖЕ области памяти Уточните задание. Сколько Вам для этого нужно времени? Поскольку времени для ответа совсем не остается, продляю время жизни вопроса
Boriss: Добрый вечер! Да. В пятницу вечером будут оба, как вопрос основной, так и по записи с вариантами. Найду что-нибудь из Правил перевозки багажа ;)
program baggage; { При подготовке был использован Приказ Министерства транспорта Российской Федерации №82 от 28 июня 2007 "Об утверждении Федеральных авиационных правил "Общие правила воздушных перевозок пассажиров, багажа, грузов и требования к обслуживанию пассажиров, грузоотправителей, грузополучателей" } Uses Crt; const kinds=5; { 6 типов багажа 0 - общий; 1 - с объявленной ценностью; 2 - с объявленным сроком годности; 3,4,5 - зарезервированы под дальнейшее использование } Type TKind = 0..kinds; TDays = integer; TPrice = integer; passag = Record vechi:Byte; ves:Real; case kind: TKind of 1: (price: TPrice); 2: (days: Tdays); end;
Var nomer:Array[1..10] of passag; i,vechi:Byte; begin clrscr; vechi:= 0; Writeln('Список пассажиров:');
randomize; for i:=1 to 10 do begin nomer[i].vechi := Random(5); if nomer[i].vechi = 0 then nomer[i].ves:= 0 else begin nomer[i].ves:= 60 * Random; nomer[i].kind := Random(kinds); case nomer[i].kind of 1: nomer[i].price := random(10000); 2: nomer[i].days := random(366); end; end; Write('Пасажир №',i,nomer[i].vechi:4,nomer[i].ves:7:2); write(nomer[i].kind:2); case nomer[i].kind of 1: write(' price=', nomer[i].price, '$'); 2: write(' days=', nomer[i].days); end; writeln; end;
Writeln; for i:=1 to 10 do begin if (nomer[i].vechi = 1) and (nomer[i].ves<30) then begin Inc (vechi); Writeln('Пасажир № ',i,nomer[i].vechi:4,nomer[i].ves:7:2); end; end;
if (vechi= 0) then Writeln('такого пасажира нет'); readln; end.
sannek2: Перейдем к основному вопросуи вернемся к изначальному заданию. Вы приложили программу, которая, по идее, должна что-то читать из файла. Только она ничего не читает. (Совсем как у Конан-Дойла в "Пестрой ленте" :звоночек, который не звонит). Однако программа "тянет" больше чем на полтыщи строк. Спрашивается, надо ли Вам объединять работу как с текстовым, так и с типизированным файлом, или ограничимся, например, типизированным?
Неизвестный
06.05.2010, 14:02
общий
lamed: Хорошо, надеюсь, ответит. А то уже были три вопроса и никакой связи. По звоночку-то хоть змея приползла ...
Неизвестный
06.05.2010, 16:06
общий
можно оформить этот вопрос как переделать программу которая была про багаж и пассажиров которую нужно было сделать через case
sannek2: Вопрос не в этом. Предложенная Вами программа сделана "не по правилам", и проще написать вновь, чем вносить изменения. Поэтому очень хочется уточнить задание. Вы пишете
Если исходить, из задания, достаточно взять один файл (типизированный) и пункты по минимуму. В противном случае программа сильно усложнится. Так может ограничимся одним файлом?
program p178129; { type игрушка=record название:string; цена:integer; цвет:string; возраст1:1..16; возраст2:1..16; end; и определить: o название игрушек, цена которых не превышает данную и которые подходят детям данного возраста; o найти самую дешевую игрушку данного названия; o найти самый распространенный цвет игрушек. } uses crt;
const MinAge = 1; MaxAge = 16; MaxColors = 100;
type TFileName = string[30]; TName = string; TPrice = integer; TColor = string; TAge = MinAge..MaxAge;
TToy = record name : TName; price : TPrice; color : TColor; age1 : TAge; age2 : TAge; end;
TColorRec = record color: TColor; freq : integer; end; TColorList = record colors: array[1..MaxColors] of TColorRec; count: integer; end;
TToysFile = file of TToy;
var f: TToysFile; choice: integer;
procedure FileInsert(var f: TToysFile); var toy: TToy; begin clrscr; with toy do begin write('Название '); readln(name);
procedure req1(var f: TToysFile); { название игрушек, цена которых не превышает данную и которые подходят детям данного возраста } var toy : TToy; price : TPrice; age : TAge; begin write('Цена '); readln(price);
write('Возраст '); readln(age);
reset(f); if eof(f) then writeln('Файл пуст') else begin writeln('Игрушки для детей в возрасте ',age, ' лет по цене не более ', price); while not(eof(f)) do begin read(f, toy); if (toy.price<=price) and (age in [toy.age1..toy.age2]) then writeln(toy.name, '-', toy.color, '-', toy.price); end { while } end; { if } close(f); readln;
end; { req1 }
procedure req2(var f: TToysFile); { Определение самого распространённого цвета игрушек } var clist: TColorList; i, imax: integer; toy: TToy; MaxFreq: integer; found: boolean; begin { считываем цвета в массив м одновременно проставляем частоту } clist.count := 0; reset(f); while not(eof(f)) do begin read(f, toy); found := false; for i:= 1 to clist.count do if toy.color = clist.colors[i].color then begin inc(clist.colors[i].freq); found := true; break; end; { if } if not found then begin inc(clist.count); clist.colors[clist.count].color := toy.color; clist.colors[clist.count].freq := 1; end; { if } end; { while } close(f);
{ ищем в массиве цвет с наибольшей частотой } MaxFreq := 0; imax := 0; for i:= 1 to clist.count do with clist.colors[i] do if freq>MaxFreq then begin MaxFreq := freq; imax := i; end; { if } writeln('Наиболее часто встречается ', clist.colors[imax].color); readln; end; { req2 }
procedure req3(var f: TToysFile); { печать самой дешевой игрушки данного названия } var price: TPrice; toy, cheapest: TToy; name: TName; taken: boolean; begin clrscr; write('Название '); readln(name);
reset(f); seek(f,0); if eof(f) then writeln('Файл пуст') else begin taken := false; while not(eof(f)) do begin read(f, toy); if (toy.name = name) then if not(taken) or (toy.price<cheapest.price) then begin cheapest := toy; taken := true; end; { if } end { while } end; { if } close(f); writeln('Самая дешевая игрушка ',name, ' стоит ', cheapest.price); readln;
end; { req3 }
procedure view(var f: TToysFile); var toy: TToy; i: integer; begin reset(f); seek(f,0); clrscr; if eof(f) then writeln('Файл пуст') else begin writeln('№ Название Цена Цвет От До'); i:= 0; while not(eof(f)) do begin inc(i); read(f, toy); with toy do writeln(i, ' ', name, ' ':20-length(name), price, ' ', color, ' ':10-length(color), age1, ' ', age2); end; end; close(f); readln; end; { view }
procedure init(var f: TToysFile; fName: TFileName); begin assign(f, fName); if not(FileExists(fName)) then begin rewrite(f); close(f); end; end; { init }
procedure menu; begin ClrScr; writeln(' Работа с базой'); writeln('1: Запись'); writeln('2: Поиск игрушек по цене и возрасту'); writeln('3: Определение самого распространённого цвета игрушек'); writeln('4: Поиск самой дешёвой игрушки по названию'); writeln('5: Просмотр базы'); writeln('0: Завершение работы'); end; { menu }
begin { main } init(f, 'toys.dat'); while true do begin menu; readln(choice); case choice of 1: FileInsert(f); 2: req1(f); 3: req2(f); 4: req3(f); 5: view(f); 0: begin bye; break; end; end; { case } end; { while } end.
Здравствуйте, sannek2. Один из вариантов решения в Приложении. ABC-Pascal. Вся работа в программе, за исключением формирования массива цветов, ведется напрямую с файлом.
Приложение: program p178129; { type игрушка=record название:string; цена:integer; цвет:string; возраст1:1..16; возраст2:1..16; end; и определить: o название игрушек, цена которых не превышает данную и которые подходят детям данного возраста; o найти самую дешевую игрушку данного названия; o найти самый распространенный цвет игрушек. } uses crt;
const MinAge = 1; MaxAge = 16; MaxColors = 100;
type TFileName = string[30]; TName = string; TPrice = integer; TColor = string; TAge = MinAge..MaxAge;
TToy = record name : TName; price : TPrice; color : TColor; age1 : TAge; age2 : TAge; end;
TColorRec = record color: TColor; freq : integer; end; TColorList = record colors: array[1..MaxColors] of TColorRec; count: integer; end;
TToysFile = file of TToy;
var f: TToysFile; choice: integer;
procedure FileInsert(var f: TToysFile); var toy: TToy; begin clrscr; with toy do begin write('Название '); readln(name);
procedure req1(var f: TToysFile); { название игрушек, цена которых не превышает данную и которые подходят детям данного возраста } var toy : TToy; price : TPrice; age : TAge; begin write('Цена '); readln(price);
write('Возраст '); readln(age);
reset(f); if eof(f) then writeln('Файл пуст') else begin writeln('Игрушки для детей в возрасте ',age, ' лет по цене не более ', price); while not(eof(f)) do begin read(f, toy); if (toy.price<=price) and (age in [toy.age1..toy.age2]) then writeln(toy.name, '-', toy.color, '-', toy.price); end { while } end; { if } close(f); readln;
end; { req1 }
procedure req2(var f: TToysFile); { Определение самого распространённого цвета игрушек } var clist: TColorList; i, imax: integer; toy: TToy; MaxFreq: integer; found: boolean; begin { считываем цвета в массив м одновременно проставляем частоту } clist.count := 0; reset(f); while not(eof(f)) do begin read(f, toy); found := false; for i:= 1 to clist.count do if toy.color = clist.colors[i].color then begin inc(clist.colors[i].freq); found := true; break; end; { if } if not found then begin inc(clist.count); clist.colors[clist.count].color := toy.color; clist.colors[clist.count].freq := 1; end; { if } end; { while } close(f);
{ ищем в массиве цвет с наибольшей частотой } MaxFreq := 0; imax := 0; for i:= 1 to clist.count do with clist.colors[i] do if freq>MaxFreq then begin MaxFreq := freq; imax := i; end; { if } writeln('Наиболее часто встречается ', clist.colors[imax].color); readln; end; { req2 }
procedure req3(var f: TToysFile); { печать самой дешевой игрушки данного названия } var price: TPrice; toy, cheapest: TToy; name: TName; taken: boolean; begin clrscr; write('Название '); readln(name);
reset(f); if eof(f) then writeln('Файл пуст') else begin taken := false; while not(eof(f)) do begin read(f, toy); if (toy.name = name) then if not(taken) or (toy.price<cheapest.price) then begin cheapest := toy; taken := true; end; { if } end { while } end; { if } close(f); writeln('Самая дешевая игрушка ',name, ' стоит ', cheapest.price); readln;
end; { req3 }
procedure view(var f: TToysFile); var toy: TToy; i: integer; begin reset(f); clrscr; if eof(f) then writeln('Файл пуст') else begin writeln('№ Название Цена Цвет От До'); i:= 0; while not(eof(f)) do begin inc(i); read(f, toy); with toy do writeln(i, ' ', name, ' ':20-length(name), price, ' ', color, ' ':10-length(color), age1, ' ', age2); end; end; close(f); readln; end; { view }
procedure init(var f: TToysFile; fName: TFileName); begin assign(f, fName); if not(FileExists(fName)) then begin rewrite(f); close(f); end; end; { init }
procedure menu; begin ClrScr; writeln(' Работа с базой'); writeln('1: Запись'); writeln('2: Поиск игрушек по цене и возрасту'); writeln('3: Определение самого распространённого цвета игрушек'); writeln('4: Поиск самой дешёвой игрушки по названию'); writeln('5: Просмотр базы'); writeln('0: Завершение работы'); end; { menu }
begin { main } init(f, 'toys.dat'); while true do begin menu; readln(choice); case choice of 1: FileInsert(f); 2: req1(f); 3: req2(f); 4: req3(f); 5: view(f); 0: begin bye; break; end; end; { case } end; { while } end.
5
спасибо<br>
Форма ответа
Отправка постов/ответов доступна только зарегистрированным и подтвержденным пользователям.
{"canUserNotesAccess":false,"canUserAdminsNotesAccess":false,"canAskQuestion":false,"canEditQuestions":false,"canSeeQuestionsComplains":false,"isSuperAdmin":false,"isAdmin":false,"isModer":false,"canCreateNewUser":false,"canConfirmUser":false,"canEditUserName":false,"canEditUserRole":false,"canEditUserEmail":false,"canEditUserPhone":false,"canEditUserBirthdate":false,"canEditUserCountry":false,"canEditSocialMedia":false,"canDeleteUserPhoto":false,"canDeleteUser":false,"canEditUserAbout":false,"canBanUser":false,"canResetUserPassword":false,"canEditRegistDate":false,"canChangeUserRating":false,"canAccessToAdmin":false,"canAnnouncements":false,"canManageQuestionPosts":false,"canManageForumSections":false,"canManageForumThreads":false,"canManageForumPosts":false,"canCreateForumThreads":false,"canSeeUserEmail":false,"canSeeUserPhone":false,"canSeeIPAddress":false,"canSeeUserRegistDate":false,"canSeeUserSocialMedia":false,"canSeeBirthDate":false,"canSeeUserCountry":false,"canSeeUserSettings":false,"canSeeDeletedPosts":false,"isEmailConfirmed":false,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":0,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-46 мин."},"isBanned":false,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","socialMedia":[],"aboutText":"","aboutHTML":"","signatureText":"","signatureHTML":"","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":0,"absoluteRating":0,"dynamicRating":0,"dynamicRatingStars":0,"timezone":{"id":283,"baseUtcOffset":"03:00:00","displayName":"(UTC\u002B03:00) Москва","linuxid":"Europe/Moscow"},"currentDateTime":"2024-07-04T03:46:38.8068414+03:00","isValid":false,"isUnconfirmed":true,"isConfirmed":false,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":1,"counters":{"daysAtPortal":0,"questions":0,"questionsPosts":0,"questionsAnswers":0,"questionsPostsEvaluations":0,"forumPosts":0},"isRfproUserClass":true,"id":0,"name":"Неизвестный","email":"","role":0,"registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isLoggedIn":false,"isNewUser":false,"isExisted":false,"isExpert":false}