|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
Новичок
Регистрация: 23.02.2010
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() ферзя на шахматной доске буквой «Ф» и символом «*» те клетки шахматной доски, которые находятся под боем ферзя. Подсказка. Шахматную доску представить в виде двумерного массива размером 8*8. Задание: Разработать алгоритм и изобразить блок-схему вывода на экран монитора (печать) схемы шахматной доски с отмеченным положением ферзя в виде буквы «Ф» и отмеченных символом «*» клеток, находящихся под боем ферзя. Входные данные:Координаты ферзя (вводятся с клавиатуры). Выходные данные:Вывести на экран монитора (распечатать) схему шахматной доски в виде двумерного массива с обозначенными номерами строк, буквенными обозначениями столбцов, отмеченным положением ферзя в виде буквы «Ф» и отмеченных символом «*» клеток, находящихся под боем ферзя. Остальные клетки пометить символом «0». |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Дам вам темы которые по своему содержанию напоминают ваш топик Пожалуйста, помогите написать программку. Pascal Free Ребят, помогите, пожалуйста, с Pascal Помогите, пожалуйста, решить три задачи по Pascal Помогите пожалуйста со строками в Pascal Помогите, пожалуйста, написать программу на Object Pascal |
![]() |
#2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
Пожалуйста. Единственное, во избежание путаницы с кодировками, я обозначил ферзя латинской буквой F, а не кириллической Ф. Пояснение - в первой части программы вводится положение ферзя в стандартной шахматной нотации, при этом отрабатываются как заглавные, так и строчные обозначения вертикалей (можно вводить и те, и другие). Учитывается также принятая нумерация горизонталей "снизу вверх". Блок-схемы, извините, не умею, тут уж Вы сами. А массив не понадобился.
Код:
VAR t:CHAR; i,j,Iq,Jq:INTEGER; BEGIN WriteLn('Enter the Queen position, e.g. a2, c5, D2 etc. :'); Read(t); ReadLn(Iq); Iq:=9-Iq; Jq:=ORD(t); IF Jq<73 THEN Jq:=Jq-64 ELSE Jq:=Jq-96; WriteLn; FOR i:=1 TO 8 DO begin Write(9-i:2,' '); FOR j:=1 TO 8 DO if (i=Iq) and (j=Jq) then Write(' F ') else if ((i=Iq) and (j<>Jq)) or ((i<>Iq) and (j=Jq)) or (ABS(i-Iq)=ABS(j-Jq)) then Write(' * ') else Write(' 0 '); WriteLn; end; Write(' '); For j:=1 to 8 do Write(' ',CHR(j+64),' '); WriteLn; ReadLn; END. |
![]() |
![]() |
![]() |
#4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
Да, строчку с Qpos в описании переменных можно убрать - она осталась от другого варианта. Я поправил в тексте.
|
![]() |
![]() |
![]() |
#5 (permalink) | |
Member
Регистрация: 04.06.2009
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 37
|
![]()
У меня тут тоже кое-что есть:
Цитата:
Последний раз редактировалось SGE; 01.03.2010 в 22:10 |
|
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|