|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Помогите решить программку на паскале |
|
Разное - [решено] Помогите решить программку на паскале
|
Новый участник Сообщения: 8 |
Вывести на экран символ, предшествующий первому вхождению буквы «а» или сообщить о том, что буквы «а» нет в предложении.
|
|
Отправлено: 17:45, 07-05-2013 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата grethin999:
|
|
Отправлено: 18:21, 07-05-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1404
|
Профиль | Отправить PM | Цитировать Буква «а» означает, что тип данных языка программирования должен быть строковым. Сперва выясняем, каким образом на паскале объявляется строковый тип данных.
Устанавливаем среду для разработки, например, fpc. Скачать эту среду можно по ссылке http://sourceforge.net/projects/freepascal/files/ выбрав Download fpc-2.6.2.i386-win32.exe (41.2 MB) Запускаем скачанный файл и устанавливаем. Заходим в папку doc и открываем документацию. Логично предположить что справочник по языку содержиться в файле ref.pdf (от англ. reference ) Открываем файл ref.pdf c помощью Adobe Acrobat Reader. Скачивается по ссылке: http://get.adobe.com/reader/ Нужно выяснить структуру исходного кода на языке паскаль. Для этого заходим в папку examples. Выбираем папку opengl и открываем файл morph3d.pp . Бегло просмотриваем. Возвращаемся к файлу ref.pdf и открываем раздел types (англ. типы). Интересует Character types (англ. символьные типы), далее strings (по англ. string это строка, а нужен строковый тип данных) С англ binary (двоичные исполняемые файлы) сокращается до bin. Заходим и директорюи bin, даее в i386-win32 . i386 это платформа, а win32 это операционная система. Запускаем fp.exe В меню выбираем File - New. В начале должно быть program название_программы ; например, Тело программы заключается в begin( англ. начало), end (англ. конец) Переменные объявляются перед телом программы в разделе var. Заглядываем в пример в документации в файле ref.pdf и видим пример Type используется для объявления пользовательского типа данных. NameString это название нового типа данных String[10] это составляющие этого типа, массива из 10 строк. Можно упростить до следующего объявления, так как достаточно одной строки: Можно проверить правильность компилирования с помощью функции writeln Вбиваем простейшую программу: Программа скомпилировалась и выполнилась. Для компилирования выбираем в меню Compile - пункт меню Compile Для запуска выбираем в меню Run - пункт меню Run. Результат выполнения можно посмотреть выбрав в меню Debug пункт Output (с англ. переводится как вывод) Возвращаемся к окну программы. Меняем программу на следующую: program a; type namestring = string; var bc : namestring; begin bc := 'qweertyui'; writeln(bc); end. Оператором присваивания значения переменной является := Теперь нужно узнать как создается цикл. В файле ref.pdf открываем раздел Statements - Structured Statements - The For ..in.. do statement где можно посмотреть примеры кода. Раз тип строковый, то элементом строкового типа является символ (англ. char) В разделе var вводим новую переменную которая будет посимвольно выводить строку в цикле следующим образом Для того, чтобы сравнить символы нужно узнать, каким будет условный оператор. В файле ref.pdf раздел Statements - Structured Statements - The if..then..else statement Нужна еще одна переменная типа символ для того, чтобы в ней хранить значение смивола который является предыдущим. program a; type namestring = string; var i : char; j : char; bc : namestring; begin bc := 'qweertyui'; for i in bc do begin writeln(i); if i = 'a' then writeln (': ' + j); j:= i; end; end. program a; type namestring = string; var i : char; j : char; k : integer; bc : namestring; begin bc := 'qweertyui'; k := 0; for i in bc do begin writeln(i); if i = 'a' then begin writeln (': ' + j); k : = 1; end j:= i; end; if k = 0 then writeln ('no'); end. program a; type namestring = string; var i : char; j : char; k : integer; l : integer; bc : namestring; begin bc := 'aqweertyui'; k := 0; l : = 0; for i in bc do begin writeln(i); if i = 'a' then begin if l <> 0 then writeln (': ' + j); k : = 1; l := 1; end j:= i; end; if k = 0 then writeln ('no'); end. Извините, если путано. Старался объяснить подробно, как умел. |
------- Отправлено: 21:07, 07-05-2013 | #3 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать mrcnn, и не лень тебе было ...
|
Отправлено: 22:41, 07-05-2013 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата lxa85:
![]() |
||
Отправлено: 06:05, 08-05-2013 | #5 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Большое спасибо за помощь
|
Отправлено: 15:14, 08-05-2013 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - Помогите решить задачу на Си | friter | Программирование и базы данных | 16 | 21-01-2019 19:17 | |
C/C++ - ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ НА С++ | delfi | Программирование и базы данных | 1 | 12-05-2011 20:19 | |
Assm - Помогите решить задание на ассемблере | Wild_cat | Программирование и базы данных | 3 | 10-03-2009 09:49 | |
Разное - помогите решить задачи на QBasic | rockman90 | Программирование и базы данных | 1 | 28-12-2007 18:34 |
|