Главная страница
Случайная страница
Разделы сайта
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Описание алгоритма задачи
На рис 2.3- 2.8 представлены схемы обобщённого алгоритма задачи «Получение сведений о результативности футболистов» и алгоритмов отдельных её процедур. Смысл используемых в них условных обозначений приведён в таблицу 2.1. Обобщённый алгоритм описывается в основной программе. Алгоритмы отдельных процедур – в соответствующих подпрограммах (см. 2.1).
Таблица 2.1 Описание идентификаторов
Название процедуры
(функции)
| Переменная типа integer, хранит в себе число элементов в промежуточном массиве
| Переменная типа kol_gol, хранит в себе запись, считанную из файла
| Переменная типа boolean, хранит в себе результат проверки введённого запроса на наличие символов, отличающихся от цифр
| Переменная типа boolean, хранит в себе результат проверки введённого запроса на наличие отрицательного знака
| Переменная типа integer - номер неправильного символа при преобразовании с помощью процедуры Val
| Переменные типа integer - счётчики циклов
| Переменная типа string, хранит в себе запрос (минимальное количество голов)
| Переменная типа boolean, хранит в себе результат проверки введённого запроса на корректность
| Переменная типа integer, хранит в себе преобразованный в формат целого числа запрос (минимальное количество голов)
|
Переменная типа arr1, хранит в себе результат работы подпрограммы – запись с информацией о футболисте
|
Переменная типа integer, хранит в себе преобразованный в формат целого числа запрос (минимальное количество голов)
| h njmcEiQSJz/c4UcqwOpDe6JkCe773+QRj82LWkoqnLqc+m8r5gQl6pPBtj7vj0ZxTNNlND4b4MUd ahaHGrPSl4C09HHHWJ6OER9Ud5QO9BMuiHl8FVXMcHw7p6E7XoZmF+CC4WI+TyAcTMvCjXmwPLqO LMWee6yfmLNtYwZs6Vvo5pNNjvqzwUZLA/NVAFmm5o2FbqraEoBDnXq6XUBxaxzeE2q/Jme/AQAA //8DAFBLAwQUAAYACAAAACEAcRs7leIAAAAKAQAADwAAAGRycy9kb3ducmV2LnhtbEyPwU7DMBBE 70j8g7WVuFG7pYmSEKeqIlVICA4tvXDbxG4SNV6H2G0DX485leNqnmbe5uvJ9OyiR9dZkrCYC2Ca aqs6aiQcPraPCTDnkRT2lrSEb+1gXdzf5Zgpe6Wdvux9w0IJuQwltN4PGeeubrVBN7eDppAd7WjQ h3NsuBrxGspNz5dCxNxgR2GhxUGXra5P+7OR8Fpu33FXLU3y05cvb8fN8HX4jKR8mE2bZ2BeT/4G w59+UIciOFX2TMqxXkIUxYuASkhFDCwA6eopBVYFMlkJ4EXO/79Q/AIAAP//AwBQSwECLQAUAAYA CAAAACEAtoM4kv4AAADhAQAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNdLnhtbFBL AQItABQABgAIAAAAIQA4/SH/1gAAAJQBAAALAAAAAAAAAAAAAAAAAC8BAABfcmVscy8ucmVsc1BL AQItABQABgAIAAAAIQB4QDaNkAIAAG4FAAAOAAAAAAAAAAAAAAAAAC4CAABkcnMvZTJvRG9jLnht bFBLAQItABQABgAIAAAAIQBxGzuV4gAAAAoBAAAPAAAAAAAAAAAAAAAAAOoEAABkcnMvZG93bnJl di54bWxQSwUGAAAAAAQABADzAAAA+QUAAAAA " filled="f" stroked="f" strokeweight=".5pt"> Переменная типа integer, хранит в себе число элементов в промежуточном массиве
| Переменная типа arr1, хранит в себе результат работы подпрограммы – запись с информацией о футболисте
| Переменная типа arr, хранит в себе результат работы программы – запись с информацией о футболисте
| Переменная типа integer, хранит в себе число элементов в результирующем массиве
| Переменная типа integer, счётчик циклов
| Переменная типа integer, служит для хранения промежуточных данных
| Переменная типа name, хранит в себе запись, считанную из файла
| Переменная типа integer, хранит в себе число элементов в результирующем массиве
| Переменная типа arr, хранит в себе результат работы программы – запись с информацией о футболисте
| Переменная типа integer, счётчик циклов
| Переменная типа boolean, определяет, найдены ли фамилия и инициалы футболиста в соответствии с его кодом
| Переменная типа komands, хранит в себе запись, считанную из файла
| e OZwSLCROfrjDj1SA2YdWomQF7vvf9BGPzYtWSiqcupz6b2vmBCXqk8G2ft8fDuOYpsNwNB7gwR1b FscWs9ZzwLL0ccdYnsSID6oTpQP9hAtiFl9FEzMc385p6MR5aHYBLhguZrMEwsG0LNyYB8sjdaxS 7LnH+ok52zZmwJa+hW4+2eRFfzbYeNPAbB1Alql5Y6KbrLYFwKFO7d8uoLg1js8JdViT098AAAD/ /wMAUEsDBBQABgAIAAAAIQDvo9L04wAAAA0BAAAPAAAAZHJzL2Rvd25yZXYueG1sTI/NTsMwEITv SLyDtUjcqJNAShriVFWkCqmCQ0sv3Jx4m0T4J8RuG/r0bE9w3JlPszPFcjKanXD0vbMC4lkEDG3j VG9bAfuP9UMGzAdpldTOooAf9LAsb28KmSt3tls87ULLKMT6XAroQhhyzn3ToZF+5ga05B3caGSg c2y5GuWZwo3mSRTNuZG9pQ+dHLDqsPnaHY2ATbV+l9s6MdlFV69vh9Xwvf9Mhbi/m1YvwAJO4Q+G a32qDiV1qt3RKs+0gDTNEkLJSBZxDIyQxdNVqkl6zJ7nwMuC/19R/gIAAP//AwBQSwECLQAUAAYA CAAAACEAtoM4kv4AAADhAQAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNdLnhtbFBL AQItABQABgAIAAAAIQA4/SH/1gAAAJQBAAALAAAAAAAAAAAAAAAAAC8BAABfcmVscy8ucmVsc1BL AQItABQABgAIAAAAIQBaYwqTjwIAAG4FAAAOAAAAAAAAAAAAAAAAAC4CAABkcnMvZTJvRG9jLnht bFBLAQItABQABgAIAAAAIQDvo9L04wAAAA0BAAAPAAAAAAAAAAAAAAAAAOkEAABkcnMvZG93bnJl di54bWxQSwUGAAAAAAQABADzAAAA+QUAAAAA " filled="f" stroked="f" strokeweight=".5pt"> Переменная типа integer, хранит в себе число элементов в результирующем массиве
| B 74SnKaFG0uTjLX20Aao+dBJnC/Df/3Yf8URe0nJW09TlPHxbCq84M58s0fp0eBRpiOlwdHwyooPf 18z3NXZZXQC1ZUg7xskkRjyaXtQeqkdaELP4KqmElfR2zrEXL7DdBbRgpJrNEogG0wm8tvdORtex S5FzD82j8K4jJhKlb6CfTzF5wc8WGy0tzJYIukzkjYVuq9o1gIY60b9bQHFr7J8Tarcmp78BAAD/ /wMAUEsDBBQABgAIAAAAIQDSvGE54QAAAAsBAAAPAAAAZHJzL2Rvd25yZXYueG1sTI9NS8NAEIbv gv9hGcGb3RhMusRsSgkUQeyhtRdvm+w0Ce5HzG7b6K/veNLjvPPwzjPlaraGnXEKg3cSHhcJMHSt 14PrJBzeNw8CWIjKaWW8QwnfGGBV3d6UqtD+4nZ43seOUYkLhZLQxzgWnIe2R6vCwo/oaHf0k1WR xqnjelIXKreGp0mSc6sGRxd6NWLdY/u5P1kJr/Vmq3ZNasWPqV/ejuvx6/CRSXl/N6+fgUWc4x8M v/qkDhU5Nf7kdGBGQiryjFAJeSKWwIjIngQlDSV5tgRelfz/D9UVAAD//wMAUEsBAi0AFAAGAAgA AAAhALaDOJL+AAAA4QEAABMAAAAAAAAAAAAAAAAAAAAAAFtDb250ZW50X1R5cGVzXS54bWxQSwEC LQAUAAYACAAAACEAOP0h/9YAAACUAQAACwAAAAAAAAAAAAAAAAAvAQAAX3JlbHMvLnJlbHNQSwEC LQAUAAYACAAAACEAdaXuQ48CAABuBQAADgAAAAAAAAAAAAAAAAAuAgAAZHJzL2Uyb0RvYy54bWxQ SwECLQAUAAYACAAAACEA0rxhOeEAAAALAQAADwAAAAAAAAAAAAAAAADpBAAAZHJzL2Rvd25yZXYu eG1sUEsFBgAAAAAEAAQA8wAAAPcFAAAAAA== " filled="f" stroked="f" strokeweight=".5pt"> Переменная типа boolean, хранит в себе результат проверки на наличие футболистов, удовлетворяющих запросу
|
Переменная типа arr, хранит в себе результат работы программы – запись с информацией о футболисте
| d czglWEic/HCLH6kAsw+tRMkK3Pe/6SMemxetlFQ4dTn139bMCUrUJ4NtPe2PRnFM02E0Ph3gwR1b lscWs9YXgGXp446xPIkRH1QnSgf6ERfEIr6KJmY4vp3T0IkXodkFuGC4WCwSCAfTsnBt7i2PrmOV Ys891I/M2bYxA7b0DXTzyWYv+rPBxpsGFusAskzNGxPdZLUtAA51av92AcWtcXxOqMOanP8GAAD/ /wMAUEsDBBQABgAIAAAAIQDKcONF4gAAAAsBAAAPAAAAZHJzL2Rvd25yZXYueG1sTI/NTsMwEITv SLyDtUjcqE1KopLGqapIFRKCQ0sv3Jx4m0T1T4jdNvD0LKdy290ZzX5TrCZr2BnH0Hsn4XEmgKFr vO5dK2H/sXlYAAtROa2MdyjhGwOsytubQuXaX9wWz7vYMgpxIVcSuhiHnPPQdGhVmPkBHWkHP1oV aR1brkd1oXBreCJExq3qHX3o1IBVh81xd7ISXqvNu9rWiV38mOrl7bAevvafqZT3d9N6CSziFK9m +MMndCiJqfYnpwMzEtLsKSErCULQQI7n+ZzK1HTJkhR4WfD/HcpfAAAA//8DAFBLAQItABQABgAI AAAAIQC2gziS/gAAAOEBAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsB Ai0AFAAGAAgAAAAhADj9If/WAAAAlAEAAAsAAAAAAAAAAAAAAAAALwEAAF9yZWxzLy5yZWxzUEsB Ai0AFAAGAAgAAAAhAKQcicaPAgAAbgUAAA4AAAAAAAAAAAAAAAAALgIAAGRycy9lMm9Eb2MueG1s UEsBAi0AFAAGAAgAAAAhAMpw40XiAAAACwEAAA8AAAAAAAAAAAAAAAAA6QQAAGRycy9kb3ducmV2 LnhtbFBLBQYAAAAABAAEAPMAAAD4BQAAAAA= " filled="f" stroked="f" strokeweight=".5pt"> Переменная типа integer, счётчик циклов
| Переменная типа arr, хранит в себе результат работы программы – запись с информацией о футболисте
| Переменная типа integer, хранит в себе число элементов в результирующем массиве
| m wx1zOCVIJE5+uMWPVIDVh06iZAnu+9/uIx6bF7WU1Dh1BfXfVswJStQng219Ojg+jmOaDscn74d4 cIeaxaHGrPQFIC0D3DGWJzHig+pF6UA/4oKYx1dRxQzHtwsaevEitLsAFwwX83kC4WBaFq7NveXR dWQp9txD88ic7RozYEvfQD+fbPqiP1tstDQwXwWQVWreWOi2qh0BONSpp7sFFLfG4Tmh9mty9hsA AP//AwBQSwMEFAAGAAgAAAAhAP04T4jjAAAACwEAAA8AAABkcnMvZG93bnJldi54bWxMj8tOwzAQ RfdI/IM1ldhR59GgNsSpqkgVEoJFSzfsJrGbRLXHIXbbwNfjrmA3ozm6c26xnoxmFzW63pKAeB4B U9RY2VMr4PCxfVwCcx5JorakBHwrB+vy/q7AXNor7dRl71sWQsjlKKDzfsg5d02nDLq5HRSF29GO Bn1Yx5bLEa8h3GieRNETN9hT+NDhoKpONaf92Qh4rbbvuKsTs/zR1cvbcTN8HT4zIR5m0+YZmFeT /4Phph/UoQxOtT2TdEwLSFZJGlABaXYbApEtVjGwWsAijlLgZcH/dyh/AQAA//8DAFBLAQItABQA BgAIAAAAIQC2gziS/gAAAOEBAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1s UEsBAi0AFAAGAAgAAAAhADj9If/WAAAAlAEAAAsAAAAAAAAAAAAAAAAALwEAAF9yZWxzLy5yZWxz UEsBAi0AFAAGAAgAAAAhANE1xIKRAgAAbgUAAA4AAAAAAAAAAAAAAAAALgIAAGRycy9lMm9Eb2Mu eG1sUEsBAi0AFAAGAAgAAAAhAP04T4jjAAAACwEAAA8AAAAAAAAAAAAAAAAA6wQAAGRycy9kb3du cmV2LnhtbFBLBQYAAAAABAAEAPMAAAD7BQAAAAA= " filled="f" stroked="f" strokeweight=".5pt"> Переменная типа integer, служит для хранения промежуточных данных
| Переменные типа integer, счётчики циклов
| Переменная типа arr, хранит в себе результат работы программы – запись с информацией о футболисте
| Переменная типа integer, хранит в себе число элементов в результирующем массиве
| Переменная типа integer, счётчик циклов
|
Рис. 2.3 Обобщённый алгоритм задачи «Получение сведений о результативности футболистов»
Search (i, l, s, tab, t, p)
| t uWY+3DGHY4JNxtEPt/iRCrD80EuULMF9+9t9xCN7UUtJg2NXUv91xZygRH00yOt3xXgc5zQdxien Izy4Q83iUGNW+gKwLwUuGcuTGPFBDaJ0oB9xQ8zjq6hihuPbJQ2DeBG6ZYAbhov5PIFwMi0L1+be 8ug6timS7qF9ZM72zAzI6RsYBpRNnxG0w0ZLA/NVAFkn9sZKd1XtO4BTnUjdb6C4Ng7PCbXfk7Pf AAAA//8DAFBLAwQUAAYACAAAACEAxX7FTuQAAAANAQAADwAAAGRycy9kb3ducmV2LnhtbEyPy27C MBBF95X6D9ZU6q7YJDxDHIQioUpVWUDZdOfEQxIRj9PYQNqvr1m1y5l7dOdMuh5My67Yu8aShPFI AEMqrW6oknD82L4sgDmvSKvWEkr4Rgfr7PEhVYm2N9rj9eArFkrIJUpC7X2XcO7KGo1yI9shhexk e6N8GPuK617dQrlpeSTEjBvVULhQqw7zGsvz4WIkvOXbndoXkVn8tPnr+2nTfR0/p1I+Pw2bFTCP g/+D4a4f1CELToW9kHaslRCL2TygIRhHIgYWkOlkOQFW3FfzeAk8S/n/L7JfAAAA//8DAFBLAQIt ABQABgAIAAAAIQC2gziS/gAAAOEBAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10u eG1sUEsBAi0AFAAGAAgAAAAhADj9If/WAAAAlAEAAAsAAAAAAAAAAAAAAAAALwEAAF9yZWxzLy5y ZWxzUEsBAi0AFAAGAAgAAAAhAB7DFp6TAgAAbwUAAA4AAAAAAAAAAAAAAAAALgIAAGRycy9lMm9E b2MueG1sUEsBAi0AFAAGAAgAAAAhAMV+xU7kAAAADQEAAA8AAAAAAAAAAAAAAAAA7QQAAGRycy9k b3ducmV2LnhtbFBLBQYAAAAABAAEAPMAAAD+BQAAAAA= " filled="f" stroked="f" strokeweight=".5pt"> Нет футболистов, забивших столько голов
| 5 3BLsMW5+uMWPVIDlh46iZAnu+9/4EY/Di1JKaty6gvpvK+YEJeqTwbGeDE5O4pqmx8loPMSHO5Qs DiVmpS8A+zLAG2N5IiM+qJ6UDvQjHoh59IoiZjj6LmjoyYvQ3gI8MFzM5wmEi2lZuDb3lkfTsU1x 6B6aR+ZsN5kBR/oG+v1k0xcD2mKjpoH5KoCs0vTGSrdV7TqAS53mvztA8WocvhNqfyZnvwEAAP// AwBQSwMEFAAGAAgAAAAhAO+/oXjiAAAACwEAAA8AAABkcnMvZG93bnJldi54bWxMj8FOwzAQRO9I /IO1SNyo05aENMSpqkgVEoJDSy/cNrGbRMTrELtt4OtZTnCb0Y5m3+TryfbibEbfOVIwn0UgDNVO d9QoOLxt71IQPiBp7B0ZBV/Gw7q4vsox0+5CO3Peh0ZwCfkMFbQhDJmUvm6NRT9zgyG+Hd1oMbAd G6lHvHC57eUiihJpsSP+0OJgytbUH/uTVfBcbl9xVy1s+t2XTy/HzfB5eI+Vur2ZNo8ggpnCXxh+ 8RkdCmaq3Im0F72C+H7F6EFBsnxgwYkkXvK6ikU6X4Escvl/Q/EDAAD//wMAUEsBAi0AFAAGAAgA AAAhALaDOJL+AAAA4QEAABMAAAAAAAAAAAAAAAAAAAAAAFtDb250ZW50X1R5cGVzXS54bWxQSwEC LQAUAAYACAAAACEAOP0h/9YAAACUAQAACwAAAAAAAAAAAAAAAAAvAQAAX3JlbHMvLnJlbHNQSwEC LQAUAAYACAAAACEAdNgceI4CAABuBQAADgAAAAAAAAAAAAAAAAAuAgAAZHJzL2Uyb0RvYy54bWxQ SwECLQAUAAYACAAAACEA77+heOIAAAALAQAADwAAAAAAAAAAAAAAAADoBAAAZHJzL2Rvd25yZXYu eG1sUEsFBgAAAAAEAAQA8wAAAPcFAAAAAA== " filled="f" stroked="f" strokeweight=".5pt">
Есть символы отличные от цифр
| Запрос должен состоять только из цифр. Попробуйте снова
| Значение не может быть отрицательным.
Попробуйте снова.
| Ничего не введено. Попробуйте снова.
| f=true;
Преобразование запроса в целое число
| Рис. 2. 4 Алгоритм процедуры ввода запроса
c=c+1;
y[c].numk=x.numk; y[c].numf=x.numf; y[c].allkol=y[c].allkol+x.kol; y[c-1].allkol=y[c-1]allkol-x.kol
| not y[c].numk=x.numk
или
not y[c].numf=x.numf
| 2 OgxgJbRxnS73sx+l4F38QYGu7yjBlal2adJJGljSNKb+Q8VfcPed4Mdvv/gNAAD//wMAUEsDBBQA BgAIAAAAIQDun3aF3QAAAAsBAAAPAAAAZHJzL2Rvd25yZXYueG1sTI/LTsMwEEX3SPyDNUhsEHVK S2uFOBWiAgmxItC9Gw9xRDwOttuGv2dYwXLuHN1HtZn8II4YUx9Iw3xWgEBqg+2p0/D+9nitQKRs yJohEGr4xgSb+vysMqUNJ3rFY5M7wSaUSqPB5TyWUqbWoTdpFkYk/n2E6E3mM3bSRnNicz/Im6JY SW964gRnRnxw2H42B88hO4pd83z79dLn7ZXzo9+q7knry4vp/g5Exin/wfBbn6tDzZ324UA2iUHD Si0XjGpYq8UcBBOsLEHsNSiWQNaV/L+h/gEAAP//AwBQSwECLQAUAAYACAAAACEAtoM4kv4AAADh AQAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNdLnhtbFBLAQItABQABgAIAAAAIQA4 /SH/1gAAAJQBAAALAAAAAAAAAAAAAAAAAC8BAABfcmVscy8ucmVsc1BLAQItABQABgAIAAAAIQB9 nY5GFAIAAD4EAAAOAAAAAAAAAAAAAAAAAC4CAABkcnMvZTJvRG9jLnhtbFBLAQItABQABgAIAAAA IQDun3aF3QAAAAsBAAAPAAAAAAAAAAAAAAAAAG4EAABkcnMvZG93bnJldi54bWxQSwUGAAAAAAQA BADzAAAAeAUAAAAA " strokecolor="black [3213]" strokeweight="1pt"/> y[c].allkol=y[c]allkol+x.kol
| c=1;
y[c].allkol=x.kol; y[c].numk=x.numk; y[c].numf=x.numf;
| Открытие файла для чтения
| Рис. 2.5 Алгоритм процедуры обработки первого файла - вычисление общего количества голов по футболистам
В списке нет футболистов, забивших столько голов.
| d AAAACwEAAA8AAABkcnMvZG93bnJldi54bWxMj8tOwzAQRfdI/IM1SOyoQyOaEOJUFVI/oAWpYufa kwfY48h2mvTvMWIBy5k5unNuvV2sYRf0YXAk4HGVAUNSTg/UCXh/2z+UwEKUpKVxhAKuGGDb3N7U stJupgNejrFjKYRCJQX0MY4V50H1aGVYuREp3VrnrYxp9B3XXs4p3Bq+zrINt3Kg9KGXI772qL6O kxXwkc1m+lTtXuXyeqLDzha+tULc3y27F2ARl/gHw49+UocmOZ3dRDowI+CpLPKECsg3+TOwRPxu zgKKcp0Db2r+v0PzDQAA//8DAFBLAQItABQABgAIAAAAIQC2gziS/gAAAOEBAAATAAAAAAAAAAAA AAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAi0AFAAGAAgAAAAhADj9If/WAAAAlAEAAAsA AAAAAAAAAAAAAAAALwEAAF9yZWxzLy5yZWxzUEsBAi0AFAAGAAgAAAAhAIgqRXEHAgAAMwQAAA4A AAAAAAAAAAAAAAAALgIAAGRycy9lMm9Eb2MueG1sUEsBAi0AFAAGAAgAAAAhAKkbwiPdAAAACwEA AA8AAAAAAAAAAAAAAAAAYQQAAGRycy9kb3ducmV2LnhtbFBLBQYAAAAABAAEAPMAAABrBQAAAAA= " strokecolor="black [3213]" strokeweight="1pt"/> u=u+1;
z_tablica[u].allkol=y[i].allkol;
z_tablica[u].numf=y[i].numf;
z_tablica[u].numk=y[i].numk
| Рис. 2.6 Алгоритм процедуры получения кодов футболистов в соответствие с запросом
y ZXYueG1sUEsFBgAAAAAEAAQA8wAAAPoFAAAAAA== " filled="f" stroked="f" strokeweight=".5pt"> f1=true;
z_tablica[i].namef=x.namef
| z_tablica[i].numk=x.numk
и
z_tablica[i].numf=x.numf
| Открытие файла для чтения
| Рис. 2.7 Алгоритм процедуры обработки второго файла – выбор имён футболистов
Открытие файла для чтения
| Рис. 2.8 Алгоритм процедуры обработки третьего файла – выбор названий команд футболистов
3. z_tablica[i].namekom= x.namekom
| Описание программы
|